Back to works
[ PROJECT 07
— SPENDWISE ]
Spendwise is an AI-built expense tracker that turns receipts, invoices, marketplace orders, QRIS payments, and bank-transfer screenshots into structured, reviewable transactions. It was designed, coded, tested, and deployed through an end-to-end AI workflow.
Project Type
Personal AI experiment
Role
AI Product Designer
Timeline
Self-directed · 2026
Platforms
Responsive web application

[ THE CONTEXT ]
Why the experiment mattered
REAL-WORLD INPUTS ARE MESSY
Receipts and transaction screenshots are inconsistent, noisy, multilingual, and often poorly photographed.
PRIVACY CANNOT BE AN AFTERTHOUGHT
Financial documents should not be uploaded unnecessarily or exposed through a public portfolio demo.
PRODUCTION, NOT A MOCKUP
The result needed working infrastructure, automated tests, failure states, and a live deployment.
[ DESIGN FOCUS ]
Can AI build more than a convincing interface?
By keeping the AI workflow pointed at product value rather than surface-level generation: make capture effortless, make the AI's output reviewable, and treat deployment as part of the design work.
01
Make capture effortless
Photograph or upload transaction evidence instead of copying every merchant, date, category, and amount by hand.
02
Make AI reviewable
Present OCR as an editable draft instead of saving uncertain output as unquestioned truth.
03
Design through deployment
Include authentication, private storage, backups, error recovery, and automated tests in the product work.
[ SOLUTION ]
The work ran as one continuous AI-directed loop: direct, generate, test, refine. Each stage produced working output, exposed new problems, and informed the next prompt. The human role was to set the intention, judge the output, supply real transaction samples, identify problems, and decide what should change.
SOLUTION 01
Turning an idea into a working interface
AI translated the idea into requirements, information architecture, dashboard behaviour, transaction flows, responsive layouts, and visual details, then generated and refined the application itself: the monthly overview, history, budgets, filtering, receipt review, backup export, and cloud integration. Every screen came out of conversational iteration against references and visual feedback rather than a single specification.
KEY DECISION
Direction, references, and constraints came first. The interface was judged against real use, not against the prompt that produced it.
SOLUTION 02
Reading receipts without giving up privacy
PaddleOCR and Tesseract read images in the browser, and a custom parser looks for merchant, final amount, date, platform, category, and document confidence. Recognition happens locally: an image is uploaded only when an authenticated user confirms a transaction. When several totals look plausible — subtotal, discount, savings, cash received — Spendwise asks the user to review or choose instead of silently guessing.
KEY DECISION
Uncertainty is shown, not hidden. An OCR result arrives as an editable draft, never as a saved fact.
SOLUTION 03
Designing through testing and deployment
AI diagnosed failures, created regression tests, protected owner-scoped data, verified backups, migrated cloud resources, and deployed the application. Real receipts, screenshots, invoices, and negative examples became repeatable regression tests. The project moved from a local build to a tested, persistent Cloudflare deployment, with a public portfolio mode where visitors can explore sample data and run OCR locally but cannot save, edit, delete, upload, export backups, or reach private records.
KEY DECISION
The demo is public, the data is not. Read-only exploration is a product decision, not a disclaimer.
[ WHAT IT PROVED ]
The strongest result was not one screen or feature. It was the continuity of the process: Spendwise was designed, engineered, tested, and deployed with AI, and it runs as a real product — everyday tracking with totals, categories, history, filters, and budget progress, plus capture from six kinds of transaction document. The quality did not come from one perfect prompt. It came from direction, evidence, testing, and repeated correction.
56
automated tests passing across the application
6+
transaction document types read
0
private records exposed in the public demo
[ REFLECTION ]
01
LEARNED
AI is most effective when treated as a product collaborator rather than a one-command generator. The workflow improved by repeatedly testing output, showing real failures, defining constraints, and asking for verification. My role was to provide the vision, references, transaction samples, priorities, feedback, and final judgment. AI handled much of the design, implementation, testing, debugging, and deployment.
02
CHALLENGE
Receipts often contain several plausible amounts: subtotal, discount, savings, cash received, and final payment. The key decision was not only improving recognition, but making uncertainty visible and preventing incorrect data from being saved automatically.
03
WHAT’S NEXT
Expand the OCR corpus, improve first-scan loading, explore recurring-expense detection, and add public accounts only after authentication, quotas, and abuse controls are ready.

/ LET'S WORK TOGETHER
I'm open to collaboration and new opportunities
/ GET IN TOUCH