DEV Community

Gabriel Joshua Paet
Gabriel Joshua Paet

Posted on

I built an AI pipeline to give my partner her time back (and accidentally cured my engineering burnout).

After months of dealing with burnout, I let the "builder" in me go dormant. But recently, I found the perfect excuse to start building again: my partner's part-time job.

As an assistant, she spent hours manually logging receipts. She had to take receipts in various currencies (PHP, USD, etc.), look up historical exchange rates for the exact dates, convert everything to Singapore Dollars (SGD), and tally the totals. I knew AI could automate this.

I built an end-to-end pipeline using n8n, Google Gemini 2.5 Flash, the Frankfurter API, and Google Sheets.

But the real hero is the custom OCR engine.

Standard OCR failed on crumpled receipts and multi-page PDFs. To get high accuracy with minimal cost, I spun up a DigitalOcean droplet and built a custom Python API running Microsoft’s Florence-2. This open-source vision model gave me enterprise-grade "eyes" for free. Florence-2 reads the raw text (even looping through multi-page receipts), and Gemini acts as the "brain" to format the data.

Solving the weird engineering roadblocks reminded me why I love building:

Smart Routing: If Gemini detects a receipt is already in SGD, n8n dynamically bypasses the exchange rate API entirely.

Accidental DDoS: I tested 5 receipts at once, spiked my RAM, and crashed my own server. The fix? A "Worker Queue" that strictly processes one file every 5 minutes.

LLM as a Formatter: Receipts love ALL CAPS. I prompted Gemini to strictly format merchant names in "Title Case" to keep the spreadsheet perfectly uniform.

Dumb API, Smart Database: Instead of calculating chronological inserts in n8n, it safely appends rows to the bottom. An invisible Google Apps Script then instantly auto-sorts the sheet by date.

Watching that spreadsheet magically populate and calculate SGD totals was incredible. But the real win was proving to myself that the spark to build is still there.

Sometimes, you just need the right project—and the right person to build for—to find your momentum again.

What side project helped pull you out of a rut?

Top comments (0)