xvibers / ideas / #010

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.

⏱ A weekenddifficulty 2/5 · easyfreelancersretainerstime-trackingclient-portal

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

// the weekly drop

5 app ideas nobody built yet. Every week.

Real problems people complain about, who would pay, how hard it is to build, and the prompt to start with. Free.

One email a week. Unsubscribe in one click.