StealThis .dev
Pages Medium

Nonprofit — Volunteer Signup

A warm, hopeful volunteer recruitment page for a fictional charity. Browse open roles as photo cards showing cause, skills, schedule, location and a live spots-left bar that shifts amber when seats run low and red when a role is fully staffed. Chip filters narrow by cause, time commitment and on-site versus remote, with an instant text search. Clicking a card slides open a detail drawer with an apply form — validated availability, interests and contact fields — confirmed through a small toast, all self-contained vanilla JS.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Volunteer Signup

A get-involved page for the fictional Riverline Hope community foundation, built in the warm, human nonprofit palette — mission teal-green, a donate-orange accent and a humane Fraunces serif over Inter. The hero pairs a clear call to browse roles with transparency cues: animated impact counters (active volunteers, hours given, meals served) and trust badges for registered-charity status, background-checked roles and certified hours. Each open opportunity renders as a photo card showing its cause tag, hosting organization, location, schedule and required skills, plus a live capacity bar that turns amber when only a few spots remain and red when a role is fully staffed.

Chip filters narrow the list by cause, time commitment (one-time, weekly, flexible) and on-site versus remote, and a text search matches across titles, skills and neighborhoods in real time. A clear-filters control and a friendly empty state appear when no roles match. Clicking any card slides open a right-hand detail drawer with the full description, a what-you-will-do checklist and an apply form.

The apply form validates a name, a real email address and at least one availability window, surfacing inline errors and a warning toast on failure. A successful submission decrements the role’s remaining spots, swaps the form for a personalized thank-you, and confirms with a success toast — automatically offering a waitlist instead when the role is already full. The drawer closes on the scrim, the close button or the Escape key, returning focus to the card that opened it, and the whole layout collapses cleanly to a single column down to 360px.

Illustrative UI only — fictional organization, not a real charity or donation system.