GBC Help Board
A private help board for a Windsor church family - members ask for a hand, approved helpers offer, and the first to offer is matched, with the privacy rules enforced in the database rather than the interface.

Grace Bible Church had people willing to help and people who needed it, and a volunteer coordinating the two by hand in a spreadsheet. We built them a board. A member posts a request - yard work, moving, a ride, childcare, tech help - and every approved helper is emailed without being told who asked. The first helper to offer is matched atomically, and only those two people are introduced to each other. Nobody else ever learns who helped whom. The church office sees everything. The hard part was not the interface: it was making sure a bug in the interface could not leak anything, so the privacy rules live in Postgres as row-level security, a restricted view and locked-down SQL functions, verified by a scripted check covering twenty-three cases.
- Portals: helper, requester, admin
- 3Portals: helper, requester, admin
- Privacy cases verified by script
- 23Privacy cases verified by script
- Request categories, rides to childcare
- 10Request categories, rides to childcare
What shipped, screen by screen
Helpers never see who asked
A helper browsing the board sees the task, the area and the contribution, and nothing that identifies the person. That is not a UI decision: helpers read a separate database view that has no requester column in it at all, behind row-level security that checks their account on every query. A mistake in the front end has nothing to leak.
- Restricted Postgres view, no requester identity
- Row-level security on every table
- 23-case scripted check on the rules

First to offer, and only then introduced
Offering to help runs through a single conditional update inside the database, so two people tapping at the same moment cannot both win and the loser is told immediately. The match introduces exactly two people to each other by email. If plans change the helper can step back, and the request returns to the board.
- Atomic accept, no double-booking
- Contact details revealed to the matched pair only
- Step back reopens the request and re-notifies

The office sees what nobody else can
Admins get the whole picture that the privacy rules deny everyone else: who asked, who offered, and every state change as an audit trail written by a database trigger. They invite helpers by email, grant and revoke access, and step in to unmatch, reopen or cancel a request. Seven transactional emails keep everyone informed without anyone needing to check the site.
- Full activity trail from database triggers
- Invite-only helper accounts, revocable
- 7 notification emails across the lifecycle

More projects

Tender Dental Care
A ground-up rebuild for a Burton, Michigan dental practice - 52 pages covering 26 treatments and seven surrounding towns, written to answer every question a patient has before they pick up the phone.

Coatings Management Corp
The complete web presence for a four-facility, 65-year-old American metal-finishing operation - design, positioning, and 20+ pages of engineering-grade content, built from the ground up.

Big Red Builds
A bold, industrial marketing site for a Windsor-Essex construction company - brand, design system, and site, built from the ground up.
Have a project in mind?
Tell us what you're building. We'll get back to you shortly with next steps - no obligation.