MADA Volunteers
Bilingual volunteer portal — browse programs, book shifts, track your hours
Volunteers browse a charity's programs, filter opportunities by region, task and time, and book dated shifts with live capacity. A personal dashboard tracks hours and recurring commitments; coordinators get a full admin area. English and French.
The public site is a server-rendered TypeScript app. Behind it sits a separate API server — the only tier allowed to talk to the organization's existing CRM, where volunteer records actually live. The API keeps a cache of the CRM data, so browsing and booking stay fast even when the CRM is slow, and the CRM remains the single source of truth. Sign-in works with email links, passwords or Google.
Every opportunity carries a capacity and a filled count, so "3 spots left" is always real. Booking confirms instantly, lands on the volunteer's dashboard next to their hours and history, and triggers automatic emails — a reminder the day before, another an hour before, and a thank-you after the shift. Group leaders can book a whole family or corporate team in one go, and "regular days" turn a one-off into a weekly commitment.
Coordinators run the operation from an admin area: a weekly schedule board, rosters, an opportunity editor, a volunteer CRM view, reports and a kiosk check-in screen for the front desk. Roles go from volunteer to super-admin, coordinators can preview the site as a volunteer, and the whole thing — pages, emails, admin — exists in English and French.
What you get with a project like this
- Search and filters that get a visitor from "I want to help" to a booked shift in minutes
- Live capacity on every shift — no overbooking, no spreadsheets
- A volunteer dashboard: next shift, hours contributed, history, recurring days
- Automatic reminder and thank-you emails
- Group bookings for families and corporate teams
- A full admin area: schedule board, rosters, reports, kiosk check-in
- Your existing CRM stays the single source of truth
- English and French throughout
Every moving part, in plain language.
Follow the arrows from the person using it to where the data lives. Hover any box to see what it talks to.
Where opportunities are browsed and shifts are booked.
Points visitors to the right server and encrypts the connection.
Draws every page in the visitor's language.
The only thing allowed to talk to the CRM. Keeps a cache so pages stay fast.
Accounts, bookings and sessions.
Volunteer records live here — the portal reads and writes through the API only.
Sends confirmations, reminders and thank-yous.
What it costs to keep this online.
Building is a one-time price. Running it is a separate, usually tiny, monthly amount — here is where every dollar goes.
| Part | Per month | Notes |
|---|---|---|
Server One small cloud machine runs both the site and the API. | $12 | One small cloud machine runs both the site and the API. |
Database & sign-in Managed SQL database with daily backups. | $25 | Managed SQL database with daily backups. |
Emails Transactional email service for reminders and confirmations. | $20 | Transactional email service for reminders and confirmations. |
Domain name About $12 per year. | $1 | About $12 per year. |
| Total | ≈ $58 / month | |
Full-size demo.
Want something like this?
Describe what is different about your situation and you will get an honest range and a plan.
Tell me about your project

