giant-cafe is an AI agent that builds and runs a cafe for its owner. The product's intent, taken directly from the requester's own words, is an agent that can "build me my cafe with all the finances and the interiors and also reaching out customer feedback and many more" — that is, a single operating system in which the cafe is established, its money is tracked and reviewed, its interior is planned and managed, and its guests are reached out to and heard.
The audience is the independent cafe operator: the Cafe Owner who commissions the build-out and owns the outcome, the Cafe Manager who runs the day-to-day money, room, and guest voice, and the Customer who receives the cafe's outreach and supplies the feedback that closes the loop. The product is deliberately warm and craft-forward rather than enterprise-cold: it is a cheerful workshop for running a cafe, not an admin panel. The requester also asked for "all the billings and also the cost of menu and various items", so the cafe's billing records and the costs of its menu and other items are first-class parts of the money side of the product.
giant-cafe is delivered as a first-party web application with an anonymous public entry, application-owned identity, and a protected operating workspace. The AI agent is the connective tissue of the product: it performs the cafe-building work (setup, finances, interiors, feedback outreach) and surfaces the results as reviewable, editable state that the owner and manager act on.
Actors. The accepted active-human catalog is exactly three roles: Cafe Owner, Cafe Manager, and Customer. Outbound feedback recipients (guests contacted by the cafe's outreach) are external recipients, not a fourth persona. The AI agent is a system actor, not a persona.
Accepted behavior. The agent establishes the cafe's core details; tracks and reviews the cafe's financial information, including the cafe's billing records and the costs of its menu and other items; plans and manages the cafe's interior design; and reaches out to customers for feedback and collects it. The owner and manager review and direct this work from a protected workspace; the customer receives outreach and submits feedback through a customer-facing destination.
Ownership. All twelve destinations are application-owned custom pages. Identity is application-owned: the Cafe Owner self-enrolls, returning users verify, the Cafe Manager is provisioned by an authorized owner or manager, and the Customer reaches the feedback destination through an invitation context. Background automation and external recipients are part of the delivery shape.
Narrow exclusions. This document does not add point-of-sale hardware integration, payroll, tax filing, supplier procurement, e-commerce, or any other adjacent capability that the source did not accept. "Many more" is preserved as an accepted expectation of further related cafe capabilities, not as a license to invent specific modules.
The requester asked for an AI agent that builds their cafe — finances, interiors, customer feedback, and more — and then asked for all the billings and the cost of the menu and various items. That is the whole current product. Everything in this document traces to one of those named areas or to the minimum mechanics needed to make them usable by a real owner, manager, and customer.
Delivery. giant-cafe is a first-party web application. The public entry (Landing) is anonymously reachable and explains what the agent does and who it is for. Identity is application-owned because the accepted journeys require durable, privately owned cafe records: an owner's cafe details, finances, and interior plans must persist and be resumable, and a customer's submitted feedback must remain bound to the correct guest. First-use enrollment is self-service for the Cafe Owner; the Cafe Manager is provisioned from inside the protected application by an authorized owner or manager; the Customer reaches the feedback destination through an invitation context rather than self-enrolling.
Current vs. future. All twelve pages and all requirements in this document are current. No future-horizon requirements were stated by the user; the "many more" expectation is recorded as an accepted open expectation rather than as a scheduled future feature set.
Access boundary. Landing is anonymous. Login and Sign Up are anonymous entry surfaces — a protected destination cannot own the interaction that establishes access to itself. Cafe Setup, Dashboard, Finances, Billing, Menu Costs, Interiors, Feedback Outreach, and Feedback are role-restricted to the Cafe Owner and Cafe Manager. Share Feedback is role-restricted to the Customer and is reached through the invitation context the cafe sends.
No reference directive in this project declares content_source authority, so no source content inventory is included.
FR-1 — AI agent builds the cafe. As a Cafe Owner, I should have an AI agent that builds my cafe for me, so that establishing the cafe does not require me to assemble every detail myself. (provenance: explicit; lifecycle: the owner initiates from Cafe Setup, the agent produces proposed cafe details, the owner confirms or edits them, and the saved cafe becomes the workspace the rest of the product operates on; failure/recovery: a failed save preserves all entered and proposed values and can be retried; continuation: the owner continues to Dashboard.)
FR-2 — Agent handles the cafe's finances. As a Cafe Owner, I should have the agent handle my cafe's finances, so that the money side of the cafe is tracked and reviewable in one place. (provenance: explicit; lifecycle: the owner or manager initiates from Finances, the agent tracks and presents the financial position, the human reviews it, and the tracked position persists for later review; failure/recovery: a failed entry save or load preserves entered values and can be retried; continuation: the user returns to Dashboard or continues adding entries.)
FR-3 — Agent handles the cafe's interiors. As a Cafe Owner, I should have the agent handle my cafe's interiors, so that the room's design is planned and managed rather than left to scattered notes. (provenance: explicit; lifecycle: the owner or manager initiates from Interiors, the agent proposes an interior direction, the human accepts or revises it, and the resulting plan persists; failure/recovery: a failed save preserves entered values and can be retried; continuation: the user returns to Dashboard or continues editing the plan.)
FR-4 — Agent handles customer feedback outreach. As a Cafe Owner, I should have the agent reach out to my customers for feedback, so that the guest voice is actively solicited rather than waited for. (provenance: explicit; lifecycle: the owner or manager initiates from Feedback Outreach, the agent sends the request to customers, the customer receives it and responds on Share Feedback, and the response arrives in Feedback; failure/recovery: a failed send preserves the composed message and can be retried; continuation: the user monitors outreach status and reviews arriving feedback.)
FR-5 — Additional related cafe capabilities. As a Cafe Owner, I should be able to expect additional related cafe capabilities beyond finances, interiors, and feedback, so that the agent can grow with the cafe's needs. (provenance: explicit; lifecycle: this is an accepted expectation of further related capability, not a scheduled feature set; no specific additional module is committed by this requirement; continuation: any future capability is added under a future horizon and does not alter current pages or acceptance.)
FR-6 — Cafe Owner self-service enrollment. As a Cafe Owner, I should be able to enroll myself on first use, so that I can begin building my cafe without waiting for someone else to create my access. (provenance: required_inference; lifecycle: the owner initiates from Sign Up while anonymous, establishes an application-owned identity, and lands in Cafe Setup; failure/recovery: invalid or already-used input shows an inline message with values preserved and can be corrected or switched to Login; continuation: the owner proceeds into Cafe Setup.)
FR-7 — Returning verification. As a Cafe Owner, Cafe Manager, or Customer, I should be able to verify my identity on return, so that I can resume my own durable cafe records or feedback. (provenance: required_inference; lifecycle: the returning user initiates from Login while anonymous, verification succeeds, and the user is routed to the destination appropriate to their role; failure/recovery: invalid credentials show an inline message with values preserved and can be retried immediately; continuation: owner/manager continue to Dashboard, customer continues to Share Feedback.)
FR-8 — Cafe Manager provisioning. As a Cafe Owner or Cafe Manager, I should be able to provision access for a Cafe Manager, so that day-to-day operational work can be shared. (provenance: required_inference; lifecycle: an authorized owner or manager initiates from inside the protected application, the manager identity is provisioned, and the manager can subsequently verify on return and reach Dashboard; failure/recovery: a failed provisioning shows an inline message and can be retried; continuation: the provisioned manager verifies at Login and continues into the protected workspace.)
FR-9 — Customer invitation context. As a Customer, I should receive an invitation context from the cafe that lets me submit the feedback it asked for, so that my response is bound to the correct cafe and to me. (provenance: required_inference; lifecycle: the cafe's outreach produces the invitation context, the customer opens Share Feedback with that context, submits feedback, and receives an acknowledgement; failure/recovery: a failed submission preserves the entered feedback and can be retried; continuation: the customer sees the acknowledgement confirming receipt.)
FR-10 — Cafe setup and confirmation. As a Cafe Owner, I should be able to enter or confirm my cafe's core details, so that the agent has a real cafe to operate on. (provenance: required_inference; lifecycle: the owner initiates from Cafe Setup, the agent proposes values, the owner confirms or edits them, and the cafe is saved; failure/recovery: a failed save preserves all values and can be retried; continuation: the owner continues to Dashboard.)
FR-11 — Financial entry and review. As a Cafe Owner or Cafe Manager, I should be able to add or update a financial entry and review the tracked position, so that the cafe's money stays current. (provenance: required_inference; lifecycle: the user initiates from Finances, enters or updates an entry, the tracked position updates, and the entry persists; failure/recovery: a failed save preserves entered values and can be retried; continuation: the user continues reviewing or returns to Dashboard.)
FR-12 — Interior plan management. As a Cafe Owner or Cafe Manager, I should be able to add or update an interior plan item and accept or revise the agent's proposed direction, so that the room's design stays current. (provenance: required_inference; lifecycle: the user initiates from Interiors, adds or updates an item or accepts the proposal, and the plan persists; failure/recovery: a failed save preserves entered values and can be retried; continuation: the user continues editing or returns to Dashboard.)
FR-13 — Outreach composition and sending. As a Cafe Owner or Cafe Manager, I should be able to compose and send a feedback outreach request to customers, so that the cafe actively solicits the guest voice. (provenance: required_inference; lifecycle: the user initiates from Feedback Outreach, composes the request, sends it, and the request appears as outstanding; failure/recovery: a failed send preserves the composed message and can be retried; continuation: the user monitors status and reviews arriving feedback in Feedback.)
FR-14 — Feedback submission by the customer. As a Customer, I should be able to submit feedback about the cafe, so that my experience is heard. (provenance: required_inference; lifecycle: the customer initiates from Share Feedback with the invitation context, enters and submits feedback, and receives an acknowledgement; failure/recovery: a failed submission preserves the entered feedback and can be retried; continuation: the customer sees the acknowledgement.)
FR-15 — Feedback collection and review. As a Cafe Owner or Cafe Manager, I should be able to collect and review customer feedback, so that the guest voice can be acted on. (provenance: required_inference; lifecycle: submitted feedback arrives in Feedback, the owner or manager reviews it by category, and acts on an item; failure/recovery: a failed load shows a muted panel with a retry control; continuation: the user returns to Dashboard or continues reviewing.)
FR-16 — Protected workspace summary and continuation. As a Cafe Owner or Cafe Manager, I should be able to see the current state of the cafe's finances, interiors, and feedback in one place and continue into any of them, so that ongoing work has a single continuation point. (provenance: required_inference; lifecycle: the user initiates from Dashboard, sees current figures and task counts, and opens the workspace they need; failure/recovery: a failed summary load shows a muted panel with a retry control while navigation remains available; continuation: the user opens Finances, Interiors, Feedback Outreach, or Feedback.)
Product context. The Cafe Owner is the person who asked for an AI agent to build their cafe. They are the origin of the cafe in giant-cafe: they enroll themselves, establish the cafe's core details, and own the outcome of the money, the room, and the guest voice. They are the only role that can create the cafe in the first place.
Primary goal. To have a cafe that is actually established and running — its finances tracked, its billings and menu costs current, its interior planned, and its customers heard — without having to assemble all of that from scattered tools.
Distinct accepted responsibilities. The owner self-enrolls on first use (FR-6), establishes the cafe's core details with the agent (FR-1, FR-10), reviews and directs the cafe's finances (FR-2, FR-11), accepts or revises the agent's interior direction (FR-3, FR-12), directs feedback outreach (FR-4, FR-13), reviews collected feedback (FR-15), and can provision a Cafe Manager (FR-8). They hold the expectation of further related cafe capabilities (FR-5).
Relevant inputs and decisions. The cafe's core identifying details; whether to accept or edit the agent's proposed setup and interior direction; financial entries; the content of outreach requests; whether to provision a manager.
Interactions with other accepted participants. The owner provisions the Cafe Manager, who then shares the operational work. The owner's outreach reaches the Customer, whose response arrives back in the owner's Feedback workspace. The owner is the only role that can create the cafe; the manager cannot.
Observable success. The cafe exists and is saved; finances show current tracked figures; billing records and menu and item costs are current; the interior plan reflects the owner's accepted or revised direction; outreach has been sent and feedback has arrived and been reviewed.
Product context. The Cafe Manager is the recurring operational role. Running a cafe's finances, interiors, and customer feedback is day-to-day work, and the manager is provisioned by an authorized owner or manager rather than self-enrolling. They work inside the same protected workspace as the owner but do not create the cafe.
Primary goal. To keep daily operations on track — the money current, the room's setup up to date, and customer feedback followed up on.
Distinct accepted responsibilities. The manager verifies on return (FR-7), reviews the protected summary and continues into work (FR-16), adds or updates financial entries and reviews the tracked position (FR-11), maintains the cafe's billing records (FR-17), reviews and updates the costs of the menu and other items (FR-18), adds or updates interior plan items (FR-12), composes and sends feedback outreach (FR-13), reviews collected feedback and acts on it (FR-15), and can provision another Cafe Manager (FR-8).
Relevant inputs and decisions. Day-to-day financial entries; interior item updates; outreach message content; which feedback items to act on.
Interactions with other accepted participants. The manager is provisioned by the owner or another manager and works alongside the owner in the same protected workspace. The manager's outreach reaches the Customer, whose feedback the manager then reviews.
Observable success. Financial entries are current; interior items reflect the room as it stands; outreach has been sent and its status is visible; feedback has been reviewed and acted on.
Product context. The Customer is the guest whose voice the cafe is trying to hear. They do not enroll themselves and do not work inside the protected cafe workspace; they arrive through the invitation context the cafe's outreach sends and interact with a single customer-facing destination.
Primary goal. To easily share their experience of the cafe and see that it was received.
Distinct accepted responsibilities. The customer receives the cafe's outreach, opens Share Feedback with the invitation context (FR-9), submits feedback about the cafe (FR-14), and sees an acknowledgement confirming receipt.
Relevant inputs and decisions. Their rating or sentiment, their comment, and the category of their feedback; whether to submit at all.
Interactions with other accepted participants. The customer is reached by the owner's or manager's outreach and their submitted feedback arrives in the owner's and manager's Feedback workspace. The customer never sees the protected workspace.
Observable success. The feedback is submitted and an acknowledgement confirms it was received.
Muse: Charles & Ray Eames. Headline direction: "Build your cafe, run its money, hear its guests."
Warm modernism for the giant-cafe operating system: an ordered modular grid softened by mid-century colour harmonies and organic-modern shapes, so the product reads as a cheerful workshop rather than a cold admin panel.
Colour tokens (light mode).
| Role | Hex | Use |
|---|---|---|
| Background | #F4EDE1 | Warm cream ground — never pure white |
| Surface | #FBF7F0 | Soft paper surfaces for cards and panels |
| Text | #2B2622 | Ink for body and headings |
| Primary | #1F5E5B | Deep teal — navigation, primary buttons, chart baselines |
| Accent | #E2542B | Tomato red — the single hot accent: primary CTA, live-feedback pings, active tab underlines |
| Muted | #8A7B69 | Muted walnut — labels, rules, secondary metadata |
| Chart series 1 | #D9A227 | Mustard — chart series and category chips only, never button fills |
| Chart series 2 | #9BB39A | Sage — chart series and category chips only, never button fills |
Pure white #FFFFFF is forbidden as a ground. Blue and indigo primary buttons are forbidden. Dark-mode-first surfaces are forbidden — the product lives in warm daylight.
Typography.
clamp(44px, 9vw, 96px) on the landing headline; clamp(28px, 4.5vw, 40px) for page titles; 21px for section heads; 16px body; 14px UI; 12px labels.Shape language. Organic-modern and modular. Cards are 20px-radius rounded rectangles with 1px walnut hairlines and a soft 0 2px 0 rgba(43,38,34,0.06) offset shadow — no blur-bloom. Buttons are pill-shaped for actions and 10px-radius for toolbar controls. Section boundaries use gentle arcs (border-radius: 50% 50% 0 0 / 12% 12% 0 0) so the page reads as stacked curved panels rather than flat bands. Chart containers use a squircle (radius 28px) with a subtle woven dot texture in the background at 4% opacity.
Layout. Modular panel grid — 12 columns on desktop, 6 on tablet, 2 on mobile — with a persistent left rail (72px icon rail on mobile collapsed, 240px labelled rail on desktop) showing Cafes, Finances, Interiors, Feedback, Outreach. Content sits in gallery-like sequences: an oversized page-title band, then a row of 3–4 instrument cards, then full-width data panels. Finance tables use aligned label/value pairs with hairline row rules. Interiors uses a two-column spread: a moodboard column of swatch and material tiles beside a spec column. Feedback uses a wall of quote cards in a masonry grid, each with a coloured category tab.
Imagery. Warm photography of real cafe life — a barista's hands on a portafilter, a sunlit counter, a chalkboard menu, coffee and pastry still-lifes — shot on cream and walnut grounds with natural light and shallow depth of field. Interiors uses material swatches (terrazzo, oak, brass, linen) as flat tiles. Finance uses schematic diagrammatic line art rendered in Jost instead of stock charts. No 3D renders, no gradient blobs, no generic icon sets — icons are hand-drawn 2px strokes in walnut. Emoji and filled icon sets are forbidden.
The colour-block stage. The public entry is a full-bleed warm-cream stage split into three vertical colour panels that slide in from the bottom on load in a 60ms stagger: a wide tomato-red panel on the left at 42%, a cream breathing panel in the centre at 33%, and a deep-teal panel on the right at 25%.
The centre cream panel holds the oversized Fraunces headline — "Build your cafe, run its money, hear its guests." — set at clamp(44px, 9vw, 96px), stacked across five lines, left-aligned, with its final word ("guests.") overlapping the teal panel edge in tomato red. Beneath the headline sits a pill CTA, "Start with your cafe", in teal with a cream label, and a secondary text link, "See how it works".
The teal panel carries a vertical stack of three live instrument readouts in Jost 600 tabular figures — "Revenue today £1,284", "Guest sentiment 4.7/5", "Interior tasks 3 open" — separated by cream hairlines. These are the product's three accepted areas rendered as instruments, not as marketing claims.
There is no centred headline, no gradient blob, and no floating device mockup. The composition is the product's own operating surface, staged as a poster.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d
Landing Hero Motion Brief.
cubic-bezier(0.22,1,0.36,1)); hover states are quick 120ms colour fills with no bounce and no particles; a single slow 2.4s opacity breathe loop on the live-feedback beacon.NFR-1 — Warm-daylight surfaces. The product must never use pure white #FFFFFF as a ground; backgrounds are #F4EDE1 and surfaces are #FBF7F0. (provenance: explicit creative direction; rationale: the product lives in warm daylight and must not read as a cold admin panel.)
NFR-2 — Forbidden template look. The generic indigo/blue-on-white SaaS template is forbidden for this project. (provenance: explicit creative direction.)
NFR-3 — Typography fidelity. Headings must use Fraunces at 500–600 weight with the soft 'wonk' axis engaged for display sizes; body must use Jost. Inter, Roboto, Arial, Helvetica, Poppins, and system-ui are forbidden for headings and body. (provenance: explicit creative direction.)
NFR-4 — Accent discipline. Tomato red #E2542B is the single hot accent, reserved for the primary CTA, live-feedback pings, and active tab underlines. Mustard #D9A227 and sage #9BB39A are permitted only inside chart series and category chips, never as button fills. (provenance: explicit creative direction.)
NFR-5 — Readable text and controls stay whole. Headlines, wordmarks, labels, numbers, and cards' text and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element may cover any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut as the direction asks, as long as they cover no readable text or control. Moving and scrollable content may cross the viewport or container edge by design and is judged by whether it actually moves or scrolls and whether every item becomes fully readable as it passes. (provenance: explicit creative direction; rationale: this rule takes precedence where a direction asks readable text or a control to be cropped.)
NFR-6 — Reduced motion. Everything stops under prefers-reduced-motion. Moving and scrollable content stops and shows whole items: they wrap into rows, or sit in a horizontally scrollable row (overflow-x: auto) whose further items are reached by scrolling. (provenance: explicit creative direction.)
NFR-7 — Icon style. Icons are hand-drawn 2px strokes in walnut. Emoji and filled icon sets are forbidden. (provenance: explicit creative direction.)
NFR-8 — Identity continuity. Application-owned identity is required so that an owner's cafe details, finances, and interior plans persist and are resumable, and so that a customer's submitted feedback remains bound to the correct guest. (provenance: required_inference; rationale: the accepted journeys create durable, privately owned records that must remain bound to the correct participant.)
NFR-9 — Access boundary integrity. A protected destination must not own the interaction that establishes access to itself. Landing, Login, and Sign Up are anonymously reachable; Cafe Setup, Dashboard, Finances, Interiors, Feedback Outreach, and Feedback are role-restricted to the Cafe Owner and Cafe Manager; Share Feedback is role-restricted to the Customer and reached through the invitation context. (provenance: required_inference; rationale: the accepted journeys require an anonymous entry boundary distinct from the protected workspace.)
NFR-10 — No differentiated permissions beyond the accepted roles. Application identity and session continuity do not establish differentiated permissions. The only role-based restriction established by the accepted scope is the boundary between the protected cafe workspace (Cafe Owner and Cafe Manager) and the customer-facing feedback destination (Customer). (provenance: required_inference; rationale: no authoritative source establishes finer-grained control or visibility over shared product state.)
No source-specified technology was overridden; the stack above preserves the accepted delivery shape (custom UI, application-owned identity, background automation, external recipients).
Assumptions.
Constraints.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!