GoServe roadmap
updated 23:03 · 266 of 374 stories done
Vision
Delivered
investor doorway site (letsdwelo.in) 4 done · 11 Oct to 13 Oct
- Every lead from the investor site is saved and sent to us at once, so no lead is lost.
- The lead alert on Telegram and the saved lead show every field, not blanks.
- Every lead alert comes from our own bot, GoServeBot.
- Delhi is the first city on the site, and every colour and font has one home.
architecture evolution and procurement plan 5 done · 11 Oct to 13 Oct
- There is one place for every learning and mistake, and the process uses it.
- There is one list of every part of the system, by phase.
- Investors can see how GoServe grows from a demo to a city, one page, one phase at a time.
- Before the first build, every missing part is known, and the options for each are written down.
- Before every MVP phase there is a gate: we stop and check that the setup is ready.
App foundation and build and deploy 4 done · 14 Oct to 14 Oct
The app has a home, its checks, and its two deploy paths.
- The app exists, installs on a phone, and uses the brand's colours from one file.
- Every change to the app is checked by a machine before anyone can merge it.
- Every push to the dev branch gives the owner a live dev site to look at.
- A release to main puts the app on its public address by itself.
Data layer (Supabase) 2 done · 14 Oct to 14 Oct
The database holds the order and refuses illegal steps.
- The database has the seven tables the order needs, and refuses an illegal order step.
- Each person sees only their own data, the kitchen sees new orders live, and Delhi has a sample menu.
Order API (n8n GS workflows) 3 done · 14 Oct to 14 Oct
The workflows place orders, change status, decide and log.
- An order can be placed and moved through its steps by the workflows, with every step logged.
- The system suggests a decision on each order and keeps a log of what it decided.
- The owner gets a daily scorecard on Telegram without asking.
Screens (customer, kitchen, rider, ops) 5 done · 14 Oct to 22 Oct
Customer, kitchen, rider and ops each have a screen in one app.
- A customer can open the menu, fill a cart, see the bill and place an order.
- The kitchen sees live orders and moves each one with Accept, Start and Ready.
- The rider walks the delivery steps, and the customer sees the status up to Delivered.
- The founder sees the system's suggestion and the day's numbers on one ops screen.
- Customer, kitchen, rider and ops each get their own installable app, from one codebase.
Demo safety net 3 done · 14 Oct to 14 Oct
The pitch cannot fail: autopilot, split view, reset and a health page.
- The demo shows all four roles side by side, each in its own space, with a reset.
- The demo plays by itself even with no internet.
- One page shows whether Supabase, n8n and Jev are up, before a demo.
Monitoring and demo readiness 3 done · 22 Oct to 29 Oct
Monitors watch the app, and the demo was rehearsed and recorded.
- A monitor watches dev and prod and tells us when the app is down.
- The demo ran 20 times out of 20, on the founder's Android phone, with a backup video.
- Production is ready: its own database, app address and workflows, before the first real demo.
UAT v2 (feedback, delivered by hand, UAT numbers) 4 done · 22 Oct to 29 Oct
Testers can install the app, report problems, and deliver by hand.
- A tester sees something odd and tells us in ten seconds, without leaving the app and without WhatsApp.
- Nobody delivers in the UAT.
- A tester places an order, puts the phone in the pocket, and three minutes after the kitchen taps Ready the phone buzzes: "Was your order delivered?
- After each UAT day the owner sees, in the 21:00 Telegram card and on the Ops screen: how many reports came in, how many orders customers confirmed, how often Jev answered in time, what it cost, and how many refusals (409, 503) happened.
MVP 1 Golden path 7 done · 25 Oct to 25 Oct
The whole order works end to end with real login and a real database: customer, kitchen, rider, customer.
- A customer can sign in with Google and keep the orders they placed before signing in.
- No order is lost or doubled, even when the network drops, and we proved it.
- MVP 1 is closed with a gate log, a closure note and a release.
- Jev gives a delivery time estimate for each order.
- The app has privacy and terms pages, so Google sign-in can show them.
- A kitchen worker signs in with Google and sees their own kitchen.
- A rider signs in with Google and sees their own deliveries.
City data model 1 done · 25 Oct to 25 Oct
One database shape for a city: many kitchens with pin codes, customers, riders, admins, cancel.
- Everything else needs one data model that holds many kitchens, customers, riders and admins.
Admin panel 3 done · 25 Oct to 25 Oct
The founder runs the system from `/admin/` in the PWA: kitchens, staff, menu with photos, orders, numbers.
- The founder adds a kitchen and its people without touching the database.
- Each kitchen's menu is managed by the founder, with real photos.
- The founder sees the day and can stop a bad order.
Dispatch and riders 1 done · 25 Oct to 25 Oct
Riders have accounts, go online, share their location, and are assigned by rule; the assignment is saved on the order.
- Each order goes to one rider, chosen by rule, and the rider sees only their own orders.
Kitchen operations 1 done · 25 Oct to 25 Oct
Kitchen staff mark a dish sold out and open or close the kitchen.
- A kitchen controls what a customer can order right now.
Customer flows (functional) 3 done · 25 Oct to 25 Oct
A customer finds the kitchen by pin code, saves a profile, orders, tracks, cancels, sees history, signs out.
- A refresh must not lose the customer's place.
- A customer orders from a kitchen that serves their area.
- The customer has an account-like experience on a cash order.
Notifications 1 done · 25 Oct to 25 Oct
Customers get a web push on placed, ready and delivered, even with the app closed.
- The customer learns about the order without keeping the app open.
Design system and investor-grade UI 3 done · 25 Oct to 29 Oct
One design system and every screen at the level of Swish, Swiggy and Zomato (benchmark table in the plan).
- Kitchen, rider and admin screens look and feel like one product.
- One set of components and tokens for every screen.
- The customer app passes the benchmark table.
Release MVP 2 and closure 1 done · 29 Oct to 29 Oct
Release to main, prod database change, first admin on prod, n8n activation, closure doc, roadmap.
- Prod runs the whole system.
Synthetic city on prod 9 done · 25 Oct to 29 Oct
Synthetic kitchens and riders on prod for the owner's scale proof, with changing availability, one seed API and one reset API.
- One n8n API seeds synthetic kitchens, riders and dishes from parameters and one resets them.
- A scheduled tick moves synthetic riders and flips synthetic kitchens and dishes while the simulator is on.
- The admin sets parameters, seeds, resets and switches the tick on and off, and sees counts.
- When someone opens GoServe in Delhi, they see ten kitchens worth ordering from, the kinds we want to sign, each with a full menu at today's prices.
- A customer on a real Delhi pin sees the demo kitchens and gets a rider, for every kitchen, the two old ones too.
- An order on a demo kitchen moves like a real one: accepted, cooked, picked up and delivered by a moving rider.
- A customer in East Delhi (pin 110092, the owner's own pin) has a kitchen close by, not one 8 to 10 km away.
- When someone opens a demo kitchen's menu, every dish shows a real, good-looking photo.
- Owner, 29 Oct 2026: the seeded kitchens and riders stay on prod for the Play testers.
Maps 4 done · 29 Oct to 29 Oct
A free maps API (Ola Maps) for geocoding and distance: real ETA, nearest kitchen, address check.
- Addresses become points; orders outside the kitchen's radius or at unknown addresses are refused; ETA uses real km.
- Live rider map on the tracker (OpenStreetMap tiles, our rider pings)
- Docs: the radar run for the live rider map (#691)
- Docs: the rider map rows, the tile test and follow-ups (#691)
Integrations map 1 done · 29 Oct to 29 Oct
One research document: which APIs and integrations are still needed, with tiers and costs.
- A table of integrations with tiers, costs and when.
Live roadmap page 2 done · 25 Oct to 29 Oct
The owner is a product manager.
- Open one page and know where GoServe is: what customers, kitchens and riders already have, what is being built this week, what comes next, and every ticket on a board.
- Anyone with the link sees where GoServe is, live, from any phone; the roadmap stops being a file on one Mac.
Roadmap and process 5 done · 26 Oct to 27 Oct
Everyone can see the plan, the order of work, who waits on what, and how long each story took.
- Everyone can see which branch holds what, and every story has the labels it needs.
- The whole plan is one list of small stories that anyone can read and pick from.
- Each goal has a date and a check that anyone can measure.
- Anyone with a link sees where GoServe is today, what is next, and what waits on what, on a phone.
- Every closed story shows its cycle time on the roadmap, even the 92 that closed before the `doing` label existed.
Backend v2 38 done · 27 Oct to 29 Oct
Both apps talk to one server that owns every rule: prices, offers, hours, service area and payment.
- The new server has a home that deploys by itself.
- The apps and the server agree on every field in one file.
- A customer signs in with their phone number and a code.
- A customer can keep their name and email and can delete their data.
- A customer saves addresses and picks one in a tap.
- The app knows whether a kitchen can deliver to a place, and how soon.
- The menu shows badges, tags and collections like a modern food app.
- A dish can have choices, like spice level or extras, with limits.
- The bill is computed in one place, so every app shows the same price.
- The best offer is chosen for the customer by the server.
- An order is placed once, with the price the customer saw.
- A customer can pay by UPI or card, and cash on delivery still works.
- Kitchens and riders move an order along through the new server.
- A rider is chosen by the new server when food is ready.
- Phones are told when something changes.
- A customer sees the order and the rider move.
- A late order gives the customer a coupon by itself.
- A customer rates the food and the rider.
- A customer finds answers without calling us.
- Every call leaves a row, so problems can be found.
- One person can run more than one kitchen: owner of one, staff in another, with one sign-in.
- A customer who taps Place order twice, or whose phone retries after a drop, gets the order they already made, not an error.
- The order total means one thing everywhere, so the kitchen, the rider, the numbers and the bill always agree.
- A customer can get a code on their phone and prove the number is theirs; the guest's orders stay with them.
- Backend v2 to prod: one owner-run release script with a dry run (database change, functions, secrets)
- Runbook for backend v2 on prod (docs for #677)
- Prod script: upload every function file so cross-function imports bundle (fix for #677)
- Docs: learning and trace for the prod function bundle (#681)
- Management API calls: an empty 2xx body is not an error (fix for #677)
- Docs: apply results, empty-body learning and rows for backend v2 on prod (#677)
- Docs: owner marks of 29 Oct, M3 triage and the push outbox rollout runbook
- Docs: PostHog events, orders v2 flag and rows for #207 and #590
- Docs: validation rules table and rows for #187
- The n8n deploy tries again on a non-JSON answer and can resume with --from
- Docs: the prod rollout record, the 520 lesson, the flake lesson, radar for #503
- Data fix: Butter Chicken and Chicken Biryani of the seed kitchen are not veg (F300)
- The vault readers look in the goserve folder first
- The GoServe keys now live in one file.
You are here
29 Oct 23:03 India time
- Nothing is marked doing.
No story is ready to start.
Milestones
What waits for what
Arrow: the later box waits for the earlier box. Dotted: it waits for a later milestone. 1 crossing. 6 arrows that only repeat a longer path are left out.
Longest chain of open work (12): #357 → #358 → #359 → #367 → #371 → #372 → #373 → #374 → #380 → #382 → #433 → #434
Timeline
29 Oct
- Owner, 29 Oct 2026: the seeded kitchens and riders stay on prod for the Play testers. #783 · no start time
- Design canvas by stage: production, final not built, in discussion, rejected, UI bugs fixed #690 · no start time
- Owner, 29 Oct 2026: "make sure we avoid all common violations", "saare gaps ko turant fix karwao ek story banake". #771 · no start time
- The GoServe keys now live in one file. #767 · no start time
- The vault readers look in the goserve folder first #765 · no start time
- PLAN.md Definition of Done: a changed live screen names its board #763 · no start time
- An accepted kitchen ticket shows the right tag #760 · no start time
- The Feedback sheet uses the design system #759 · no start time
- Docs: the canvas audit of Section 1 and its learning #757 · no start time
- Docs: Play runbook step 0, the veg data fix, F300 corrected #755 · no start time
- Data fix: Butter Chicken and Chicken Biryani of the seed kitchen are not veg (F300) #753 · no start time
- Docs and listing for the Play closed test (#254) #751 · no start time
- Errors on customers' phones are invisible today. #740 · no start time
- A replay of a stuck customer shows what the phone sitting cannot: where they stopped. #739 · no start time
- The owner wants proper product analytics and web analytics on the free plan. #738 · no start time
- The dev app at Vercel is what we test on before prod. #737 · no start time
- Docs: the Android decision, the PostHog research, F288 closed #744 · no start time
- Someone who opens the bare `goserve-app.pages.dev` should understand GoServe in one scroll, like justswish.in, and reach the right door: customer, kitchen, rider or admin. #503 · no start time
- Admin settings: a slow load must not overwrite what the admin typed #733 · no start time
- Docs: the prod rollout record, the 520 lesson, the flake lesson, radar for #503 #735 · no start time
- The n8n deploy tries again on a non-JSON answer and can resume with --from #731 · no start time
- Docs: the owner picked C, the native Android app, and the questions on it (E28) #729 · no start time
- Docs: the open questions of the canvas by stage (#690) #727 · no start time
- Docs: the rider map rows, the tile test and follow-ups (#691) #725 · no start time
- Live rider map on the tracker (OpenStreetMap tiles, our rider pings) #691 · no start time
- Docs: the radar run for the live rider map (#691) #722 · no start time
- Docs: the #619 stack rows, canvas by stage, runbook, learnings #720 · no start time
- Customer menu: a closed kitchen or a sold-out dish shows at once, and a refused order says why #619 · no start time
- A customer asks to be told when a closed kitchen opens (#619 layer d, board L1) #718 · no start time
- The admin sets the sold-out swap discount (#619 layer d, board A9) #716 · no start time
- The Bill names a sold-out dish and offers Swap it in or Take it out (#619 layer c) #714 · no start time
- Server picks the alternative for a sold-out dish and prices the swap (#619 layer b) #712 · no start time
- Menu follows the kitchen live: closed state and Sold out card (#619 layer a) #710 · no start time
- Docs: one real order through the deployed orders function on dev, result row #708 · no start time
- Docs: sim orders A to G on the v2 path, result row #706 · no start time
- A table of integrations with tiers, costs and when. #196 · no start time
- One table of rules, the database is the truth, the app mirrors it, one test per rule (`docs/product/validation-rules.md`). #187 · no start time
- Docs: validation rules table and rows for #187 #702 · no start time
- Docs: PostHog events, orders v2 flag and rows for #207 and #590 #700 · no start time
- The price the customer sees on the Bill is the price of the order, with fees, tax and offers. #590 · no start time
- The team shares seven simple rules and one big idea for the look of the app. #331 · no start time
- A stranger who opens the repo reads in two minutes what GoServe is, what already works for a customer, a cook, a rider and the admin, how it runs, and where the plan is. #246 · no start time
- We can see what people do in the app with product analytics. #207 · no start time
- Docs: owner marks of 29 Oct, M3 triage and the push outbox rollout runbook #695 · no start time
- MAIN 34 marks pushes sent (push_outbox_sent) before the re-offer database change reaches prod #693 · no start time
- A push that was taken from the queue but never sent must not be lost. #534 · no start time
- The first screen should give before it asks: one tap finds where you are, and you see your kitchen and today's food before the menu. #508 · no start time
- Addresses become points; orders outside the kitchen's radius or at unknown addresses are refused; ETA uses real km. #191 · no start time
- Prod runs the whole system. #156 · no start time
- A monitor watches dev and prod and tells us when the app is down. #55 · no start time
- The owner agrees to the look before any app is built. #336 · no start time
- Every screen has been asked five hard questions. #335 · no start time
- The owner can see the staff apps before they are built. #334 · no start time
- The owner can see the customer app before it is built. #333 · no start time
- Both apps get the same colours, type and spacing from one file. #332 · no start time
- Customer app copy audit: every word, line, icon and image gets a job or goes #643 · no start time
- Anyone with the link sees where GoServe is, live, from any phone; the roadmap stops being a file on one Mac. #247 · no start time
- Kitchen, rider and admin screens look and feel like one product. #155 · no start time
- Laya can be trained on a free Kaggle GPU and compared with the base model. #111 · no start time
- We can make realistic practice data for Laya and check it before training. #107 · no start time
- After each UAT day the owner sees, in the 21:00 Telegram card and on the Ops screen: how many reports came in, how many orders customers confirmed, how often Jev answered in time, what it cost, and how many refusals (409, 503) happened. #97 · no start time
- A tester places an order, puts the phone in the pocket, and three minutes after the kitchen taps Ready the phone buzzes: "Was your order delivered? #96 · no start time
- Docs: apply results, empty-body learning and rows for backend v2 on prod (#677) #688 · no start time
- Management API calls: an empty 2xx body is not an error (fix for #677) #685 · no start time
- Prod script: upload every function file so cross-function imports bundle (fix for #677) #681 · no start time
- Docs: learning and trace for the prod function bundle (#681) #683 · no start time
- Backend v2 to prod: one owner-run release script with a dry run (database change, functions, secrets) #677 · no start time
- Runbook for backend v2 on prod (docs for #677) #679 · no start time
- Privacy page: location sent once to OpenStreetMap #673 · no start time
- First open D: location step and the kitchen kept back-end #668 · no start time
- Docs: copy-audit fixes, first open, radar and learnings #675 · no start time
28 Oct
- First open C: number and code on the first screen #667 · no start time
- First open A: the fixed code 123456 and the deploy env #665 · no start time
- First open B: no Use on another phone, Signed in on You #666 · no start time
- You, Feedback and alerts copy: sub lines, the customer list, optional label, alerts-failed line, contact email #661 · no start time
- Tracker and Orders copy: 12-hour clock, cancelled state, cancel-refused line, empty state #660 · no start time
- Bill copy and the error lines: labels, Placing…, missing-fields line, one line per server code #659 · no start time
- Docs: 28 Oct second half, copy-audit marks and ideas #657 · no start time
- Night contrast: ink text on every lime box (signed-in line, rider card, badges) and a contrast test for every text pair #653 · no start time
- Docs: 28 Oct sitting rows, learnings and the copy audit #650 · no start time
- Veg or non-veg pill: the chosen side follows the segment's shape, and its colour must not read as veg or non-veg #638 · no start time
- Offline: say that the connection is gone and show designed placeholders, not broken images #637 · no start time
- the checks: WebKit kitchen switch test waits for the stub's set_kitchen_open answer #646 · no start time
- Feedback: after Send, a clear 'Sent. Thank you.' card, the sheet closes, and offline and failure say so #642 · no start time
- You: Continue with Google button sits under the details card, never over it (layout, boards Y1 and Y2) #640 · no start time
- Feedback sheet: the select's chevron is black on Night, invisible #636 · no start time
- You: Continue with Google fails with 'Identity is already linked to another user' and the button overlaps the details card #635 · no start time
- Kitchen tickets: one grid for the number, the tag, the lines and the action on New, Cooking and Ready #618 · no start time
- The fixes from the owner's phone sitting (#325) and the guard changes are written down: tests, trace, what went wrong, and what is still open. #632 · no start time
- Kitchen Today: the Open for orders row does not match the board (switch knob spills past the track, two-line shouting sub-line) #616 · no start time
- You: the Order alerts switch can be turned off again #609 · no start time
- Menu: the veg or non-veg jump pill has a square right edge on the chosen side #607 · no start time
- The release branches to `main` stop needing hand edits, because `staging` has everything `main` has. #621 · no start time
- Commits that `main` already holds were gated when they merged. #625 · no start time
- A sync from `main` is code that `main` already holds and has reviewed. #623 · no start time
- Push: after sign out and sign in the phone has no subscription under the new session, so no ping comes while You says alerts are on #613 · no start time
- Menu: a thali has no minus; use the same plus and minus stepper as every other dish #608 · no start time
- MAIN 90 daily card: Format message reads SUB 94's answer as the scorecard and crashes #610 · no start time
- The night and final rehearsal runs, the paid_by fix and the freeze steps for the demo tag are written down. #605 · no start time
27 Oct
- The demo has been run twice before the founder shows it. #324 · no start time
- After the customer taps "Yes, I have it", the slip must keep saying "Paid: cash". #601 · no start time
- The best offer is chosen for the customer by the server. #346 · no start time
- The last layer of the offers (Remove on the Bill) and the list of layers of #346 are written down, so #346 and #311 can close with a clear record. #599 · no start time
- A customer who does not want the offer taps Remove and pays the full price. #597 · no start time
- The rehearsal checks what a customer really sees: the question "Yes, I have it" comes before the slip says Delivered. #593 · no start time
- The first prod rehearsal, the offers stack and its tests must be written down so the next session knows what was run and what is open. #595 · no start time
- A customer who removes an offer from the Bill pays without it. #589 · no start time
- The customer sees the offers on the Bill, the best one first, and can apply one or type a code. #588 · no start time
- A customer who got a "Sorry we were late" coupon can see it in their offers and use it. #579 · no start time
- The order total means one thing everywhere, so the kitchen, the rider, the numbers and the bill always agree. #538 · no start time
- Everything built in the 27 Oct stack (OTP, payments, push, coupons, ratings, profile, staff, help, on-time promise) must be written down, so the owner and the next session know what is done, what is a fake, and what the owner must click. #585 · no start time
- The demo is rehearsed on the real app before the founder shows it, and each run leaves a record. #584 · no start time
- A customer finds answers without calling us. #355 · no start time
- One person can run more than one kitchen: owner of one, staff in another, with one sign-in. #468 · no start time
- A customer can keep their name and email and can delete their data. #340 · no start time
- A late order gives the customer a coupon by itself. #353 · no start time
- A customer rates the food and the rider. #354 · no start time
- A customer who taps Place order twice, or whose phone retries after a drop, gets the order they already made, not an error. #537 · no start time
- The best offer is chosen for the customer by the server, and the customer can see the list. #574 · no start time
- `orders.total_paise` means one thing everywhere: what the customer pays. #572 · no start time
- The real Razorpay webhook can reach us. #569 · no start time
- Phones are told when something changes. #351 · no start time
- A phone is really told when its order changes. #563 · no start time
- A customer turns on order alerts from You, on any phone. #554 · no start time
- A customer who chose to pay online can change their mind and pay cash, without waiting for the 15 minute expiry. #565 · no start time
- A customer picks how to pay on the bill; online goes through the payment seam, cash keeps working. #552 · no start time
- A customer can sign in with a phone number and a code at checkout; the screens exist now, the real SMS plugs in later. #551 · no start time
- A customer can pay by UPI or card, and cash on delivery still works. #348 · no start time
- A phone gets told when its order changes. #561 · no start time
- An online order that is never paid does not stay stuck: the customer can switch to cash, and a payment not paid in 15 minutes fails on its own and the order goes back to cash. #557 · no start time
- A customer signs in with their phone number and a code. #339 · no start time
- A customer who already has an account and opens the app on a new phone signs in with their number and keeps their old orders; whatever they ordered as a guest on the new phone moves over. #558 · 19 min
- An online payment can be started, confirmed by a signed webhook and refunded on cancel, while cash on delivery stays as it is. #555 · no start time
- When the owner is ready, each service takes him one click. #544 · no start time
- A customer can get a code on their phone and prove the number is theirs; the guest's orders stay with them. #553 · no start time
- A customer sees the order and the rider move. #352 · 58 min
- Everything the coder did and learned on 27 Oct is written down, so the next session finds it and repeats no mistake. #545 · no start time
- A rider is chosen by the new server when food is ready. #350 · 42 min
- Every call leaves a row, so problems can be found. #356 · 32 min
- A slow database moment must not skip a tick of the simulator, the dispatcher, the push drain or the daily numbers. #541 · no start time
- Kitchens and riders move an order along through the new server. #349 · 32 min
- An order is placed once, with the price the customer saw. #347 · 27 min
- A slow database moment must not skip a push round. #532 · no start time
- The app says "Good morning!" to a stranger, and "Good morning, Priya." only once it knows her name. #527 · no start time
- On the thali toggle, the veg and non-veg marks stay readable, and the chosen side is still clear. #528 · no start time
- The app knows whether a kitchen can deliver to a place, and how soon. #342 · 17 min
- The pin mark in the Menu header stays where it is when you switch tabs; it flies in only once, right after you pick your pin code. #525 · no start time
- A customer saves addresses and picks one in a tap. #341 · 14 min
- The bill is computed in one place, so every app shows the same price. #345 · 6 min
- A dish can have choices, like spice level or extras, with limits. #344 · 2 min
- Every closed story shows its cycle time on the roadmap, even the 92 that closed before the `doing` label existed. #518 · no start time
- The menu shows badges, tags and collections like a modern food app. #343 · 3 min
- The apps and the server agree on every field in one file. #338 · 30 min
- The new server has a home that deploys by itself. #337 · 8 min
- A reviewer mistake the owner corrected must teach the next session: the light zigzag colour is deliberate. #513 · 3 min
- The owner's round-2 motion feedback must not be lost. #511 · 15 min
- The owner's own Swish screen is the best source we have. #509 · 9 min
- The owner's Night lamp idea and the motion framework must be kept in the repo, and today's records written down. #506 · 3 min
- The app must never ask "Was your order delivered?" for an order that is already delivered, and a notice must not repeat what the server push already says. #501 · 31 min
- The customer must hear when the rider picks up the food. #500 · 5 min
- We know exactly what a good quick-food app does at each step. #330 · 4 h 8 min
- There is one roadmap. #497 · 4 min
- The release, the daily limits card and the n8n publish rule must be written down so any session can find them. #495 · 7 min
- One way to do a thing, never two (owner rule, 27 Oct). #485 · 56 min
- The owner must know every day whether the prod database is healthy and how far it is from each Supabase free limit, and get an alert before a limit is hit. #488 · 26 min
- The decisions, rules and research of 27 Oct must be written down so any session can find them. #489 · 9 min
- The customer must know when the food comes, with the app closed. #483 · 45 min
- When something goes wrong on a phone, we must see what happened to that order, in order, from real logs. #484 · 31 min
- Nothing the customer must tap hides under the iPhone home bar or the status bar. #481 · 16 min
- We learn from good open examples and know how far to trust each source. #329 · 5 min
- The Android app follows its own platform's rules and matches iOS. #328 · 12 min
- Our design starts from what Apple has learned about clear apps. #327 · 18 min
- The owner's decision rules are written down in plain words, so the reviewer can decide as he would and the owner can correct them; and GoServe uses ShipQuick v0.6.1. #477 · 11 min
26 Oct
- When the admin does something that cannot be done, the screen says why in words he can read. #466 · 46 min
- The Simulator tab looks as well made as the rest of the admin, so the founder is not embarrassed when he shows it. #461 · 55 min
- A customer is never asked "Was your order delivered?" while the kitchen is still cooking. #456 · 7 min
- The founder turns on one "demo mode" switch before a demo. #454 · 1 h 55 min
- A customer who sees a kitchen closed in the middle of the day is told the truth, not that it opens tomorrow morning. #452 · 26 min
- The founder can show GoServe in ten steps and know what to say. #323 · 15 min
- A customer on a pin code we do not serve is told so kindly. #322 · 52 min
- A customer cannot order from a kitchen that is closed. #321 · 1 h 12 min
- The founder's iPhone always shows the newest version of the app. #320 · 9 min
- The whole plan is one list of small stories that anyone can read and pick from. #317 · 4 h 8 min
- Everyone can see which branch holds what, and every story has the labels it needs. #316 · 4 h 8 min
- Anyone with a link sees where GoServe is today, what is next, and what waits on what, on a phone. #319 · 47 min
- Each goal has a date and a check that anyone can measure. #318 · 6 min
25 Oct
- The admin picks who makes the live decisions: Rules, Jev or Laya. #263 · 4 h 8 min
- Nothing paid runs when nobody asked for it. #253 · 4 h 8 min
- Google Play asks for a privacy page before it lets testers install. #302 · 25 min
- When someone opens a demo kitchen's menu, every dish shows a real, good-looking photo. #292 · 4 h 8 min
- A customer in East Delhi (pin 110092, the owner's own pin) has a kitchen close by, not one 8 to 10 km away. #290 · 4 h 8 min
- The admin sets parameters, seeds, resets and switches the tick on and off, and sees counts. #190 · 4 h 8 min
- A scheduled tick moves synthetic riders and flips synthetic kitchens and dishes while the simulator is on. #189 · 4 h 8 min
- One n8n API seeds synthetic kitchens, riders and dishes from parameters and one resets them. #188 · 4 h 8 min
- An order on a demo kitchen moves like a real one: accepted, cooked, picked up and delivered by a moving rider. #284 · 2 h 53 min
- A customer on a real Delhi pin sees the demo kitchens and gets a rider, for every kitchen, the two old ones too. #283 · 2 h 53 min
- When someone opens GoServe in Delhi, they see ten kitchens worth ordering from, the kinds we want to sign, each with a full menu at today's prices. #282 · 2 h 53 min
- Anyone can download the latest GoServe app from one page and install it. #251 · 4 h 8 min
- Before we build, we know the APK is real: one role installs and runs on the owner's phone, and we know what works and what does not. #250 · 4 h 8 min
- The menu looks right again: photo on the left, name and price in the middle, Add on the right, open or closed. #274 · 4 h 8 min
- When an order is ready, the nearest free rider gets it, so the food waits less and reaches the door sooner. #272 · 4 h 8 min
- The demo ran 20 times out of 20, on the founder's Android phone, with a backup video. #56 · 4 h 8 min
- letsdwelo.in shows three pages in the Ink v3 look: Home, For investors, Pre-register. #200 · 4 h 8 min
- Every app shows only its board. #242 · 1 h 40 min
- Open one page and know where GoServe is: what customers, kitchens and riders already have, what is being built this week, what comes next, and every ticket on a board. #239 · 2 h 7 min
- The cook wants to know who is coming for a ready order, not just that someone is. #231 · 3 h 31 min
- A cook who already started a dish must know the order was cancelled, not just see it vanish. #230 · 3 h 31 min
- The rider's cash in hand and the kitchen's slips must add up at the end of the day, and a delivery at 23:30 must not vanish from the rider's day at midnight. #229 · 3 h 31 min
- The app opens in Day for everyone until the owner says otherwise. #225 · 4 h 4 min
- A customer never signs in. #224 · 4 h 5 min
- A tech investor can read what GoServe is built of in one README. #206 · 4 h 8 min
- The owner sees the platform's health and what it costs. #205 · 4 h 8 min
- The owner gets a pilot report and a watch on the pilot's numbers. #204 · 4 h 8 min
- The winning skill applied to admin tables and forms. #195 · 4 h 8 min
- The winning skill applied to the rider and kitchen apps, one-thumb. #194 · 4 h 8 min
- The winning skill applied to every customer screen. #193 · 4 h 8 min
- A staff user belongs to one kitchen, and the kitchen app says so loudly when the account is not staff. #186 · 4 h 8 min
- The demo console at `/` and the other role apps cannot place orders or read menus on prod. #185 · 4 h 8 min
- A kitchen cannot be saved or kept active without a pin code, a valid phone, sane hours or a unique name; a dish needs a price above zero and a unique name. #184 · 4 h 8 min
- The customer app passes the benchmark table. #161 · 4 h 8 min
- One set of components and tokens for every screen. #160 · 4 h 8 min
- The customer has an account-like experience on a cash order. #159 · 4 h 8 min
- A customer orders from a kitchen that serves their area. #158 · 4 h 8 min
- A refresh must not lose the customer's place. #157 · 4 h 8 min
- The customer learns about the order without keeping the app open. #154 · 4 h 8 min
- A kitchen controls what a customer can order right now. #153 · 4 h 8 min
- Each order goes to one rider, chosen by rule, and the rider sees only their own orders. #152 · 4 h 8 min
- The founder sees the day and can stop a bad order. #151 · 4 h 8 min
- Each kitchen's menu is managed by the founder, with real photos. #150 · 4 h 8 min
- The founder adds a kitchen and its people without touching the database. #149 · 4 h 8 min
- Everything else needs one data model that holds many kitchens, customers, riders and admins. #148 · 4 h 8 min
- A rider signs in with Google and sees their own deliveries. #135 · 4 h 8 min
- A kitchen worker signs in with Google and sees their own kitchen. #132 · 4 h 8 min
- The app has privacy and terms pages, so Google sign-in can show them. #123 · 4 h 8 min
- MVP 1 is closed with a gate log, a closure note and a release. #119 · 4 h 8 min
- No order is lost or doubled, even when the network drops, and we proved it. #118 · 4 h 8 min
- A customer can sign in with Google and keep the orders they placed before signing in. #117 · 4 h 8 min
22 Oct
- Customer, kitchen, rider and ops each get their own installable app, from one codebase. #83 · 4 h 8 min
- Production is ready: its own database, app address and workflows, before the first real demo. #78 · 4 h 8 min
- Nobody delivers in the UAT. #95 · 4 h 8 min
- A tester sees something odd and tells us in ten seconds, without leaving the app and without WhatsApp. #94 · 4 h 8 min
14 Oct
- The owner gets a daily scorecard on Telegram without asking. #47 · 4 h 8 min
- One page shows whether Supabase, n8n and Jev are up, before a demo. #54 · 4 h 8 min
- The demo plays by itself even with no internet. #53 · 4 h 8 min
- The demo shows all four roles side by side, each in its own space, with a reset. #52 · 4 h 8 min
- The founder sees the system's suggestion and the day's numbers on one ops screen. #51 · 4 h 8 min
- The rider walks the delivery steps, and the customer sees the status up to Delivered. #50 · 4 h 8 min
- The kitchen sees live orders and moves each one with Accept, Start and Ready. #49 · 4 h 8 min
- A customer can open the menu, fill a cart, see the bill and place an order. #48 · 4 h 8 min
- The system suggests a decision on each order and keeps a log of what it decided. #46 · 4 h 8 min
- An order can be placed and moved through its steps by the workflows, with every step logged. #45 · 4 h 8 min
- Each person sees only their own data, the kitchen sees new orders live, and Delhi has a sample menu. #44 · 4 h 8 min
- The database has the seven tables the order needs, and refuses an illegal order step. #43 · 4 h 8 min
- A release to main puts the app on its public address by itself. #42 · 4 h 8 min
- Every push to the dev branch gives the owner a live dev site to look at. #41 · 4 h 8 min
- Every change to the app is checked by a machine before anyone can merge it. #40 · 4 h 8 min
- The app exists, installs on a phone, and uses the brand's colours from one file. #39 · 4 h 8 min
13 Oct
- Every lead from the investor site is saved and sent to us at once, so no lead is lost. #5 · 4 h 8 min
- Before every MVP phase there is a gate: we stop and check that the setup is ready. #22 · 13 min
- Before the first build, every missing part is known, and the options for each are written down. #20 · 13 min
- Delhi is the first city on the site, and every colour and font has one home. #18 · 4 min
- Investors can see how GoServe grows from a demo to a city, one page, one phase at a time. #16 · 38 min
- There is one list of every part of the system, by phase. #13 · no start time
11 Oct
- There is one place for every learning and mistake, and the process uses it. #10 · no start time
- Every lead alert comes from our own bot, GoServeBot. #8 · no start time
- The lead alert on Telegram and the saved lead show every field, not blanks. #6 · no start time
Now
- Nothing is being built right now.
Next
- The owner has tried every feature on his own phone. #325 · M1 MVP2 demo-ready (PWA, frozen) · P0 ready
- The demo version is safe and stays as it is. #326 · M1 MVP2 demo-ready (PWA, frozen) · P0 blocked by #325
- Every change to the app is built and tested by itself. #357 · M4 Customer app, Android + iOS · P0 ready
- One app opens for customer, kitchen, rider and admin. #358 · M4 Customer app, Android + iOS · P0 blocked by #357
- The app looks like our design because the theme comes from one file. #359 · M4 Customer app, Android + iOS · P0 blocked by #358
- The app talks to the server with code made from the contract. #360 · M4 Customer app, Android + iOS · P0 blocked by #358
- Testers install the app from the store in one tap. #361 · M4 Customer app, Android + iOS · P0 blocked by #357
- A customer signs in with a phone number and a code. #363 · M4 Customer app, Android + iOS · P0 blocked by #360
- A customer says where to deliver by pin on a map. #364 · M4 Customer app, Android + iOS · P0 blocked by #360
- A customer adds house details once and reuses them. #365 · M4 Customer app, Android + iOS · P0 blocked by #364
- A customer outside our area is told kindly and can ask us to come. #366 · M4 Customer app, Android + iOS · P0 blocked by #360
- A customer sees an honest ETA and the food at once. #367 · M4 Customer app, Android + iOS · P0 blocked by #359
- A customer browses one kind of food. #368 · M4 Customer app, Android + iOS · P0 blocked by #367
- A customer sees what a dish is and whether it is available. #369 · M4 Customer app, Android + iOS · P0 blocked by #367
- A customer picks the choices of a dish. #370 · M4 Customer app, Android + iOS · P0 blocked by #369
- A customer always sees what is in the cart. #371 · M4 Customer app, Android + iOS · P0 blocked by #367
- A customer sees the whole bill as one slip, with the savings. #372 · M4 Customer app, Android + iOS · P0 blocked by #371
- A customer pays by UPI, card or cash. #373 · M4 Customer app, Android + iOS · P0 blocked by #372
- A customer watches the order become a delivery. #374 · M4 Customer app, Android + iOS · P0 blocked by #373
- A customer finds past orders and orders again in one tap. #376 · M4 Customer app, Android + iOS · P0 blocked by #372
- Every change to the app is built and tested by itself. #395 · M4 Customer app, Android + iOS · P0 ready
- One app opens for customer, kitchen, rider and admin. #396 · M4 Customer app, Android + iOS · P0 blocked by #395
- The app looks like our design because the theme comes from one file. #397 · M4 Customer app, Android + iOS · P0 blocked by #396
- The app talks to the server with code made from the contract. #398 · M4 Customer app, Android + iOS · P0 blocked by #396
- Testers install the app from the store in one tap. #399 · M4 Customer app, Android + iOS · P0 blocked by #395
- A customer signs in with a phone number and a code. #401 · M4 Customer app, Android + iOS · P0 blocked by #398
- A customer says where to deliver by pin on a map. #402 · M4 Customer app, Android + iOS · P0 blocked by #398
- A customer adds house details once and reuses them. #403 · M4 Customer app, Android + iOS · P0 blocked by #402
- A customer outside our area is told kindly and can ask us to come. #404 · M4 Customer app, Android + iOS · P0 blocked by #398
- A customer sees an honest ETA and the food at once. #405 · M4 Customer app, Android + iOS · P0 blocked by #397
- A customer browses one kind of food. #406 · M4 Customer app, Android + iOS · P0 blocked by #405
- A customer sees what a dish is and whether it is available. #407 · M4 Customer app, Android + iOS · P0 blocked by #405
- A customer picks the choices of a dish. #408 · M4 Customer app, Android + iOS · P0 blocked by #407
- A customer always sees what is in the cart. #409 · M4 Customer app, Android + iOS · P0 blocked by #405
- A customer sees the whole bill as one slip, with the savings. #410 · M4 Customer app, Android + iOS · P0 blocked by #409
- A customer pays by UPI, card or cash. #411 · M4 Customer app, Android + iOS · P0 blocked by #410
- A customer watches the order become a delivery. #412 · M4 Customer app, Android + iOS · P0 blocked by #411
- A customer finds past orders and orders again in one tap. #414 · M4 Customer app, Android + iOS · P0 blocked by #410
- A new customer sees what the app does in three slides. #362 · M4 Customer app, Android + iOS · P1 blocked by #359
- The order shows on the lock screen. #375 · M4 Customer app, Android + iOS · P1 blocked by #374
- A customer rates after delivery. #377 · M4 Customer app, Android + iOS · P1 blocked by #374
- A customer manages their profile and gets help. #379 · M4 Customer app, Android + iOS · P1 blocked by #365
- A customer hears when the order changes. #380 · M4 Customer app, Android + iOS · P1 blocked by #374
- The app never shows a blank page. #381 · M4 Customer app, Android + iOS · P1 blocked by #367
- People with different needs can use the app. #382 · M4 Customer app, Android + iOS · P1 blocked by #381, #380, #379
- A new customer sees what the app does in three slides. #400 · M4 Customer app, Android + iOS · P1 blocked by #397
- The order shows on the lock screen. #413 · M4 Customer app, Android + iOS · P1 blocked by #412
- A customer rates after delivery. #415 · M4 Customer app, Android + iOS · P1 blocked by #412
- A customer manages their profile and gets help. #416 · M4 Customer app, Android + iOS · P1 blocked by #403
- A customer hears when the order changes. #417 · M4 Customer app, Android + iOS · P1 blocked by #412
- The app never shows a blank page. #418 · M4 Customer app, Android + iOS · P1 blocked by #405
- People with different needs can use the app. #419 · M4 Customer app, Android + iOS · P1 blocked by #418, #417, #416
- Kitchen staff sign in with Google and pick their kitchen. #383 · M5 Kitchen + rider apps · P0 blocked by #360
- The kitchen hears a new order and accepts it. #384 · M5 Kitchen + rider apps · P0 blocked by #383
- The cook sees exactly what to make. #385 · M5 Kitchen + rider apps · P0 blocked by #384
- The kitchen controls what customers can order. #386 · M5 Kitchen + rider apps · P0 blocked by #383
- A rider signs in and goes on duty. #387 · M5 Kitchen + rider apps · P0 blocked by #360
- A rider walks through pickup to delivered, with cash or prepaid. #388 · M5 Kitchen + rider apps · P0 blocked by #387
- The customer sees the rider move even when the rider's screen is off. #389 · M5 Kitchen + rider apps · P0 blocked by #387
- Kitchen staff sign in with Google and pick their kitchen. #420 · M5 Kitchen + rider apps · P0 blocked by #398
- The kitchen hears a new order and accepts it. #421 · M5 Kitchen + rider apps · P0 blocked by #420
- The cook sees exactly what to make. #422 · M5 Kitchen + rider apps · P0 blocked by #421
- The kitchen controls what customers can order. #423 · M5 Kitchen + rider apps · P0 blocked by #420
- A rider signs in and goes on duty. #424 · M5 Kitchen + rider apps · P0 blocked by #398
- A rider walks through pickup to delivered, with cash or prepaid. #425 · M5 Kitchen + rider apps · P0 blocked by #424
- The customer sees the rider move even when the rider's screen is off. #426 · M5 Kitchen + rider apps · P0 blocked by #424
- A rider sees their day. #390 · M5 Kitchen + rider apps · P1 blocked by #387
- A rider sees their day. #427 · M5 Kitchen + rider apps · P1 blocked by #424
- A person who works in two kitchens picks which one they are serving, and can switch without signing out. #469 · M5 Kitchen + rider apps · P1 blocked by #383
- A person who works in two kitchens picks which one they are serving, and can switch without signing out. #470 · M5 Kitchen + rider apps · P1 blocked by #420
- People can find and trust the app in the stores. #432 · M6 Admin + launch hardening · P0 blocked by #362, #363, #364, #365, #366, #367, #368, #369, #370, #371, #372, #373, #374, #375, #376, #377, #379, #380, #381, #382, #400, #401, #402, #403, #404, #405, #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416, #417, #418, #419
- The owner has tried everything on both phones. #433 · M6 Admin + launch hardening · P0 blocked by #357, #358, #359, #360, #361, #362, #363, #364, #365, #366, #367, #368, #369, #370, #371, #372, #373, #374, #375, #376, #377, #379, #380, #381, #382, #383, #384, #385, #386, #387, #388, #389, #390, #391, #392, #393, #394, #395, #396, #397, #398, #399, #400, #401, #402, #403, #404, #405, #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416, #417, #418, #419, #420, #421, #422, #423, #424, #425, #426, #427, #428, #429, #430, #431
- Version 2 is released. #434 · M6 Admin + launch hardening · P0 blocked by #433
- The admin sees every order and can cancel one. #391 · M6 Admin + launch hardening · P1 blocked by #360
- The admin runs the city. #392 · M6 Admin + launch hardening · P1 blocked by #391
- The admin changes menus, add-ons and offers. #393 · M6 Admin + launch hardening · P1 blocked by #391
- The admin sees the numbers and the demo city. #394 · M6 Admin + launch hardening · P1 blocked by #391
- The admin sees every order and can cancel one. #428 · M6 Admin + launch hardening · P1 blocked by #398
- The admin runs the city. #429 · M6 Admin + launch hardening · P1 blocked by #428
- The admin changes menus, add-ons and offers. #430 · M6 Admin + launch hardening · P1 blocked by #428
- The admin sees the numbers and the demo city. #431 · M6 Admin + launch hardening · P1 blocked by #428
Older open work
27 stories from before the plan
- Laya is trained on much larger data until every decision meets its target. #113
- Jev gives a delivery time estimate for each order. #120
- Laya learns refund and at-risk decisions from code, with at most two retrains. #127
- Laya is checked on new, bigger data with order context, to see if its results hold. #131
- Laya passes a blind test and a pressure test before it is trusted. #137
- Google's consent screen shows the GoServe name and logo. #139
- The menu and tracker built four times with four design skills; the owner picks one blind. #192
- A rider's phone in the pocket still tells the kitchen and the customer where the food is. #252
- A tester installs GoServe from the Play Store in one tap, no sideloading warnings. #254
- On Sunday 2 November the owner installs the APK and does one full day of GoServe on his phone: order, cook, ride, run the city, with nothing missing. #255
- The customer sees where the food really is: each kitchen stage with its time, an arrival range that is updated before it slips, the reason for any delay, and the rider on a live map after pickup. #266
- Laya and Jev answer beside the rules on real orders without deciding anything, and a daily line shows whether either would have beaten the rules. #267
- Travel times come from real roads, not straight lines, so the arrival range is right near flyovers, the Yamuna and one-way lanes. #268
- At thousands of riders and kitchens, a dedicated matcher runs every 10 to 30 seconds per city part and keeps idle riders where the next orders will come. #269
- When people get hungry at their own odd hours, GoServe sends one interesting push that names the perfect dish for that moment. #517
- Operating rules: a kitchen switching off with open orders, the rider at the kitchen, cash hand-over and rider pay #620
- First open: mobile number and OTP, then location; show the customer's own address, never the kitchen #655
- One question after delivery, asked by PostHog's survey popover, free up to 1,500 responses a month. #741
- Ad blockers drop a share of events sent straight to `eu.i.posthog.com`. #742
- The customer app changes screens by state, not by address, so web analytics sees one page view per app load. #750
- Owner, 29 Oct 2026, while filling the Play store listing: "we can also have tablet desktop or android xr assets I am skipping right now, later we can also upload video here". #776
- Owner, 29 Oct 2026 (canvas comment on R5 Pick up: "you decide"). #777
- Owner, 29 Oct 2026, canvas audit: the boards promised "Dinner at your door in 25 to 35 min" on Menu and a "32:00 left" countdown on the live order pill; the app shows "Open till 10:00 pm" and "No. #778
- Canvas audit, 29 Oct 2026. #779
- Owner, 29 Oct 2026 (canvas comment on A4 One order): "keep delivery charge". #780
- Owner, 29 Oct 2026 (canvas comment on A4): "we will control delivery charge later dynamically from app intelligently as per delivery conditions, night rain traffic storm peak hours etc whatever it is but we will build it in intelligence later in mvp3". #781
- Owner, 29 Oct 2026: "i dont want to check each row myself, decide what's the best yourself and clear out M3 asap and move things to m4". #782
Board
To do 108
Laya is trained on much larger data until every decision meets its target.
#113Jev gives a delivery time estimate for each order.
#120Laya learns refund and at-risk decisions from code, with at most two retrains.
#127Laya is checked on new, bigger data with order context, to see if its results hold.
#131Laya passes a blind test and a pressure test before it is trusted.
#137Google's consent screen shows the GoServe name and logo.
#139The menu and tracker built four times with four design skills; the owner picks one blind.
#192A rider's phone in the pocket still tells the kitchen and the customer where the food is.
#252A tester installs GoServe from the Play Store in one tap, no sideloading warnings.
#254On Sunday 2 November the owner installs the APK and does one full day of GoServe on his phone: order, cook, ride, run the city, with nothing missing.
#255The customer sees where the food really is: each kitchen stage with its time, an arrival range that is updated before it slips, the reason for any delay, and the rider on a live map after pickup.
#266Laya and Jev answer beside the rules on real orders without deciding anything, and a daily line shows whether either would have beaten the rules.
#267Travel times come from real roads, not straight lines, so the arrival range is right near flyovers, the Yamuna and one-way lanes.
#268At thousands of riders and kitchens, a dedicated matcher runs every 10 to 30 seconds per city part and keeps idle riders where the next orders will come.
#269The owner has tried every feature on his own phone.
#325The demo version is safe and stays as it is.
#326Every change to the app is built and tested by itself.
#357One app opens for customer, kitchen, rider and admin.
#358The app looks like our design because the theme comes from one file.
#359The app talks to the server with code made from the contract.
#360Testers install the app from the store in one tap.
#361A new customer sees what the app does in three slides.
#362A customer signs in with a phone number and a code.
#363A customer says where to deliver by pin on a map.
#364A customer adds house details once and reuses them.
#365A customer outside our area is told kindly and can ask us to come.
#366A customer sees an honest ETA and the food at once.
#367A customer browses one kind of food.
#368A customer sees what a dish is and whether it is available.
#369A customer picks the choices of a dish.
#370A customer always sees what is in the cart.
#371A customer sees the whole bill as one slip, with the savings.
#372A customer pays by UPI, card or cash.
#373A customer watches the order become a delivery.
#374The order shows on the lock screen.
#375A customer finds past orders and orders again in one tap.
#376A customer rates after delivery.
#377A customer manages their profile and gets help.
#379A customer hears when the order changes.
#380The app never shows a blank page.
#381People with different needs can use the app.
#382Kitchen staff sign in with Google and pick their kitchen.
#383The kitchen hears a new order and accepts it.
#384The cook sees exactly what to make.
#385The kitchen controls what customers can order.
#386A rider signs in and goes on duty.
#387A rider walks through pickup to delivered, with cash or prepaid.
#388The customer sees the rider move even when the rider's screen is off.
#389A rider sees their day.
#390The admin sees every order and can cancel one.
#391The admin runs the city.
#392The admin changes menus, add-ons and offers.
#393The admin sees the numbers and the demo city.
#394Every change to the app is built and tested by itself.
#395One app opens for customer, kitchen, rider and admin.
#396The app looks like our design because the theme comes from one file.
#397The app talks to the server with code made from the contract.
#398Testers install the app from the store in one tap.
#399A new customer sees what the app does in three slides.
#400A customer signs in with a phone number and a code.
#401A customer says where to deliver by pin on a map.
#402A customer adds house details once and reuses them.
#403A customer outside our area is told kindly and can ask us to come.
#404A customer sees an honest ETA and the food at once.
#405A customer browses one kind of food.
#406A customer sees what a dish is and whether it is available.
#407A customer picks the choices of a dish.
#408A customer always sees what is in the cart.
#409A customer sees the whole bill as one slip, with the savings.
#410A customer pays by UPI, card or cash.
#411A customer watches the order become a delivery.
#412The order shows on the lock screen.
#413A customer finds past orders and orders again in one tap.
#414A customer rates after delivery.
#415A customer manages their profile and gets help.
#416A customer hears when the order changes.
#417The app never shows a blank page.
#418People with different needs can use the app.
#419Kitchen staff sign in with Google and pick their kitchen.
#420The kitchen hears a new order and accepts it.
#421The cook sees exactly what to make.
#422The kitchen controls what customers can order.
#423A rider signs in and goes on duty.
#424A rider walks through pickup to delivered, with cash or prepaid.
#425The customer sees the rider move even when the rider's screen is off.
#426A rider sees their day.
#427The admin sees every order and can cancel one.
#428The admin runs the city.
#429The admin changes menus, add-ons and offers.
#430The admin sees the numbers and the demo city.
#431People can find and trust the app in the stores.
#432The owner has tried everything on both phones.
#433Version 2 is released.
#434A person who works in two kitchens picks which one they are serving, and can switch without signing out.
#469A person who works in two kitchens picks which one they are serving, and can switch without signing out.
#470When people get hungry at their own odd hours, GoServe sends one interesting push that names the perfect dish for that moment.
#517Operating rules: a kitchen switching off with open orders, the rider at the kitchen, cash hand-over and rider pay
#620First open: mobile number and OTP, then location; show the customer's own address, never the kitchen
#655One question after delivery, asked by PostHog's survey popover, free up to 1,500 responses a month.
#741Ad blockers drop a share of events sent straight to `eu.i.posthog.com`.
#742The customer app changes screens by state, not by address, so web analytics sees one page view per app load.
#750Owner, 29 Oct 2026, while filling the Play store listing: "we can also have tablet desktop or android xr assets I am skipping right now, later we can also upload video here".
#776Owner, 29 Oct 2026 (canvas comment on R5 Pick up: "you decide").
#777Owner, 29 Oct 2026, canvas audit: the boards promised "Dinner at your door in 25 to 35 min" on Menu and a "32:00 left" countdown on the live order pill; the app shows "Open till 10:00 pm" and "No.
#778Canvas audit, 29 Oct 2026.
#779Owner, 29 Oct 2026 (canvas comment on A4 One order): "keep delivery charge".
#780Owner, 29 Oct 2026 (canvas comment on A4): "we will control delivery charge later dynamically from app intelligently as per delivery conditions, night rain traffic storm peak hours etc whatever it is but we will build it in intelligence later in mvp3".
#781Owner, 29 Oct 2026: "i dont want to check each row myself, decide what's the best yourself and clear out M3 asap and move things to m4".
#782Doing 0
Review 0
Done 266
Every lead from the investor site is saved and sent to us at once, so no lead is lost.
#5The lead alert on Telegram and the saved lead show every field, not blanks.
#6Every lead alert comes from our own bot, GoServeBot.
#8There is one place for every learning and mistake, and the process uses it.
#10There is one list of every part of the system, by phase.
#13Investors can see how GoServe grows from a demo to a city, one page, one phase at a time.
#16Delhi is the first city on the site, and every colour and font has one home.
#18Before the first build, every missing part is known, and the options for each are written down.
#20Before every MVP phase there is a gate: we stop and check that the setup is ready.
#22The app exists, installs on a phone, and uses the brand's colours from one file.
#39Every change to the app is checked by a machine before anyone can merge it.
#40Every push to the dev branch gives the owner a live dev site to look at.
#41A release to main puts the app on its public address by itself.
#42The database has the seven tables the order needs, and refuses an illegal order step.
#43Each person sees only their own data, the kitchen sees new orders live, and Delhi has a sample menu.
#44An order can be placed and moved through its steps by the workflows, with every step logged.
#45The system suggests a decision on each order and keeps a log of what it decided.
#46The owner gets a daily scorecard on Telegram without asking.
#47A customer can open the menu, fill a cart, see the bill and place an order.
#48The kitchen sees live orders and moves each one with Accept, Start and Ready.
#49The rider walks the delivery steps, and the customer sees the status up to Delivered.
#50The founder sees the system's suggestion and the day's numbers on one ops screen.
#51The demo shows all four roles side by side, each in its own space, with a reset.
#52The demo plays by itself even with no internet.
#53One page shows whether Supabase, n8n and Jev are up, before a demo.
#54A monitor watches dev and prod and tells us when the app is down.
#55The demo ran 20 times out of 20, on the founder's Android phone, with a backup video.
#56Production is ready: its own database, app address and workflows, before the first real demo.
#78Customer, kitchen, rider and ops each get their own installable app, from one codebase.
#83A tester sees something odd and tells us in ten seconds, without leaving the app and without WhatsApp.
#94Nobody delivers in the UAT.
#95A tester places an order, puts the phone in the pocket, and three minutes after the kitchen taps Ready the phone buzzes: "Was your order delivered?
#96After each UAT day the owner sees, in the 21:00 Telegram card and on the Ops screen: how many reports came in, how many orders customers confirmed, how often Jev answered in time, what it cost, and how many refusals (409, 503) happened.
#97We can make realistic practice data for Laya and check it before training.
#107Laya can be trained on a free Kaggle GPU and compared with the base model.
#111A customer can sign in with Google and keep the orders they placed before signing in.
#117No order is lost or doubled, even when the network drops, and we proved it.
#118MVP 1 is closed with a gate log, a closure note and a release.
#119The app has privacy and terms pages, so Google sign-in can show them.
#123A kitchen worker signs in with Google and sees their own kitchen.
#132A rider signs in with Google and sees their own deliveries.
#135Everything else needs one data model that holds many kitchens, customers, riders and admins.
#148The founder adds a kitchen and its people without touching the database.
#149Each kitchen's menu is managed by the founder, with real photos.
#150The founder sees the day and can stop a bad order.
#151Each order goes to one rider, chosen by rule, and the rider sees only their own orders.
#152A kitchen controls what a customer can order right now.
#153The customer learns about the order without keeping the app open.
#154Kitchen, rider and admin screens look and feel like one product.
#155Prod runs the whole system.
#156A refresh must not lose the customer's place.
#157A customer orders from a kitchen that serves their area.
#158The customer has an account-like experience on a cash order.
#159One set of components and tokens for every screen.
#160The customer app passes the benchmark table.
#161A kitchen cannot be saved or kept active without a pin code, a valid phone, sane hours or a unique name; a dish needs a price above zero and a unique name.
#184The demo console at `/` and the other role apps cannot place orders or read menus on prod.
#185A staff user belongs to one kitchen, and the kitchen app says so loudly when the account is not staff.
#186One table of rules, the database is the truth, the app mirrors it, one test per rule (`docs/product/validation-rules.md`).
#187One n8n API seeds synthetic kitchens, riders and dishes from parameters and one resets them.
#188A scheduled tick moves synthetic riders and flips synthetic kitchens and dishes while the simulator is on.
#189The admin sets parameters, seeds, resets and switches the tick on and off, and sees counts.
#190Addresses become points; orders outside the kitchen's radius or at unknown addresses are refused; ETA uses real km.
#191The winning skill applied to every customer screen.
#193The winning skill applied to the rider and kitchen apps, one-thumb.
#194The winning skill applied to admin tables and forms.
#195A table of integrations with tiers, costs and when.
#196letsdwelo.in shows three pages in the Ink v3 look: Home, For investors, Pre-register.
#200The owner gets a pilot report and a watch on the pilot's numbers.
#204The owner sees the platform's health and what it costs.
#205A tech investor can read what GoServe is built of in one README.
#206We can see what people do in the app with product analytics.
#207A customer never signs in.
#224The app opens in Day for everyone until the owner says otherwise.
#225The rider's cash in hand and the kitchen's slips must add up at the end of the day, and a delivery at 23:30 must not vanish from the rider's day at midnight.
#229A cook who already started a dish must know the order was cancelled, not just see it vanish.
#230The cook wants to know who is coming for a ready order, not just that someone is.
#231Open one page and know where GoServe is: what customers, kitchens and riders already have, what is being built this week, what comes next, and every ticket on a board.
#239Every app shows only its board.
#242A stranger who opens the repo reads in two minutes what GoServe is, what already works for a customer, a cook, a rider and the admin, how it runs, and where the plan is.
#246Anyone with the link sees where GoServe is, live, from any phone; the roadmap stops being a file on one Mac.
#247Before we build, we know the APK is real: one role installs and runs on the owner's phone, and we know what works and what does not.
#250Anyone can download the latest GoServe app from one page and install it.
#251Nothing paid runs when nobody asked for it.
#253The admin picks who makes the live decisions: Rules, Jev or Laya.
#263When an order is ready, the nearest free rider gets it, so the food waits less and reaches the door sooner.
#272The menu looks right again: photo on the left, name and price in the middle, Add on the right, open or closed.
#274When someone opens GoServe in Delhi, they see ten kitchens worth ordering from, the kinds we want to sign, each with a full menu at today's prices.
#282A customer on a real Delhi pin sees the demo kitchens and gets a rider, for every kitchen, the two old ones too.
#283An order on a demo kitchen moves like a real one: accepted, cooked, picked up and delivered by a moving rider.
#284A customer in East Delhi (pin 110092, the owner's own pin) has a kitchen close by, not one 8 to 10 km away.
#290When someone opens a demo kitchen's menu, every dish shows a real, good-looking photo.
#292Google Play asks for a privacy page before it lets testers install.
#302Everyone can see which branch holds what, and every story has the labels it needs.
#316The whole plan is one list of small stories that anyone can read and pick from.
#317Each goal has a date and a check that anyone can measure.
#318Anyone with a link sees where GoServe is today, what is next, and what waits on what, on a phone.
#319The founder's iPhone always shows the newest version of the app.
#320A customer cannot order from a kitchen that is closed.
#321A customer on a pin code we do not serve is told so kindly.
#322The founder can show GoServe in ten steps and know what to say.
#323The demo has been run twice before the founder shows it.
#324Our design starts from what Apple has learned about clear apps.
#327The Android app follows its own platform's rules and matches iOS.
#328We learn from good open examples and know how far to trust each source.
#329We know exactly what a good quick-food app does at each step.
#330The team shares seven simple rules and one big idea for the look of the app.
#331Both apps get the same colours, type and spacing from one file.
#332The owner can see the customer app before it is built.
#333The owner can see the staff apps before they are built.
#334Every screen has been asked five hard questions.
#335The owner agrees to the look before any app is built.
#336The new server has a home that deploys by itself.
#337The apps and the server agree on every field in one file.
#338A customer signs in with their phone number and a code.
#339A customer can keep their name and email and can delete their data.
#340A customer saves addresses and picks one in a tap.
#341The app knows whether a kitchen can deliver to a place, and how soon.
#342The menu shows badges, tags and collections like a modern food app.
#343A dish can have choices, like spice level or extras, with limits.
#344The bill is computed in one place, so every app shows the same price.
#345The best offer is chosen for the customer by the server.
#346An order is placed once, with the price the customer saw.
#347A customer can pay by UPI or card, and cash on delivery still works.
#348Kitchens and riders move an order along through the new server.
#349A rider is chosen by the new server when food is ready.
#350Phones are told when something changes.
#351A customer sees the order and the rider move.
#352A late order gives the customer a coupon by itself.
#353A customer rates the food and the rider.
#354A customer finds answers without calling us.
#355Every call leaves a row, so problems can be found.
#356A customer who sees a kitchen closed in the middle of the day is told the truth, not that it opens tomorrow morning.
#452The founder turns on one "demo mode" switch before a demo.
#454A customer is never asked "Was your order delivered?" while the kitchen is still cooking.
#456The Simulator tab looks as well made as the rest of the admin, so the founder is not embarrassed when he shows it.
#461When the admin does something that cannot be done, the screen says why in words he can read.
#466One person can run more than one kitchen: owner of one, staff in another, with one sign-in.
#468The owner's decision rules are written down in plain words, so the reviewer can decide as he would and the owner can correct them; and GoServe uses ShipQuick v0.6.1.
#477Nothing the customer must tap hides under the iPhone home bar or the status bar.
#481The customer must know when the food comes, with the app closed.
#483When something goes wrong on a phone, we must see what happened to that order, in order, from real logs.
#484One way to do a thing, never two (owner rule, 27 Oct).
#485The owner must know every day whether the prod database is healthy and how far it is from each Supabase free limit, and get an alert before a limit is hit.
#488The decisions, rules and research of 27 Oct must be written down so any session can find them.
#489The release, the daily limits card and the n8n publish rule must be written down so any session can find them.
#495There is one roadmap.
#497The customer must hear when the rider picks up the food.
#500The app must never ask "Was your order delivered?" for an order that is already delivered, and a notice must not repeat what the server push already says.
#501Someone who opens the bare `goserve-app.pages.dev` should understand GoServe in one scroll, like justswish.in, and reach the right door: customer, kitchen, rider or admin.
#503The owner's Night lamp idea and the motion framework must be kept in the repo, and today's records written down.
#506The first screen should give before it asks: one tap finds where you are, and you see your kitchen and today's food before the menu.
#508The owner's own Swish screen is the best source we have.
#509The owner's round-2 motion feedback must not be lost.
#511A reviewer mistake the owner corrected must teach the next session: the light zigzag colour is deliberate.
#513Every closed story shows its cycle time on the roadmap, even the 92 that closed before the `doing` label existed.
#518The pin mark in the Menu header stays where it is when you switch tabs; it flies in only once, right after you pick your pin code.
#525The app says "Good morning!" to a stranger, and "Good morning, Priya." only once it knows her name.
#527On the thali toggle, the veg and non-veg marks stay readable, and the chosen side is still clear.
#528A slow database moment must not skip a push round.
#532A push that was taken from the queue but never sent must not be lost.
#534A customer who taps Place order twice, or whose phone retries after a drop, gets the order they already made, not an error.
#537The order total means one thing everywhere, so the kitchen, the rider, the numbers and the bill always agree.
#538A slow database moment must not skip a tick of the simulator, the dispatcher, the push drain or the daily numbers.
#541When the owner is ready, each service takes him one click.
#544Everything the coder did and learned on 27 Oct is written down, so the next session finds it and repeats no mistake.
#545A customer can sign in with a phone number and a code at checkout; the screens exist now, the real SMS plugs in later.
#551A customer picks how to pay on the bill; online goes through the payment seam, cash keeps working.
#552A customer can get a code on their phone and prove the number is theirs; the guest's orders stay with them.
#553A customer turns on order alerts from You, on any phone.
#554An online payment can be started, confirmed by a signed webhook and refunded on cancel, while cash on delivery stays as it is.
#555An online order that is never paid does not stay stuck: the customer can switch to cash, and a payment not paid in 15 minutes fails on its own and the order goes back to cash.
#557A customer who already has an account and opens the app on a new phone signs in with their number and keeps their old orders; whatever they ordered as a guest on the new phone moves over.
#558A phone gets told when its order changes.
#561A phone is really told when its order changes.
#563A customer who chose to pay online can change their mind and pay cash, without waiting for the 15 minute expiry.
#565The real Razorpay webhook can reach us.
#569`orders.total_paise` means one thing everywhere: what the customer pays.
#572The best offer is chosen for the customer by the server, and the customer can see the list.
#574A customer who got a "Sorry we were late" coupon can see it in their offers and use it.
#579The demo is rehearsed on the real app before the founder shows it, and each run leaves a record.
#584Everything built in the 27 Oct stack (OTP, payments, push, coupons, ratings, profile, staff, help, on-time promise) must be written down, so the owner and the next session know what is done, what is a fake, and what the owner must click.
#585The customer sees the offers on the Bill, the best one first, and can apply one or type a code.
#588A customer who removes an offer from the Bill pays without it.
#589The price the customer sees on the Bill is the price of the order, with fees, tax and offers.
#590The rehearsal checks what a customer really sees: the question "Yes, I have it" comes before the slip says Delivered.
#593The first prod rehearsal, the offers stack and its tests must be written down so the next session knows what was run and what is open.
#595A customer who does not want the offer taps Remove and pays the full price.
#597The last layer of the offers (Remove on the Bill) and the list of layers of #346 are written down, so #346 and #311 can close with a clear record.
#599After the customer taps "Yes, I have it", the slip must keep saying "Paid: cash".
#601The night and final rehearsal runs, the paid_by fix and the freeze steps for the demo tag are written down.
#605Menu: the veg or non-veg jump pill has a square right edge on the chosen side
#607Menu: a thali has no minus; use the same plus and minus stepper as every other dish
#608You: the Order alerts switch can be turned off again
#609MAIN 90 daily card: Format message reads SUB 94's answer as the scorecard and crashes
#610Push: after sign out and sign in the phone has no subscription under the new session, so no ping comes while You says alerts are on
#613Kitchen Today: the Open for orders row does not match the board (switch knob spills past the track, two-line shouting sub-line)
#616Kitchen tickets: one grid for the number, the tag, the lines and the action on New, Cooking and Ready
#618Customer menu: a closed kitchen or a sold-out dish shows at once, and a refused order says why
#619The release branches to `main` stop needing hand edits, because `staging` has everything `main` has.
#621A sync from `main` is code that `main` already holds and has reviewed.
#623Commits that `main` already holds were gated when they merged.
#625The fixes from the owner's phone sitting (#325) and the guard changes are written down: tests, trace, what went wrong, and what is still open.
#632You: Continue with Google fails with 'Identity is already linked to another user' and the button overlaps the details card
#635Feedback sheet: the select's chevron is black on Night, invisible
#636Offline: say that the connection is gone and show designed placeholders, not broken images
#637Veg or non-veg pill: the chosen side follows the segment's shape, and its colour must not read as veg or non-veg
#638You: Continue with Google button sits under the details card, never over it (layout, boards Y1 and Y2)
#640Feedback: after Send, a clear 'Sent. Thank you.' card, the sheet closes, and offline and failure say so
#642Customer app copy audit: every word, line, icon and image gets a job or goes
#643CI: WebKit kitchen switch test waits for the stub's set_kitchen_open answer
#646Docs: 28 Oct sitting rows, learnings and the copy audit
#650Night contrast: ink text on every lime box (signed-in line, rider card, badges) and a contrast test for every text pair
#653Docs: 28 Oct second half, copy-audit marks and ideas
#657Bill copy and the error lines: labels, Placing…, missing-fields line, one line per server code
#659Tracker and Orders copy: 12-hour clock, cancelled state, cancel-refused line, empty state
#660You, Feedback and alerts copy: sub lines, the customer list, optional label, alerts-failed line, contact email
#661First open A: the fixed code 123456 and the deploy env
#665First open B: no Use on another phone, Signed in on You
#666First open C: number and code on the first screen
#667First open D: location step and the kitchen kept back-end
#668Privacy page: location sent once to OpenStreetMap
#673Docs: copy-audit fixes, first open, radar and learnings
#675Backend v2 to prod: one owner-run release script with a dry run (migrations, functions, secrets)
#677Runbook for backend v2 on prod (docs for #677)
#679Prod script: upload every function file so cross-function imports bundle (fix for #677)
#681Docs: learning and trace for the prod function bundle (#681)
#683Management API calls: an empty 2xx body is not an error (fix for #677)
#685Docs: apply results, empty-body learning and rows for backend v2 on prod (#677)
#688Design canvas by stage: production, final not built, in discussion, rejected, UI bugs fixed
#690Live rider map on the tracker (OpenStreetMap tiles, our rider pings)
#691MAIN 34 marks pushes sent (push_outbox_sent) before the re-offer migration reaches prod
#693Docs: owner marks of 29 Oct, M3 triage and the push outbox rollout runbook
#695Docs: PostHog events, orders v2 flag and rows for #207 and #590
#700Docs: validation rules table and rows for #187
#702Docs: sim orders A to G on the v2 path, result row
#706Docs: one real order through the deployed orders function on dev, result row
#708Menu follows the kitchen live: closed state and Sold out card (#619 layer a)
#710Server picks the alternative for a sold-out dish and prices the swap (#619 layer b)
#712The Bill names a sold-out dish and offers Swap it in or Take it out (#619 layer c)
#714The admin sets the sold-out swap discount (#619 layer d, board A9)
#716A customer asks to be told when a closed kitchen opens (#619 layer d, board L1)
#718Docs: the #619 stack rows, canvas by stage, runbook, learnings
#720Docs: the radar run for the live rider map (#691)
#722Docs: the rider map rows, the tile test and follow-ups (#691)
#725Docs: the open questions of the canvas by stage (#690)
#727Docs: the owner picked C, the native Android app, and the questions on it (E28)
#729The n8n deploy tries again on a non-JSON answer and can resume with --from
#731Admin settings: a slow load must not overwrite what the admin typed
#733Docs: the prod rollout record, the 520 lesson, the flake lesson, radar for #503
#735The dev app at Vercel is what we test on before prod.
#737The owner wants proper product analytics and web analytics on the free plan.
#738A replay of a stuck customer shows what the phone sitting cannot: where they stopped.
#739Errors on customers' phones are invisible today.
#740Docs: the Android decision, the PostHog research, F288 closed
#744Docs and listing for the Play closed test (#254)
#751Data fix: Butter Chicken and Chicken Biryani of the seed kitchen are not veg (F300)
#753Docs: Play runbook step 0, the veg data fix, F300 corrected
#755Docs: the canvas audit of Section 1 and its learning
#757The Feedback sheet uses the design system
#759An accepted kitchen ticket shows the right tag
#760PLAN.md Definition of Done: a changed live screen names its board
#763The vault readers look in the goserve folder first
#765The GoServe keys now live in one file.
#767Owner, 29 Oct 2026: "make sure we avoid all common violations", "saare gaps ko turant fix karwao ek story banake".
#771Owner, 29 Oct 2026: the seeded kitchens and riders stay on prod for the Play testers.
#783