Ledgerline
Invoices for freelancers that chase themselves
About
Create an invoice in under a minute, send it, and let Ledgerline follow up politely when it's late. The reminders get firmer over time, in a tone you choose.
Profitable, small and boring in the best way. Listed for sale with 140 active users.
How it was made
Shared by the maker. Numbers are their own estimate.
- Build time
- 1 month
- AI spend
- $75
- Prompts
- ~230
- Written by AI
- 85%
Agents
v0
30% of the workInvoice editor and PDF layout
Claude Code
70% of the workBilling, reminders and the API
Build recipe
The code isn’t public. This is the whole project as one prompt: paste it into your own agent to build the same thing.
Written by Claude Code
From the project’s code and history · 363 words
Build a web app called Ledgerline: invoices for freelancers that chase themselves.
What it does
Create an invoice in under a minute, send it, and let Ledgerline follow up politely when it's late. The reminders get firmer over time, in a tone you choose.
Stack
Use Next.js, Stripe, Postgres, Vercel. The original was built with v0 and Claude Code in 1 month, for about $75 in AI usage.
How it fits together
- A server-rendered web app with a small API layer
- A database for user data, with row level security on every table
- Sign-in so each person only sees their own data
Build it in this order
- Set up the project, the database and sign-in, and deploy an empty page
- Build the main screen with realistic sample data
- Connect it to real data and add the one action the app exists for
- Add the empty states and error messages a new user will hit
- Write tests for anything that touches money, dates or other people's data
Tools to connect
- Stripe MCP: products, prices and webhooks set up by the agent
A prompt that worked: Reminder emails that get firmer
Write four reminder emails for an unpaid invoice: 3 days late, 10 days, 21 days and 35 days. Each one slightly firmer than the last, never rude. Keep each under 80 words. Use {client_name}, {invoice_number}, {amount} and {due_date}. Then write the same four in a ‘very friendly’ tone.Watch out for
- Don't build settings, teams or billing before the main screen works
- Keep the first screen useful with sample data, so the app makes sense before anyone has set it up
Done when
- A new user can sign in and get value in under two minutes
- Everything works on a phone
- Tests pass for the core logic
Before writing code, ask me up to five questions about who this finance web app is for and what the first version must do. Then work in small steps: after each one, tell me how to try it and wait for my feedback.
Discussion
4 comments · 1 member tried it
Ran it locally in under five minutes. README is great. Would you take a PR that adds a Docker set-up?
- Amara Okafor2 days ago
Copied the main prompt and adapted it for a project at work. Saved me an afternoon.
- Kenji Mori1 day ago
What did the agent struggle with most? Always curious where people had to step in.
More like this
Paste a README, get honest notes on what a stranger won't understand