Vibe Coding My Finances
Automating YNAB with Zapier, Telegram, and a Bit of Cyberpunk Magic
🧠 Manual Finance Feels Like 1980s Data Entry
I use YNAB (You Need a Budget) religiously to track every peso. It’s a powerful system for mindful spending… until reality kicks in.
If you’re using Bancolombia, you know the drill:
- You get an email and an SMS every time you spend.
- Each transaction needs to be entered manually into YNAB — amount, merchant, category, memo, marked cleared.
- Each entry takes maybe 30 seconds if you’re fast.
Now, imagine 20+ transactions per day.
That’s 10 minutes daily, or about 5 hours every month spent copy-pasting numbers into a budgeting app.
Five hours of your life each month — gone to typing. Not fun, not cyberpunk.
⚙️ The Idea — Let the Machines Do It
I wanted something that:
- Reads Bancolombia’s transaction emails.
- Extracts the value and merchant info automatically.
- Sends me a Telegram notification where I can just pick a YNAB category.
- Posts the transaction directly to YNAB via its API.
- Marks it cleared. Instantly. No friction. No typing.
And I wanted to build it with zero infrastructure — no servers, no frameworks, no cron jobs. Just pure vibe coding using Zapier + Telegram bot + YNAB API + a bit of JavaScript inside Zapier Code steps.
🕹️ The Stack
- Zapier – orchestration brain, reading emails, storing payloads, and triggering flows.
- Telegram Bot – human interface for category selection.
- YNAB API – to create transactions and cover categories automatically.
- JavaScript (inside Zapier Code by Zapier) – for data parsing and custom logic.
- ChatGPT (a.k.a. Vibe Coding Copilot) – for generating and refactoring the code directly inside Zapier.
⚙️ The Architecture

- Zap 1 – Bancolombia Transaction Parser
- Trigger: new Bancolombia email.
- Code step: parses text (e.g., “Transferiste $120,000.00 a Rappi…”).
- Fetches all visible YNAB categories via API.
- Sends a message to Telegram with transaction summary and category buttons.
- Stores the transaction temporarily in Zapier Storage.
- Zap 2 – Category Tap → YNAB Entry
- Trigger: Telegram button press (callback_query).
- Fetches stored transaction data.
- Sends it to YNAB as a new cleared transaction with the chosen category.
- Auto-covers category from Ready-To-Assign (so it stays green).
- Sends a Telegram confirmation: ✅ Amount 120,000 COP added to Groceries.
- Cleans up the stored payload.

🔮 The Flow
- You buy something → Bancolombia emails you.
- Zap 1 grabs it instantly, parses merchant, amount, time.
- You get a slick Telegram message like:
Transferiste $120,000.00 en RAPPI COLOMBIA*DL
[🍔 Food] [🚕 Transport] [🎮 Fun] [💡 Utilities]
- Tap one category → that triggers Zap 2.
- YNAB gets the transaction + clears it + covers from Ready to Assign.
- You get a confirmation: ✅ 120,000 COP added to Groceries.
No browser. No manual entry. No spreadsheets. Just automation humming in the background like neon circuits in a rainy alley.
🧬 Why This Feels Cyberpunk
Because it’s not about “coding” in the old sense — it’s vibe coding:
- You’re not deploying servers, you’re wiring systems together.
- You’re mixing AI-assisted snippets, APIs, and low-code glue.
- You’re turning boring routines into automated rituals.
I didn’t open IDE, Google, or API docs.
I opened Zapier, typed some JS, and let ChatGPT guide the logic.
No infrastructure. No deployments. No burnout.
Just results.
🧠 Lessons from the Future
- You can automate anything if you break it into signals (emails, messages, API calls).
- Modern tools are the new cyberpunk gear — Zapier, Telegram, AI.
- 90% of code is plumbing; vibe coding makes you skip that part.
- The best code is the code that deletes work from your life.
🌐 Conclusion
This project reminded me that we live in the future already — you don’t need a dev team to build automation.
With ChatGPT, Zapier, and a few well-aimed APIs, you can build a system that does in seconds what used to take hours every week.
Vibe coding is the new hacking.
You just need imagination, curiosity, and a bit of caffeine glow from your monitor.
“The machines don’t steal our jobs. They free us from the boring parts.”