anwar@yunus: ~ — zsh
anwar@yunus:~/logs/ai-work$cat javara-ai-fnb-platform.md

2026-08-24 · ai-work


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.

anwar@yunus:~/logs/ai-work$cd ..
anwar@yunus:~$▊