Receipt Capture & AI Analysis
Snap a photo or upload images/PDFs. The AI extracts merchant, date, amount, line items, GST, and suggests ATO-friendly categories for deductions and work-related expenses.
Case Study · Vibe Coding
How a casual chat with my wife turned into ATO Joe: My Vibe Coding Story
The Story
It all started with a simple offhand remark from my wife. She was staring at a growing pile of business receipts and asked if there was an easy way to capture them all and send everything off to our accountant Joe at tax time. That one comment sparked the whole thing.
Over the next couple of weeks—mostly after work and one weekend—I vibed away and built ATO Joe. What began as a personal solution is now a simple, helpful web app that anyone can use to snap receipts, build reports, and stay organised for tax time.
ATO Joe makes expense tracking painless. Snap photos of your receipts, let the AI handle the heavy lifting, automatically generate compliant reports, securely store files in your preferred cloud service, and email everything straight to your accountant. No more shoebox chaos or last-minute scrambles.
Product
Snap a photo or upload images/PDFs. The AI extracts merchant, date, amount, line items, GST, and suggests ATO-friendly categories for deductions and work-related expenses.
Automatically compiles everything into clean, ready-to-use summaries suitable for tax returns or BAS preparation.
One-click integration with Google Drive, Dropbox, and Xero. Files stay under your control.
Powered by Resend, it sends polished reports directly to your accountant (or any email) with attachments.
The app is a Progressive Web App (PWA), so you can “install” it to your phone home screen directly from the browser—no App Store required. Works smoothly on mobile for on-the-go snapping.
A core principle was not storing any user data on our servers. Receipt images and extracted data are processed transiently and saved only to the user’s chosen cloud storage (Google Drive, Dropbox) or handled client-side where possible. The backend still uses row-level security (RLS) for any temporary or admin functions, ensuring strong protection even in edge cases.
Build story
I’m not a full-time developer, but vibe coding made the project feasible in my spare time. The workflow was simple yet powerful: describe what I wanted in plain English, let AI tools generate the code, test it immediately, and iterate with precise follow-up prompts.
I relied heavily on LLMs (especially Claude and similar models) for rapid code generation across files. Early prompts defined the overall structure (“Create a PWA receipt scanner with AI extraction and cloud integrations”), while later ones handled specifics (“Implement secure Google API and Dropbox OAuth flows with no persistent server storage” or “Add Resend email functionality with proper attachments and error handling”).
Technical Details (from the codebase):
This vibe coding approach let me move incredibly fast. I could implement a feature, run into an integration snag (like OAuth scopes), paste the error back to the AI, and have a fix in minutes. Human oversight ensured everything stayed accurate, secure, and truly useful for Australian tax contexts.
Watch
45 seconds — snap a receipt, let AI extract the details, and confirm with one tap.
Reflections
A functional, privacy-focused app with real integrations came together quickly through short, focused vibe sessions.
AI accelerates building, but reviewing architecture, security (especially privacy and RLS), compliance, and edge cases is non-negotiable.
Prioritising PWA for easy mobile access and zero server storage made the app feel trustworthy and lightweight.
Vibe coding lowers the barrier for solving everyday problems. With domain knowledge and disciplined iteration, meaningful tools emerge without huge teams or budgets.
ATO Joe started as a family fix and evolved into something practical I’m happy to share. It shows how a simple need, combined with vibe coding and the right integrations, can create real value.
If you’re tired of receipt stress or experimenting with AI development yourself, drop a comment—I’d love to hear your experiences!
Snap receipts, stay organised for tax time, and keep your files in your own cloud.
Built with vibe coding in spare time. Questions? Reach out!