Once upon a time, in a world filled with apps that make you feel like you need an MBA to buy a coffee, I decided to create a tiny experiment called Catara.
Back then, the idea was so simple even my inner cynic was suspicious: I wanted to log my expenses as fast as my money disappeared. No buttons, no menus, no pop-up quizzes about whether a donut is “Groceries” or “Lifestyle”—none of the nonsense finance apps love to unleash on innocent users.
Just text. Like, actual words. Not emojis, barcodes, or psychic brainwaves—just plain old-fashioned typing. Remember when our thumbs had to work for a living?
Something like:
5k makan
That’s it. No plot twists. No surprise subscriptions. No secret blockchain. Not even a cameo appearance by Elon Musk.
No category roulette. No existential crisis over whether this is “Dining Out,” “Food & Beverage,” or “Miscellaneous Regret.” That’s a taxonomy clearly invented by a caffeine-fueled product manager at 2 AM.
Just type it and move on, like a responsible adult who definitely doesn’t impulse-buy lattes. Or avocado toast. Or yet another productivity app that only makes you less productive.
That was the dream. Nobel Prize pending. Still waiting on my nomination. It must have gotten lost in the mail, probably next to my crypto fortune.
The WhatsApp Detour
Originally, Catara was built for WhatsApp.
This made sense for about ten minutes. That’s roughly the lifespan of my optimism before reality shows up armed with a spreadsheet and a smug grin.
WhatsApp is where conversations happen. If logging money is supposed to feel like chatting with a friend, WhatsApp is the natural place for it.
Reality had other plans.
WhatsApp bots turned out to be about as welcoming as airport security on a Monday morning. Unless you’re a megacorp with a legal team, a lobbyist, and a willingness to barter your soul for API access, good luck.
So the project pivoted.
Catara moved to Telegram.
And, in the grand tradition of all great tech pivots, that turned out to be a blessing in disguise. Telegram: come for the stickers, stay for the bots, and try not to get lost in a sea of conspiracy theory channels.
Why Telegram Works
Telegram is gloriously weird. It’s the kind of weird that makes software engineers swoon and product managers break out in hives.
Bots aren’t just tolerated. They’re pampered. Telegram practically hands you the keys, a welcome mat, and a complimentary hoodie—plus a sticker pack that probably mocks WhatsApp.
Which meant Catara could finally do what it was supposed to do.
Log transactions like a conversation.
Instead of opening an app and navigating through several screens, I can now just type something like this:
20k parkir
or
50k makan
The bot parses the text, understands the amount, guesses the category, and stores the transaction.
The whole process takes about three seconds. If it took any longer, I’d probably spend that time buying more snacks instead of tracking them. Efficiency!
The Bot Is Now Running on a VPS
Catara is currently running on a KVM 1 VPS from Hostinger.
Nothing fancy. No blinking lights, no “AI-powered” nonsense, and absolutely zero blockchain. Just a humble VPS, quietly keeping the world safe from untracked spending and rogue finance influencers.
Just a tiny server, minding its business, probably dreaming of being acquired by Google and then immediately shut down.
The bot receives messages from Telegram via webhooks, processes them in a Go backend, and stores the data in PostgreSQL. Everything runs inside Docker, so the whole setup can be moved elsewhere if needed.
Hopefully, I’ll never need to migrate it. But if I do, at least Docker makes it less painful than reading the WhatsApp API docs.
But it is nice to know the system is lean enough to survive it.
Why Go
The backend? It’s pure Go. Sometimes you just want your code to compile before you die of old age, or before JavaScript invents yet another way to break your build.
Partly because I enjoy working with it, but also because I already had experience building another project in Go called SceneShift.
Go is the kind of language that minds its own business: fast to compile, fast to run, and blissfully uninterested in philosophical debates about frameworks every five minutes. It’s the programming language equivalent of a silent elevator companion—awkward, but at least it gets you where you need to go.
For something like Catara, that simplicity matters.
The bot only needs to do a handful of things well. Think Swiss Army knife, but for financial guilt—finally, a gadget that makes you feel bad about spending and good about logging it.
- parse text
- store transactions
- return summaries
- manage subscriptions
- power a dashboard
Go handles that nicely without turning the project into an architectural maze.
The Dashboard
Logging transactions through chat is great.
But staring at raw numbers forever is not exactly helpful.
So Catara also has a web dashboard.
Right now, the dashboard does a few basic things:
- show transaction history
- allow editing transactions
- display a pie chart of spending
It’s not a full-blown analytics platform, and that’s on purpose. If you want enterprise-level charts, there’s always Excel, pivot tables, and a deep dive into existential dread. Bonus points if you survive a VLOOKUP.
The goal isn’t complexity; it’s just enough reflection to make you question if you’ve single-handedly kept the local bubble tea economy afloat.
Telegram is where you capture the data quickly.
The dashboard is where you occasionally step back and look at what you have been doing with your money.
The Awkward Part: Servers Cost Money
It turns out, running a VPS is not free. Shocking, I know. Servers apparently don’t run on hopes, dreams, or exposure to sunlight like a houseplant.
Which means Catara has something every modern software product apparently needs.
A Pro plan. Because even minimalist apps need to pay rent, buy groceries, and occasionally splurge on a new domain name they’ll forget to renew.
The price is simple.
29.000 rupiah per month.
That’s roughly the price of two iced coffees in Bandung. And if you’re using Catara, you’ll know exactly how often you buy them, and now you can judge yourself for it with data. Irony sold separately but highly recommended.
The free version still works, but the Pro plan unlocks things like full transaction history, editing, exports, and other premium features. What’s modern software without a little paywall suspense and the thrilling gamble of clicking ‘Upgrade’ just to see what happens?
In other words, the subscription mostly covers the cost of the server that keeps the bot alive.
Why I Built This
Catara exists because most finance apps feel like doing your taxes, but with more pastel colors, motivational quotes, and pop-ups asking you to rate the app while you’re trying to remember what you bought at 3am.
They want you to think about categories, budgets, labels, tags, and sometimes even financial philosophy.
But logging money should be boring and fast.
The faster it is, the more likely you’ll actually use it. Otherwise, your willpower evaporates faster than your salary on payday—possibly even before lunch.
Catara tries to make expense logging as frictionless as possible. It’s like sliding into your DMs, but instead of romance, you’re just flirting with your own sense of financial responsibility.
Just type something like:
5k makan
and move on.
The bot will worry about the rest.
What I Learned While Building It
Building Catara turned out to be a surprisingly good learning experience.
Not just coding, but infrastructure.
Things like:
- managing webhooks
- designing APIs
- handling payments through Midtrans
- structuring a system so it can move between servers if necessary
None of this is glamorous. It’s the digital equivalent of fixing leaky pipes—nobody notices unless it explodes, and then suddenly everyone’s a plumbing expert.
But that plumbing is what keeps the whole thing running.
The Real Goal
Catara isn’t aiming to be the next unicorn. No VC pitches, no TED talks, no billion-dollar valuation (unless you count Monopoly money). It’s just a tool that does what it says on the tin—refreshing, right?
It is a tool I built for myself.
A way to track money without friction.
If other people happen to have the same problem and find it useful, that would be great.
But even if nobody else uses it, Catara has already succeeded.
It solved my own problem.
And sometimes, solving your own problem is as good a reason as any. Bonus points if it makes someone else laugh along the way.From WhatsApp to Telegram: The Second Life of Catara