Live websiteBuilt for everyday life

Feed Our Missionaries

A meal calendar for feeding the missionaries, with no account needed to sign up.

Feed Our Missionaries: the practice calendar's month view with open, filled and unavailable dinners, and the phone sign-up form filled in for Jordan Example

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.

  1. 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.

  2. 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.

  3. 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

Sole builder.
Status and context
Status
Live
When
Nov 2026 — now
Kind
Built for everyday life

Who it’s for

Ward members who feed the missionaries, and the coordinators who keep their meal calendar.

Screens

practice calendar · fictional data
The practice calendar's home page: a dinner photograph behind “Feed Our Missionaries, choose a date, plan a meal”, above the November month view

The practice calendar's home page: a dinner photograph behind “Feed Our Missionaries, choose a date, plan a meal”, above the November month view

1 / 5