The Missing Freelance Time Tracker
It has a name now: MelaFreelance. Here's what it is, and why it's yours — not mine.
In the last piece I explained the itch: every time tracker I tried was built for teams, and I'm one person with a client, a project, and a clock. So I stopped renting other people's tools and built the small one I actually needed.
This is that tool. It's called MelaFreelance, and this is what it turned out to be.
Built one summer, polished the next
The first commit landed in August 2025, in the slow, warm gap where the client emails thin out and there's finally room to make the thing you keep meaning to make. It wasn't pretty. It had no options, no settings, no polish — just the raw mechanics I needed to answer who owes me what. And then I did the most honest test there is: I used it. Every day, for a straight year, exactly as it was.
A year of real use is a brutally good editor. It tells you which features you invented and never touch, and which rough edges you step over so often you stopped noticing. Nothing survives that a design doc would have kept, and nothing gets cut that you actually reach for.
So here we are, another August, the same quiet slice of the calendar — and this time the work isn't building it, it's finishing it. The polish it earned by proving, over twelve months, that it deserved to exist.
There's a second reason the timing is right. Lately I've been deep in a much heavier project — S-MoE, a sparse mixture-of-experts build that lives in exactly the kind of complexity you can't hold in your head on a hot afternoon. After enough of that, coming back to MelaFreelance feels like stepping out of a machine room into the sun. Small surface, clear edges, an obvious right answer for every question. Simple work — but not unimportant work. Sometimes the most useful thing you can build is the one you can finish.
It's yours, not mine
Here's the decision that shapes everything else: MelaFreelance isn't a service you sign up for. It's a thing you run.
There's no account on my server, no subscription, no "free tier" quietly counting your clients until it asks for a card. You clone it, you point it at your own database, and it's yours — data and all. If I vanish tomorrow, your tool keeps working, because it was never on a server I control.
That's not an accident, it's the whole philosophy. The tools that broke me in the first place all had one thing in common: my data lived in their product, on their terms, one pricing-page change away from held hostage. A tracker for freelancers should be the one piece of software a freelancer never has to worry about losing.
So it's single-user by default — no seats, no invites, no "workspace." One person clones it, runs one command to create their account, and starts working. Everything about it assumes you are the only human who will ever log in, because for me, that's the truth.
The timer that's always there
The most-used thing in a time tracker is the start/stop button, so I refused to bury it.
In MelaFreelance the running timer isn't a widget you navigate to — it lives in the app's chrome, on every page. Wherever you are, you can see what's ticking and stop it. And there's exactly one rule the app enforces for you, quietly: you can only run one timer at a time. Start a task while another is running and the old one banks its minutes and stops on its own. A freelancer works one thing at a time; the tool should never let two clocks claim the same minute.
When you stop, the bar doesn't just disappear. It remembers the last thing you were on — "was I still on the Rossi homepage?" — with a one-click Resume, until you dismiss it. Small thing. I use it twenty times a day.
The number that matters
Open the app and the first thing it tells you is the number I actually came for: what am I owed, and what's still outstanding?
Not tracked hours dressed up as money. Not an invoice-count vanity stat. Just: across every project, how much has been paid, and how much is still out there. Because payments in MelaFreelance are a ledger, not a checkbox — a deposit, a milestone, a final balance — "paid" and "outstanding" are simply the arithmetic on that ledger. And the arithmetic is done once, on the backend, in whole cents, so the number on your dashboard is the number, every time. No rounding drift, no two screens disagreeing.
Money can be windowed — received this month — because every payment carries a date. Hours are all-time, on purpose: a task holds one running total, not a pile of dated entries I'd have to maintain. That asymmetry is a feature. It's the difference between a tool that answers your question and a tool that invents new ones to justify itself.
Still small on purpose
I've added things since launch — a gentle nudge to mark a project done when its last task finishes, a proper time picker, non-billable projects for the client called "Myself." But the rule hasn't changed: nothing ships unless I hit the need for it in my own week.
That's the luxury of building for exactly one user. There's no roadmap to defend, no enterprise deal bending the design, no feature added to win a comparison chart. When something annoys me, I fix it. When something's missing, I add it. When it's fine, I leave it alone — which is most of the time, and exactly the point.
MelaFreelance is free, it's open, and it's built to be cloned. If you're a freelancer who's tired of renting the basics, you don't have to wait for me to build your features. You can take it and make it the tool you needed all along.
That was always the missing one. Built in one summer, quietly proven through a year of real work, and finished in the next. If a tool can earn that, it's earned a place on your machine too.
MelaFreelance — built by a freelancer, for freelancers. Clone it, own it, get back to the work.