
A food directory the community owns.
Find food near you.
MidcoastFood.ME is a searchable, mapped directory of free and local food resources across Maine — built for Midcoast Solidarity so the people who run it own the data outright, no funder required.

Everyone deserves good food.
In Midcoast Maine, the information about where to find a free meal was real but scattered — taped to church doors, buried in PDFs, passed along phone trees. If you needed it, you had to already know someone who knew.
Midcoast Solidarity, a local mutual-aid group, wanted one place that was current, trustworthy, and theirs — not a directory rented from a vendor who could pull the plug, raise the price, or quietly mine the data. So we built exactly that: a platform the organizers own, that volunteers can keep accurate, and that costs almost nothing to run.
“We are all responsible for all.”
— the line MidcoastFood.ME is built around
A directory you can actually use.

The homepage. Six color-coded categories, live counts, and one big invitation — find food, or help feed your community.

Every resource, in plain language. Hours, eligibility, what the place offers, and one-tap directions.

Two-sided by design. The same platform that helps you find food helps you volunteer, host, or correct it.
Built first-party, built to last.
Every architectural decision answered the same question: will this still be standing, and still be theirs, in five years? That ruled out rented platforms and ruled in a small, owned, modern stack.
Next.js 15, React 19
App Router with server components — pages are fast, indexable, and static wherever they can be. The directory renders on the server, so search engines and screen readers see the real content.
A first-party source of truth
Neon serverless Postgres with a typed Drizzle schema. The published directory is one clean table — no spreadsheets, no proprietary CMS lock-in. The data belongs to the organizers, full stop.
A review queue, not a free-for-all
Volunteer edits, business profiles, and public corrections never touch live data. Each one lands as a pending submission an approver applies or rejects — so anyone can contribute without anyone breaking the directory.
Find food three ways
Fuzzy search (Fuse.js) tolerates typos and partial names. A Leaflet map plots every geocoded resource. Filter by category, county, and accessibility — list and map stay in sync.
Private by design
Accounts are pseudonymous — a username and password, no email ever stored. Recovery runs on one-time codes or an approver-assisted community password reset. A volunteer can help out without handing over their identity.
Cheap to run, easy to keep
Hosted on Vercel, transactional email through Resend, performance watched with Speed Insights — and a built-in analytics opt-out. Running costs stay near zero, so the platform outlives any single grant cycle.
Open to contribute. Closed to chaos.
The hardest part of a community directory is staying accurate without becoming a wiki anyone can vandalize. MidcoastFood.ME splits the difference with a review queue.
Submit
Anyone adds a resource or reports a correction — no account required.
Queue
It lands as a pending submission, never a live edit to the directory.
Review
An approver checks it against the real-world resource and its hours.
Publish
Approved, it joins the directory. The source of truth stays clean.
Warm, clear, and quietly accessible.
The directory leads with calm — soft paper tones, a steady green, generous space — because someone reaching for it may be having a hard week. Nothing shouts. Everything is one tap from the next useful thing.
Six categories carry consistent colors and hand-drawn icons, so a regular learns the map at a glance. It is mobile-first by necessity — most visitors arrive on a phone — and tested against WCAG AA. Even the releases are named like the Maine coast they serve.
A platform a volunteer can trust and a funder can't capture.
The review queue and the pseudonymous accounts do quiet, serious work together: anyone can improve the directory, no one can wreck it, and no one has to surrender their identity to help. The data lives in the organizers' own database.
If the grant runs out, the vendor folds, or the maintainer changes — MidcoastFood.ME keeps working. That is the whole point of building it this way.
See it in the wild.
MidcoastFood.ME is live, growing, and tended by the community it serves. Have a project that needs to outlast its funding?