For the past three and a half months, most of my waking hours went into one thing: Javara — an AI growth platform for Indonesian F&B small businesses. This is a summary of where it stands today.
The idea
Small F&B owners do not want to replace their POS or their accounting system. So Javara does not ask them to. It attaches to what they already use: upload a CSV of POS receipts, import a bank statement, and AI normalizes the mess into something useful — loyalty programs, coaching, marketing, reputation management. The product principle is simple: owner approves, Javara does the work.
Where it is now
- Phase 1.0 in production since May, with paying merchants on two tiers (LOYAL and PRO).
- Three apps: marketing site, merchant app (owner dashboard + cashier + customer points portal), and an internal admin.
- The feature list got long: loyalty with anti-fraud OTP redemption, an AI Coach with tool-use, menu optimization, a full bookkeeping engine (P&L, balance sheet, cash flow, payroll with PPh21), bank statement import with AI parsing, WhatsApp and Instagram DM concierge, Google review management, and a content studio that generates marketing from real sales data.
The numbers behind it
Around 1,800 commits in ~3.5 months, roughly 2,200 TypeScript files, 257 database migrations, and 110+ architecture decision records. All merged through PRs with CI gates. Solo founder — the rest of the team is AI coding agents.
Under the hood: the Coach
The AI Coach is deliberately boring engineering. A classic agentic loop — the model calls a tool, reads the result, decides again — wrapped in a few deterministic guards. No graph orchestration, no planner-executor ceremony. A few choices I am happy with:
- The model never sees tools outside the merchant's tier — tier rules live on the server, not in the prompt.
- One cheap, unified model for every tier. What changes per tier is the tools, the budget, and the data depth — not the model.
- Fallback to a different provider on purpose: if one goes down, the other takes over.
- Every number the Coach says is quietly checked against the data it actually saw — measure first, block later.
What I learned about building with AI
- ADR-driven development works. Every feature starts as a decision record before code exists. It keeps a fast-moving agent-built codebase coherent.
- Dark launches keep you sane. Features get merged inert, then switched on later.
- Defense in depth is not optional. Multi-tenant Postgres with row-level security, four custom database linters, and strict rules about what the AI is allowed to say to customers.
- The README will always lag behind the code. Accept it, and schedule drift audits.
What is next
Multi-brand support has shipped — one owner can now run several brands with their own rewards, recipes, and coaching. Next on the list: a dual WhatsApp setup (Meta Cloud API alongside the current provider) and, the one I am most excited about, fine-tuning Javara's own AI agent instead of relying purely on general-purpose models. The honest bottleneck going forward is not engineering — it is distribution. That part is on me too.