← Back to work
Live product

The financial operating system for freelancers with irregular income. Built to answer one question every freelancer dreads.

Status
Live
Stack
React, TypeScript, Supabase, edge functions
Built
Solo

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.

FreelanceCFO Home: cash on hand, what you are owed, the next tax payment, cash flow and recent activity
Home. Cash on hand, what you are owed, the next tax payment, and the one thing that needs you.

01. Cash flow, projected forwardRunway

How long your money lasts if nothing changes, and the exact date it runs out.

FreelanceCFO Money overview: cash on hand, runway and where your balance is heading
6.7 monthsof cash on hand at recent spending
$17,061average monthly spending
Mar 2027when it runs out, before new income

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.

FreelanceCFO Money transactions: every income and expense, categorised and tagged deductible
$10,000monthly minimum: what you need to get by
46%of this month's income kept
63%of recent spending is discretionary

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.

FreelanceCFO Taxes: what to set aside each month, this year's estimate and the quarterly schedule
$10,849.38to set aside each month
32.9%of taxable income: federal, self-employment and state
Jan 15next quarterly payment

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.

FreelanceCFO Clients: share of income, earnings and effective hourly rate per client
5clients tracked
27%the most any one client makes up of your income
80%of paying clients have paid more than once

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.

New invoiceRuns the product's parser, sample clients

Your clients:

Client
-
Line
-
Amount
-
InvoiceSent

-

--
Tax-
Total-

Not final. Not legally binding. Check the tax before sending.

5 statesdraft, scheduled, sent, paid, void
0overdue flags stored; it's worked out from the due date
18countries of sample tax rates, labelled as samples

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.

FreelanceCFO Invoices: owed to you, overdue, drafts and paid, with a nudge on every open invoice
In the app: what you are owed, what is overdue, and a Nudge button on every open invoice.

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.

New messageComposer, sample invoice
FromMaharshi Patel via FreelanceCFO
Toaccounts@riverbend.studio
Subject-

      

3 pathsshared sender, your Gmail, your own mail app
128-bittokens on hosted invoice links, which expire after the due date
1 clickto save a preset per client, and it opens next time

“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.

Lance$4.85, about 97 runs left, $0.05 each

A replay with sample data. The real Lance reads your books on the server; this page never gives it figures.

$0.05a run, debited before the call and refunded if it fails
~100runs a month included with Pro; 4 free trial runs on Free
0send, delete or status tools. It can read and propose, nothing else

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.

FreelanceCFO Lance: asking where money went over the last three months
Ask. Plain-English answers from your own books.
FreelanceCFO Lance briefings: what changed in your books and the next step
Briefings. What changed, why it matters, and the next step.

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.