Capture the hours
Start a timer or add a finished session. Every entry stays attached to the right client.
Built from a freelancer's frustration
Invoicify keeps your hours, clients, and invoices in one clear place, so the work behind your work stops getting lost.
Open source, self-hostable, and made for the way independent work actually happens.
Good afternoon, Maya
3 active clients · 3 invoices need sending
Tracked this week
27.4 hrs
Goal 32 hrs
Unbilled work
$2,184
18.2 hrs · 3 clients
Awaiting payment
$4,760
3 invoices open
Paid this month
$8,940
7 paid invoices
Northline Studio
7.5 hrs · $120/hr
Morrow & Finch
5.2 hrs · $145/hr
Cedar House
3.8 hrs · $140/hr
Product strategy workshop
Northline Studio · 2 hrs ago
Homepage implementation
Morrow & Finch · 5 hrs ago
Analytics review
Cedar House · yesterday
INV-2026-018 · Northline Studio
Due in 3 days
INV-2026-017 · Morrow & Finch
Paid 2 days ago
INV-2026-016 · Cedar House
Paid 5 days ago
I was tracking client work in spreadsheets, calculating totals by hand, and making invoices in Google Docs late at night. The gaps were small, but they added up.
Invoicify is the tool I wanted then: one quiet dashboard for the hours already worked, the money still waiting, and the invoice that should take one click.
Why I built it
Your workflow should show the business clearly, not create another one to manage.
Start a timer or add a finished session. Every entry stays attached to the right client.
Select unbilled time and create a polished PDF without rebuilding the details.
Know what is paid, what is open, and which work still needs a nudge.
Log a session against a client, then carry those hours forward instead of copying them into another document.
Share invoices with 24-hour HMAC-signed links. No client account, no permanent public URL.
See collected revenue, billable hours, and unbilled accrual in the same place.
Email and password auth, isolated account data, and an architecture you can inspect and run yourself.
Optimistic updates make status changes and deletions feel immediate while the server catches up.
What I learned building it
Invoices need to be deterministic. Share links need to expire. Redis needs one connection during hot reloads. The details are not decoration when money is involved.
That is why Invoicify uses server actions, Prisma, Redis, PDFKit, HMAC-signed URLs, and React's optimistic UI. Each choice started with a problem I actually had.
Read the implementation on GitHubMake the next hour count