About
Built in Dhaka, for everywhere.
Currents is a personal finance tracker for people whose money doesn't fit inside one country or one currency.
Why Currents
Every tool assumed I lived in one country.
I'm a developer in Dhaka, Bangladesh. I freelance for clients in the US, Europe, and the Middle East. On any given day, my money lives in BDT, USD, and AED — sometimes all three within the same week.
Every expense tracker I tried wanted me to pick one currency and live with it. Some let me add others behind a paywall. None of them did the math right — they'd convert at today's rate, so a 5,000 BDT lunch from March would silently show something different in my yearly summary every time the exchange rate moved.
For people whose financial life doesn't fit in one currency, that's not a minor inconvenience. It's the basic feature we needed, treated as an afterthought.
So I spent six weeks of nights and weekends building the tracker I actually wanted. The one that stores every transaction in the currency it happened in, uses the FX rate from that transaction's date forever, and treats global users as first-class citizens — not edge cases.
Currents is what came out. It's free, ad-free, and built to stay that way.
Who built it
One developer.
No team. Yet.
Sabbir
I've been building software professionally for years — internal tools, dashboards, SaaS platforms. Currents is the first product I've built specifically for people in my part of the world, who've been afterthoughts to most of Silicon Valley.
I'm one person. Currents will probably stay an indie product for a while. That means slower feature shipping than a venture-backed team, but also no investor pressure to introduce ads, mine your data, or push you toward a paid tier you don't need.
If you want to follow along, the best place is LinkedIn — I post about what I'm building. If you find a bug or want a feature, email me directly at mdsabbirhowlader420@gmail.com. You'll get a real reply from a real person, usually within a day or two.
Principles
Five rules the codebase never breaks.
These started as engineering decisions and became product decisions. They're the difference between a finance app that's correct and one that's almost correct.
- 01
Original currency, never pre-converted.
Every transaction is stored in the currency it actually happened in. Conversions are computed at read-time using the FX rate from that transaction's date. A March expense never silently shifts when October's exchange rate changes.
- 02
Amounts are always positive.
The transaction's type — expense, income, transfer — decides the sign. Negative numbers in the database cause silent bugs forever. We've never let one in.
- 03
Auth boundary discipline.
Every API route starts with a session check. Every database query filters by the current user's ID. There is no path through the codebase where a user can see another user's data. No exceptions.
- 04
Currency-aware everywhere.
Japanese yen has zero decimals. Bahraini dinars have three. Most currencies have two. Currents respects this everywhere — in the input form, in the totals, in the reports. We never hardcode '.toFixed(2)'.
- 05
Private by default.
Hide-balance hides every amount instantly. We don't run analytics on your transactions. We don't track which categories you spend on. We don't sell data. We never will.
Tell me what's broken.
Currents is an active project. If something doesn't work, something's missing, or something could be better — I want to hear it. Direct email reaches me faster than anywhere else.