LumenBill
live · lumenbill.appTwo-sided billing for freelancers and the people who pay them. Money is the object. Every screen has a freelancer side and a client side, and they agree.
What it does
LumenBill handles the paperwork around getting paid: SOWs, invoices, receipts, contract amendments. It treats those documents as the unit of work. Tasks, projects, and contacts exist to produce them.
The thing most freelancer tools miss is that there are two people involved. LumenBill makes the client view first-class — a freelancer marking an invoice paid and a client receiving a paid receipt are the same event seen from two sides.
Why it's shaped this way
The primary actions on every screen are financial — send invoice, mark paid, sign contract, see what's owed — never generic verbs like "create" or "manage." The artifacts underneath are things you'd actually mail or print: an SOW, an invoice, a receipt, an amendment, not an opaque internal record.
- Overdue, paid, signed, draft — every status is computed from underlying fields, so nobody has to keep two status sources in sync by hand.
- Amber on the freelancer side means amber on the client side. There's no version of the screen where one party thinks something is paid and the other doesn't.
Visit
Live at lumenbill.app. The freelancer side is what you'll see when you sign in; the client side is what your client sees when you send them anything.
Stack
Next.js, Supabase, Drizzle. Deployed on Hetzner with Dokku. Stripe for payments, Resend for email, Plausible for analytics.