Ledgerline

Invoices for freelancers that chase themselves

Sam CarterLaunched 4 weeks agoWeb appWorking · checked 3 hours ago
0:42

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 work

    Invoice editor and PDF layout

  • Claude Code

    70% of the work

    Billing, reminders and the API

MCP servers1

  • Stripe

    Products, prices and webhooks set up by the agent

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

  1. Set up the project, the database and sign-in, and deploy an empty page
  2. Build the main screen with realistic sample data
  3. Connect it to real data and add the one action the app exists for
  4. Add the empty states and error messages a new user will hit
  5. 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

  • Noah FischerTried it1 day ago

    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.

    • Sam CarterMaker2 hours ago

      Thanks! Good question, I'll write it up in the build log this week.