Retainer hours balance link for freelancers
A no-login page that shows each retainer client how many hours they've used and have left, so the freelancer stops answering 'where did my hours go?' emails.
The problem
Freelancers on monthly retainers log hours in one tool and bill from another. Clients keep asking how many hours are left, and the freelancer rebuilds the answer by hand each time. On Hacker News, one consultant said it's unclear where a consultation starts and ends, so ongoing chats are hard to bill. Vendor write-ups on retainer tracking say the same thing: even with Asana, clients still ask for their balance.
Who has it: Solo designers, developers, copywriters and marketers with 3-10 monthly retainer clients who bill by capped hours.
Who pays
The freelancer pays to avoid overservicing, billing disputes and status-update emails. · $9-15/month per freelancer, or $59/year
Free for 1 client, paid for unlimited. Share it in freelancer subreddits and Slack groups, and give each client page a small 'powered by' link as a referral channel.
What to build first
- Create a retainer per client: monthly hours, rate, rollover on/off
- Quick log entry (date, minutes, note) from phone or desktop
- Public share link per client showing hours used, remaining and a task list
- Auto-email at 80% and 100% of hours, to the freelancer and optionally the client
- Month-end CSV or PDF summary to paste into any invoice
- Overage rate shown on the client page
Suggested stack
Next.js Supabase Resend Stripe Vercel
Starter prompt
Paste it into Cursor, Claude Code, Lovable or Bolt and iterate from there.
Build a Next.js + Supabase app called RetainerLeft for freelancers. Auth with email magic link. A freelancer creates Clients, and each client has a Retainer (monthly hours, overage hourly rate, rollover boolean, billing cycle start day). Add a fast 'Log time' form (client, date, minutes, note). Each retainer has an unguessable public URL /r/[token] that needs no login. It shows a progress bar of hours used vs remaining this cycle, rollover hours, and a list of log entries (date, note, hours). Compute cycle boundaries correctly. Send an email via Resend when usage crosses 80% and 100%. Add a month-end export as CSV and a printable summary page. Add Stripe Checkout for a $12/month plan with a 14-day trial; limit the free tier to 1 client. Use Row Level Security so users only see their own data. Keep the UI minimal with Tailwind and shadcn/ui. Seed demo data.
What could go wrong
Bonsai, Plutio and Harvest already cover retainers, so you win only on being simpler and cheaper. Many freelancers bill flat-rate rather than by the hour, which shrinks the audience.
Where we found it
- HourTab on retainer tracking in Asana — Freelancers with 6-8 retainer clients track 'hours remaining' by hand in Asana, and clients still end up asking how many hours they have left. This is a vendor's blog post, not a freelancer's own words.
- Ask HN: How do you bill your freelance consultation services? — A consultant bills hourly but can't tell where a consultation starts and ends, so ongoing conversations are hard to bill.
- Best Software for Managing Retainer Clients — Another vendor page, noting that several popular freelancer tools track time but lack retainer budget caps, and that people end up tracking in one tool and billing from another.