Frollie POS / a founder's build story

I built a working
product from scratch
in 15 days.

ex-McKinsey. no engineering team. a non-technical founder, and a swarm of AI agents.
idea → live in 12 days 500+ automated tests taking real money, day 9 no engineers hired
Lucas Zhu  ·  built for the Frollie cookie booth, Block M, South Jakarta
scan → my writing + this talk's essay
lucas-portfolio-pi.vercel.app
Frollie POS home on the booth phone
live, on the booth's Android phone
frollie pos · Ikigai AI Venturesreal money · one phone
01 · the product

what is it?

a real cash register for our cookie booth in Block M — every layer a sale flows through, on one phone.
01
shift management
staff PINs · registered devices · lockouts · sessions
02
inventory
stock-in by SKU · recounts · low-stock alerts · spoilage
03
transactions
cart → sale · prices frozen on the receipt · refunds are new rows
04
payments
QR + bank transfer · provider confirms the instant money lands
05
receipts & invoices
private receipt links · one-tap pocket thermal print
06
governance
append-only audit log · manager-PIN gates · nothing deleted, ever
07
communications
Telegram approvals · daily founders summary · alerts that find you
Sale cart
the cart
QRIS charge
a live payment
Telegram approvals to the manager
the manager's Telegram
frollie pos · Ikigai AI Ventures02 / 8
02 · how I work

I never let my own work
ship on one pass.

the cheapest mistake to fix is thinking QA is the agents' job. I build my own evaluation workflows — qualitative and deterministic.
idea + spec shipshape review multi-agent · the spec findings loop back into the spec plan write it down shipshape review multi-agent · the plan build in parallel hand it to 3 reviewers · 3 different jobs · different sections reviewer 1 does it follow our rules? reviewer 2 is it well-made? reviewer 3 will it hold as we grow? synthesise + refresh what 2 of 3 flag wins /simplify xhigh 4 cleanup lenses, merged ship it goes live
you can't outsource taste and quality. you build evaluation systems you trust — and that takes time and millions of tokens of iteration.
frollie pos · Ikigai AI Ventures03 / 8
03 · how I ran it

one person. a whole org chart.

I ran a swarm of AI agents like a company — split the work, make them check each other, loop until it's right. the team I didn't hire saved the coordination, not just the salary.
L1
tools I built for this job
a custom task board · a progress report for non-engineers · a checklist the build won't ship without
L2
my reusable playbooks
how I plan, review, debug, and simplify — written once, reused on every job
L3
the brain + the helpers
the AI that does the work · plus the helpers it spins up to work in parallel
L4
the product's plumbing
the database · the hosting · the payment provider · the messaging · the printer · the security
L5
the workshop floor
version control · 500+ automated tests · the design system · the everyday machinery
the build log · progress report
CEO progress report — The Build Log
the progress tracker my non-engineer brain reads every morning
scan → github.com/lucasyhzhu-debug/shipshape
the QA skill I built — continuously getting smarter,
specs → code reviews. my most-used skill.
frollie pos · Ikigai AI Ventures04 / 8
04 · what I got wrong

five common beliefs I now challenge
as an agentic practitioner.

I held every one of them on day one. each broke somewhere on the way to day fifteen.
01
agentic development is easy
02
building alone is hard
03
consuming is the same as building
04
a better model fixes the quality gaps
05
build something you can sell
frollie pos · Ikigai AI Ventures05 / 8
05 · what it actually cost

the build was the cheap part

features took an afternoon. the boring wiring that keeps them from breaking took the days.
CASE STUDY · the off-site approval system
THE BUILD · pillar by pillar
approvals went up in one pillar, transactions in another. each clean on its own — but they talked past each other in time. async seams no demo ever showed.
THE LEAK · the unglamorous part
some transactions were falling through without proper logging — no error, no alert, nothing to see. I only found it while building the refund flow on top of those logs.
THE SAVE · two fixes, not one
1 — end-to-end testing instructions my testing agents follow on every change. 2 — deeper modules behind simpler interfaces, so the seams get tested without touching the internals.
"deep modules" — John Ousterhout, A Philosophy of Software Design
the safety net grew · the surface area didn't
tests public surfaces (domain APIs)
288 444 514 658 733 v0.3 v0.4 v0.5a v0.5c v0.5.3 source: git history — counted at each version's commit (diff analysis) 9 12
the dashboards that lied to me
288 tests passing green — while hiding a bug that would have broken every payment in the real world.
an "all clear" check that was quietly checking nothing at all.
a tool swore the phone could reach the app. the firewall was silently blocking it. a day lost to a confident lie.
frollie pos · Ikigai AI Ventures06 / 8
meta

this deck built itself.

same method I used on the product — pointed at my own notes and the live app.
6 agents a few dollars 4m 40s to a first draft
frollie pos · Ikigai AI Ventures07 / 8
06 · the takeaway

force is free now.
direction is the whole job.

a wrong vector at full force just gets you to the wrong answer faster — and now with better typography.
before you fire up the AI, ask the only question it can't ask for you:
am I sure I'm pointing at the right destination?
Lucas Zhu  ·  Ikigai AI Ventures  ·  thank you
scan → the essay + more writing
lucas-portfolio-pi.vercel.app
Frollie POS home
from planning doc to taking real money
frollie pos · Ikigai AI Ventures08 / 8
appendix A · what keeps the money safe

what holds it together?

a few rules every sale obeys, no matter who runs it or where. the on-site path and the off-site path cannot drift apart.
what happens when money moves
lock the sale price + name fixed request payment QR or bank transfer provider confirms verified · matched to the sale mark paid assign receipt number one source of truth stock + log counted exactly once recorded forever one set of rules owns each step · the off-site approval path runs through the very same rules
one rulebook
every path — on-site or remote — runs the same logic. the system can't contradict itself.
frozen receipts
an old receipt never changes, even if I change the menu tomorrow.
press twice, charge once
a double-tap or a dropped signal can never double-charge a customer.
frollie pos · Ikigai AI Venturesappendix A
appendix B · what changed under me

the rules rewrote themselves

five decisions I wrote down, then tore up mid-build. writing them down is what let me catch them.
share one database with our other product give each product its own system; let them talk through a clean, defined handoff. "integrate by sharing the database" is the decision you regret first.
we'll keep checking the provider to see if a payment landed the provider tells us the instant it's paid. we stopped checking. a manager's PIN is the only manual override.
approve things over WhatsApp approvals run on Telegram. the approve link carries its own permission — nothing to store, nothing to leak.
the provider will notify us when the cash actually settles no such notification exists. we pull the transaction list and match it to ours. (found out by reading the fine print the hard way.)
the payment QR is ready the instant we ask for it it wasn't — it handed back a web page instead. one wrong sentence in a spec meant zero payments could complete. caught and fixed.
the fix was not being smarter up front. it was making decisions cheap to reverse, in writing, where someone else could catch them.
frollie pos · Ikigai AI Venturesappendix B
01 / 09