The financial operating system for freelancers with irregular income. Built to answer one question every freelancer dreads.
Freelancers don't get predictable paychecks. One month it's $8,000. The next it's $900. Every existing finance tool, Mint, YNAB, QuickBooks, assumes you have a salary. None of them were built for the feast-or-famine reality of freelance income.
So I built the tool I actually needed, one that starts from the question every freelancer avoids asking out loud:
“If I stopped getting clients today, how long could I survive?”
Four systems answer that question from different angles: a runway that turns your spending into a real date, a money view for day-to-day spending, a tax plan that tells you what to set aside before the IRS tells you, and a client view that shows you which relationships are actually worth keeping.
Then it grew a second half. Knowing what you're owed is one job; getting it paid is another. So FreelanceCFO now writes the invoices, sends the follow ups, and has an assistant, Lance, that reads your books and drafts what should go out next.
What follows isn't a mockup. The first four chapters are the live product, screen by screen. The last three run the product's own logic right here on the page.
Rebuilt
Then I tore the whole UI down.
Every screen, redesigned and re-architected around five places: Home, Money, Invoices, Taxes and Lance. One sidebar, one search (Ctrl K), one New button, and every page answers its question in the first line.

01. Cash flow, projected forwardRunway
How long your money lasts if nothing changes, and the exact date it runs out.

The projection isn't a static estimate. It recalculates against your last three months of real spend every time a transaction lands.
02. Day-to-day, under controlBudget
No fixed paycheck assumed. Every category tracked against a moving target, not a fantasy one.

Bank sync drops transactions straight into categories, deduction-tagged automatically, so tax season stops being a scramble.
03. What you'll owe, before they tell youTax
Federal, state, and self-employment tax, estimated quarterly, so April never ambushes you.

Every deductible expense tagged in Budget flows straight into the deduction tracker here. The systems talk to each other, not around each other.
04. Which relationships are worth itClients
Revenue, rate, and consistency per client, so “my biggest client” and “my best client” stop being the same guess.

Effective hourly rate per client, not quoted rate, is what actually decides who gets your next open slot.
Part two
Then it started doing the admin.
Invoicing, mail and Lance shipped as one system: invoices record what's owed, mail gets it paid, and Lance reads both and tells you what to chase.
05. Say what the work wasInvoices
Type the job the way you'd say it. The invoice fills itself in, and nothing is generated until you've confirmed the tax line.
Your clients:
- Client
- -
- Line
- -
- Amount
- -
-
Not final. Not legally binding. Check the tax before sending.
Verify important facts before generating the invoice
Make sure taxation is accurate. The sample values provided are NOT final and NOT legally binding.
Overdue is never a saved status: it's “sent, unpaid, past due”, computed every time you look. A status something has to flip is a status that will eventually lie to you. And because the right VAT or GST depends on where the client is, whether they're a business and whether you're registered, your own rate is the normal path. The built-in figures only ever prefill a field.

06. Getting it paidMail
Send the invoice, nudge about it, say thanks. Every message opens in an editable composer, and the From line tells the truth.
“Send it as my email” was the request. The honest answer is that it can't, on the default path: sending from our servers with your address in From fails DMARC, and since Google's 2024 sender rules that lands in spam. So the shared path says “via FreelanceCFO” and sets Reply-To to you, Gmail sends from your real mailbox once Google's review clears, and the mail-app path always works.
07. Ask about your own booksLance
An assistant that reads your invoices and clients, answers in plain English, and drafts the follow ups. It never sends anything by itself.
A replay with sample data. The real Lance reads your books on the server; this page never gives it figures.
The model picks a client, never an address: the server resolves the recipient from your client record, so a client named “Acme (cc: someone@elsewhere)” can't redirect a message. Links are stripped from drafts, and the strip is disclosed. Every read runs server-side, scoped to your account, and “What Lance read” shows the queries that actually ran rather than the model's account of them.


Every number on this page is real product.
Not a mockup, not a Figma file. FreelanceCFO is live at freelancecfo.online, and I use it to run my own freelance work.