Inspiration
An independent restaurant lives on 3–5% net margin. Food cost is the single largest controllable line, and it moves constantly — a vendor raises salmon 8%, nobody notices for six weeks, and a signature dish has been sold at a loss forty times.
The information needed to catch it already exists — the stack of crumpled invoices on the desk, the PDFs in the inbox. But turning that paper into actionable visibility requires a bookkeeper, a spreadsheet habit, or an enterprise inventory suite. The owner-operator has none of these.
The tools that do exist are priced for groups. The closest competitor starts at 159€/month in Spain with an implementation fee and a "schedule a call" sales motion. A twelve-table restaurant will not buy that, so it buys nothing and keeps guessing.
The smallest restaurant deserves to know its margins.
What it does
Teremu gives a restaurant owner the one number they need to run the business — food-cost percentage — and every lever behind it: which dishes earn, which don't, which vendors raised prices, and how much inventory is sitting in the walk-in. All of it organized, always current, and actionable without a spreadsheet or an accountant.
How it gets there: digitize vendor invoices — photograph a stack with the phone camera, forward them from email, or drop a PDF. AI classifies, extracts line items, matches them against your existing ingredient catalog, and cross- checks the math. You review the result side by side with the source, one tap to approve.
From that single act, everything updates: ingredient prices roll, every dish's margin recomputes from its recipe, the theoretical pantry fills with automatic unit conversion. Log daily sales and the pantry depletes through those same recipes — stock is purchases minus sales with zero daily input.
The dashboard shows food-cost percentage against the healthy band, a menu- engineering matrix, spend by vendor, and alerts — this vendor raised you 8.2%, this dish slipped under target. An AI assistant answers questions over the restaurant's own data, filtered by each member's permissions.
Web, iOS and Android from one codebase. Spanish first, English second.
How we built it
Built in partnership with Carlos from El Rectangle (elrectangle.com), whose experience running restaurants gave the product what no amount of code can substitute: what a real invoice stack looks like at 7am, which numbers actually matter on a Tuesday, and where software either fits a kitchen's rhythm or gets ignored. Carlos shaped what to build, what order to build it in, and what not to build.
Engineering was produced by one person with a fleet of AI coding agents — Claude Code, Google Antigravity, Kiro — governed by project docs stating the rules an agent may not break. The architecture is strict partly because strict rules are the ones an agent can be held to.
Vue 3 + Capacitor on Firebase. One deliberate property: the client holds no database credentials — every byte flows through a permission-checked API. AI goes through a single provider-agnostic client: NVIDIA's free tier today, Gemini at scale, swapped by one env var.
Challenges we ran into
Building and selling at the same time. A small operation has to ship features, onboard pilot restaurants, validate pricing, and answer questions at 7am — all from the same hours. The temptation is to keep building because the code is comfortable; the discipline is knowing that an unmarketed product helps nobody. The partnership with Carlos solves half of this: domain credibility and operator relationships that would take a developer years to build alone.
Making AI reliable on real paper. A crumpled, coffee-stained, badly-lit invoice is not a clean document. The model's output cannot be trusted blindly — so every extraction is arithmetically cross-checked, flagged for human review, and the human correction always wins. The pipeline had to absorb every variety of model sloppiness: unescaped quotes, trailing commas, truncated replies, hallucinated fields. Each recovery path logs distinctly so the failure rate is queryable, not guessed.
Units are where invoice math dies. A vendor bills a case; a recipe calls for 180 g; stock is kept in kg. Every downstream number must convert across measurement systems without silently guessing.
Accomplishments that we're proud of
The product works — not just in a demo. A complete food-cost control system: scanner, AI pipeline, triage, margins, pantry, vendors, assistant, team permissions, multi-location, Stripe billing. The unit economics hold: ~$0.003 per document and ~$1.50–3 to serve a paying restaurant against $39 revenue — an ~90% gross margin despite AI being the core loop. And we listen: every feature decision came from a conversation with a real operator, not a hypothesis in a document.
What we learned
That AI-assisted development at speed requires discipline, not just prompts. The breakthrough was giving agents stricter guardrails — architecture docs as machine-readable rules that reject bad output before it lands. On the business side, a single engaged restaurant teaches you more than a hundred hypothetical ones — listening early is cheaper than rebuilding later.
What's next for Teremu
POS integration so sales stop being manual. Bank-feed reconciliation. AI matching of delivery notes against month-end invoices — the billing-error catch operators ask for most. And distribution through restaurant-supply networks: partners with relationships to thousands of independents who feel the food-cost pain every month.
Built With
- android
- capacitor
- claude-code
- cloud-functions
- esbuild
- firebase
- firebase-auth
- firebase-hosting
- firebase-storage
- firestore
- gemini-api
- google-cloud
- ios
- node.js
- pinia
- pwa
- stripe
- tailwindcss
- typescript
- vite
- vue-i18n
- vue-router
- vue.js
- zod


Log in or sign up for Devpost to join the conversation.