§ masterplan.md
Hyperlocal Food Circle
A classy, minimal food-ordering site for a single neighborhood that only shows today's menu from home cooks and cloud kitchens.
01
App overview and objectives
A neighbourhood-scale food ordering site that only ever shows what is cooking today, within walking or short-ride distance. One page, today's menu, order before the cut-off. The objective is fewer choices and better food, not another endless marketplace.
02
The problem worth solving
Big delivery apps drown neighbourhood cooks in fees and search results. A single-neighbourhood site with a daily cut-off matches how home kitchens actually cook — in batches, for a known number of people.
03
Target audience
- Primary — Home cooks and tiny cloud kitchens serving a few hundred nearby households.
- Secondary — Residents who want fresh home-style food without scrolling through a thousand restaurants.
04
Roles and permissions
- Visitor — read-only public pages, can sign up.
- Member — owns their own records, cannot see other users' data.
05
Core features
- Today's menu with per-dish quantity remaining and an order cut-off countdown
- Cook profiles with kitchen photos, hygiene notes and ratings
- Guest checkout with address pinning and cash or online payment
- Order tracking states: accepted, cooking, out for delivery, delivered
- Cook dashboard to publish tomorrow's menu and cap quantities
- Community board for requests and recurring favourites
Deliberately later
- Weekly subscription meals
- Multi-neighbourhood expansion
- Rider assignment and routing
06
Technical stack
React front end, Postgres for orders and menus, realtime subscriptions for status, hosted auth for cooks.
Why: Order state changes must appear instantly for both sides; everything else is standard CRUD that a managed backend handles well.
Alternatives: A WhatsApp-and-spreadsheet operation (zero build cost, breaks past ~30 orders a day) or a full marketplace platform (over-engineered for one neighbourhood).
07
Conceptual data model
Cook — name, kitchen story, photos, service area, payout details
Dish — cook, name, description, price, allergens, photo
MenuDay — cook, date, dishes with quantity caps, cut-off time
Order — customer, items, address, total, status, timestamps
Review — order, rating, comment, cook reply
08
Integrations
- Payments
- Map and address autocomplete
- SMS or push notifications for order status
09
UI design principles
- Generous whitespace, a two-font system, and a palette of three colours at most.
- Photography and typography do the work; borders, shadows and gradients stay almost invisible.
- Every screen has one clear primary action, placed in the same spot each time.
10
Security considerations
- Customer addresses visible only to the assigned cook and only until delivery completes.
- Cook payout details stored with the payment provider, never in the app database.
- Rate-limit ordering to prevent fake-order attacks on small kitchens.
11
Development phases
Phase 1 — Prove the core
- — Today's menu with per-dish quantity remaining and an order cut-off countdown
- — Cook profiles with kitchen photos, hygiene notes and ratings
- — Guest checkout with address pinning and cash or online payment
- — Static content and design system in place
- — Basic analytics
Phase 2 — Make it real
- — Order tracking states: accepted, cooking, out for delivery, delivered
- — Cook dashboard to publish tomorrow's menu and cap quantities
- — Community board for requests and recurring favourites
- — Accounts, sign-in and password reset
- — Empty, loading and error states everywhere
Phase 3 — Polish and launch
- — Performance, accessibility and SEO pass
- — Legal pages, contact route and 404 handling
- — Wire up: Payments
- — Wire up: Map and address autocomplete
Phase 4 — Grow
- — Weekly subscription meals
- — Multi-neighbourhood expansion
- — Rider assignment and routing
12
Challenges and solutions
Risk — Empty-menu days kill the habit
Solution — Guarantee a minimum number of publishing cooks per day before launch; show tomorrow's menu when today sells out.
Risk — Food safety complaints
Solution — Mandatory hygiene checklist per cook, visible on the profile, plus a fast complaint path.
Risk — Delivery logistics
Solution — Start with cook-delivered or customer pickup only; add riders once volume justifies it.
13
Future expansion
- Neighbourhood franchise model
- Catering for small events
- Ingredient group-buying for cooks
14
Page list (13 pages)
- 01 PUBLIC Today's Menu — The whole product: what is cooking, how much is left, when ordering closes.
- 02 PUBLIC Cooks — Who is behind each kitchen, with photos and ratings.
- 03 APP (signed in) Order — Cart, address and payment in one short flow.
- 04 APP (signed in) Track — Live status for an active order.
- 05 PUBLIC Community — Requests, feedback and recurring favourites.
- 06 AUTH Sign up — Create an account with email or a social provider.
- 07 AUTH Log in — Return to the account, with error and lockout states.
- 08 AUTH Reset password — Request a reset link and set a new password.
- 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
- 10 PUBLIC Contact — Contact form plus real address, phone and email.
- 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
- 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
- 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.
15
Page map
PUBLIC AUTH APP (signed in) LEGAL & SYSTEM ─────────────── ───────────────── ─────────────────── ─────────────────── ├─ Today's Menu ├─ Sign up ├─ Order ├─ Privacy policy ├─ Cooks ├─ Log in ├─ Track ├─ Terms of service ├─ Community └─ Reset password └─ Account settings └─ 404 not found └─ Contact key flows: Today's Menu ──▶ Order Order ──▶ Track Cooks ──▶ Today's Menu Track ──▶ Community
