Live websiteBuilt for everyday life
Feed Our Missionaries
A meal calendar for feeding the missionaries, with no account needed to sign up.

Screens are from the app's practice calendar: the community, wards, boundaries and names are invented. An independent project, not affiliated with The Church of Jesus Christ of Latter-day Saints.
Why it matters
A public meal calendar for a stake's missionaries. Members find an open dinner, sign up in a few fields and get reminders if they leave an email. Coordinators keep the schedule for their wards, and missionaries can ask for changes without editing it themselves.
- 01
No account to sign up
A name and a phone number reserve a dinner. Add an email for reminders and a private link to change or cancel it.
- 02
The schedule follows the rules
Coordinators set the days each companionship can take meals, pause dates and block days off, and the calendar only offers the dinners that fit.
- 03
Each stake kept apart
One installation serves several stakes, and the database itself keeps each stake's records separate.
The details
Open any part for the full story.
Features6
- A full month view on desktop and a by-day list on phones, filtered by ward or missionary area.
- Host details are never shown on the public calendar: other visitors see only Filled.
- Email reminders and a private, one-use link to change or cancel a meal.
- A wards page with each ward's boundary on a map and its upcoming meal dates.
- Coordinator sign-in with passkeys or Google, and invitations by email.
- Weekly meal days, pauses and hard blocks for each companionship. Missionaries request changes, and a coordinator approves them.
How it works
- Every stake's tables use PostgreSQL row-level security, forced even for the table owner, so one stake's records can't be read from another's.
- Booking, schedule changes and slot generation share one lock, so two families can't take the same dinner and a new rule can't slip past a booking.
- Self-hosted in Docker on a home server, behind a Cloudflare tunnel, with bot protection on the public forms.
Technology
- Next.js
- React
- TypeScript
- PostgreSQL
- Tailwind CSS
- Leaflet
- Resend
- Passkeys (WebAuthn)
- Docker
Development notes
My part
Status and context
- Status
- Live
- When
- Nov 2026 — now
- Kind
- Built for everyday life
Who it’s for
Screens
The practice calendar's home page: a dinner photograph behind “Feed Our Missionaries, choose a date, plan a meal”, above the November month view







