Archived
The billing system, switched off
Faircopy was built to sell subscriptions. It doesn't any more — this deployment runs on your own Anthropic key and takes no payments. The plans below are what shipped, kept here because the code behind them is worth reading.
What was actually built
- Lemon Squeezy as Merchant of Record — Stripe doesn't support South African businesses, and an MoR handles VAT registration too.
- Quota consumption through a security-definer Postgres function, so a user can read their own billing row but never write it. The function can only increment.
- Billing cycles on the subscription anniversary, not the calendar month, with a lazy fallback in the quota function for a missed renewal webhook.
- Webhook handlers that write absolute state from the payload, so retries and out-of-order delivery are both harmless.
- Upgrades apply immediately; downgrades set a pending tier applied at renewal, so nobody loses access inside a cycle they paid for.
Starter
$29/month
For the occasional pitch — a proposal or two a week.
- 15 proposals a month
- All five template categories
- Unlimited saved custom templates
- Client records & pipeline tracking
- PDF + markdown export
Not for sale
Freelancer
$79/month
For a steady pipeline — proposals going out most days.
- 60 proposals — 4× more than Starter
- All five template categories
- Unlimited saved custom templates
- Client records & pipeline tracking
- PDF + markdown export
Not for sale
Studio
$249/month
For studio volume — quoting is part of the daily routine.
- 300 proposals — roughly 10 every day
- All five template categories
- Unlimited saved custom templates
- Client records & pipeline tracking
- PDF + markdown export
Not for sale