Inspiration
Group takeaway orders usually begin with excitement and end with someone scrolling through dozens of messages, rebuilding everyone’s choices by hand and hoping nothing was missed. Dishes get duplicated, names get confused, prices change, and somebody inevitably asks, “Where’s mine?”
The original idea for Garcon came from experiencing that problem firsthand. It became especially relevant again while planning food for football watch parties, where a lively group chat is great for conversation but terrible at producing one accurate order.
During OpenAI Build Week, we turned that earlier concept into a working application: Garcon — Your Takeaway Order Copilot.
What it does
Garcon turns a reviewed menu into a structured ordering event.
An organiser can:
- Paste or manually enter a menu (works real or made up home cooked menus)
- Review every extracted item and price before publishing it.
- Create an event with a fixed ordering deadline.
- Share one secure link with the group.
- Monitor submitted orders as they arrive.
- See both a per-person packing list and aggregated restaurant quantities.
- Identify duplicate names and important guest notes.
- Close or reopen ordering and export the final result as CSV.
Guests do not need to register or create accounts. They open the event link, enter a display name, select quantities, add an optional note, review their order and submit it. They can safely edit their choices while the event remains open.
Garcon is primarily demonstrated with restaurant takeaway, but it is not limited to expensive meals or restaurant menus. An organiser can also create a menu for homemade dishes, desserts or portions and collect the quantities everyone wants. Dietary notes can be recorded for the organiser or food provider, but they are requests—not nutritional or allergen-safety guarantees.
Garcon is not another restaurant marketplace. It is the coordination layer between a group and any organiser-reviewed menu.
How we built it
Garcon is a React and TypeScript application built with Vite, Tailwind CSS and Zod. Supabase provides organiser authentication, PostgreSQL persistence, Row Level Security, transactional database functions and narrowly scoped Edge Functions. The public application is deployed using (ChatGPT) Sites.
Reliability and security shaped the architecture:
- Every active event receives an immutable snapshot of the reviewed menu.
- Guests are authorised by high-entropy, event-scoped bearer links rather than accounts.
- Raw guest-token secrets are never stored.
- A guest name labels an order but is never treated as authentication (users can give whatever name - even given a silly name when picking up coffee? that works here too ;) )
- Anonymous clients cannot access the underlying database tables directly.
- The server calculates accepted prices from frozen menu items using integer currency units.
- Guest submissions are atomic and idempotent.
- Session state and deadlines are checked again when an order is committed.
- Every organiser-owned record is site-scoped to prevent cross-site access.
Menu extraction creates an editable draft rather than automatically publishing generated content. The current supported parser is deterministic, and every item remains behind an organiser review step.
We used ChatGPT to develop the original product idea and Codex with GPT-5.6 Sol at Extra High reasoning throughout Build Week. Codex helped with product planning, repository discovery, React implementation, Supabase migrations, Edge Functions, tests, debugging, documentation, deployment and submission preparation.
GPT-5.6 powered the development workflow; it is not a hidden runtime dependency inside Garcon.
Challenges we ran into
The hardest challenge was preserving the simplicity of a no-login guest experience without weakening security. A guest should be able to order immediately, but their name cannot safely act as a password. We solved this with scoped bearer links, hashed token secrets and separate receipt credentials for editing an existing order.
Order correctness was another significant challenge. Accepting prices or totals from the browser would allow stale or manipulated submissions. We therefore moved validation, price calculation, deadline enforcement and order replacement into one database transaction.
Menu stability also required careful design. If an organiser edits a reusable menu after sharing an event, those changes must not silently alter choices that guests have already reviewed. Garcon freezes a separate menu snapshot when the event opens.
External menu extraction proved unreliable because some restaurant platforms block automated requests. Instead of making scraping critical to the product, we kept URL import disabled by default and made paste, review and manual entry the dependable path.
We also moved development between workspaces and Codex sessions. Maintaining a detailed product plan, implementation-status document and Git history allowed development to continue without losing the architectural and security decisions already made.
Working against a hackathon deadline meant resolving last-minute bugs and finishing touches wherever we were. ChatGPT Remote helped us continue coding on the go and keep the project moving towards submission.
ChatGPT also helped us stay focused on executing the product vision by reducing technical friction from idea to production—and by helping us shape and draft the final submission.
Accomplishments that we're proud of
We are proud to have built and deployed a complete cross-browser journey:
- An organiser can register and create a reviewed menu.
- Garcon can freeze that menu into a hosted event.
- A guest can order through a no-login link on another browser or device.
- The guest can receive a scoped receipt and edit their submission.
- The organiser can immediately see reconciled per-person and per-item views.
- The final quantities and totals can be exported without rebuilding the order from chat messages.
We are especially proud that the simple interface is supported by strong reliability boundaries: immutable menu snapshots, server-owned prices, atomic submissions, idempotent retries, hashed guest credentials and tenant isolation.
Garcon demonstrates that a lightweight family or group application can still be designed with production-minded security and data integrity.
Finally, we are proud that Garcon removes one small but surprisingly disruptive source of stress that can get in the way of a fun evening together—so the group can spend less time untangling orders and more time enjoying the occasion.
What we learned
We learned that convenience and reliability do not have to be opposing goals. Guests can remain account-free when access links are carefully scoped and handled as real credentials.
We also learned that group ordering is fundamentally a reconciliation problem. The best interface is not merely a shopping cart—it must connect every aggregated quantity back to a person so that ordering, payment discussions and handing out food remain understandable.
AI-assisted extraction is most useful when it removes repetitive work without being given unchecked authority. Treating extracted menus as drafts keeps a person responsible for confirming items and prices.
Most importantly, we learned that durable documentation is part of the implementation. Product decisions, security invariants and implementation records helped both the developer and Codex maintain continuity as the project evolved.
We also learned how quickly a clear product idea can become a working application when ChatGPT and Codex are used as collaborative building tools rather than as an autopilot. ChatGPT helped us explore the problem and shape the product decisions; Codex helped turn those decisions into code, database migrations, tests, documentation and a deployed application. The real acceleration came from combining that rapid implementation with human judgement, verification and clear security boundaries.
What's next for Garcon - your takeaway copilot!
Next, we want to:
- Persist reusable reviewed menus across browsers and devices.
- Refine organiser and site-level menu permissions.
- Add share-link rotation and stronger event-management controls.
- Introduce optional participant rosters so organisers can see who has not responded.
- Add rate limiting, abuse protection and automated retention cleanup.
- Expand secure PDF and OCR-assisted menu import while preserving human review.
- Explore approved restaurant-menu integrations without making scraping part of the critical ordering path.
- Improve support for organiser-created menus, homemade dishes and desserts.
- Make dietary-request visibility clearer without presenting Garcon as an allergen-verification system.
- Add printable packing views, notifications and other tools that make distributing a large group order effortless.
Our goal is to make coordinating food for families, friends and informal groups feel as easy as sharing a link—and far more dependable than managing the order in a group chat.
Built With
- chatgpt
- chatgptdesktop
- codex
Log in or sign up for Devpost to join the conversation.