CodingIdeas.ai

RetainerPilot - Retainer Hour Burndown Tracker for Freelancers

Freelancers on monthly retainers constantly lose money because clients over-burn hours with no visibility and freelancers forget to invoice the overages. RetainerPilot is a dead-simple hour burndown dashboard that auto-alerts both sides when hours are running low.

Difficulty

beginner

Category

Gig Economy

Market Demand

High

Revenue Score

6/10

Platform

Web App

Vibe Code Friendly

⚡ Yes

Hackathon Score

6/10

What is it?

Monthly retainer agreements are the holy grail of freelance income, but managing them manually via spreadsheets means freelancers routinely eat 10-15 extra hours per client before noticing. RetainerPilot lets freelancers create retainer contracts with hour buckets, log time with a one-click timer, and automatically sends the client a branded burndown email when 75% of hours are used — giving both parties a chance to buy more hours or scope down. The client-facing portal requires zero account creation for the client. Targeted at the 1.5 million US freelancers who use monthly retainers, particularly designers, developers, and consultants. Buildable in one week because the tech stack is entirely off-the-shelf.

Why now?

The April 2026 freelance boom driven by AI-era company downsizing has pushed more knowledge workers onto retainer arrangements — and Vercel Cron and Resend make the alert infrastructure free to launch.

  • One-click timer per retainer client with daily hour log
  • Visual burndown bar showing hours remaining in current month
  • Auto-alert email to client at 75% and 100% burn thresholds
  • Client portal (no login required) showing live burndown and top-up request button

Target Audience

Freelance designers, developers, and consultants on monthly retainers — estimated 1.5M in the US.

Example Use Case

Sofia is a UX designer with 4 retainer clients and was eating 8 hours of free work per month. RetainerPilot sends her client an auto-alert at 75% burn, the client buys a 10-hour top-up, and Sofia recovers $800/month she was previously losing.

User Stories

  • As a freelance designer, I want to see a live burndown of retainer hours per client, so that I never eat unpaid hours again.
  • As a freelancer, I want my client to receive an automatic email at 75% burn, so that I do not have to have an awkward conversation.
  • As a client, I want to view the burndown and request a top-up without creating an account, so that the process is frictionless.

Acceptance Criteria

Timer: done when start/stop logs accurate time to the minute in Supabase. Burndown Bar: done when bar reflects real-time hours_used vs hours_allocated without page refresh. Client Alert: done when Resend email fires automatically within 1 hour of hitting 75% burn. Client Portal: done when public URL loads burndown without any login and shows top-up button.

Is it worth building?

$12/month x 200 users = $2,400 MRR by month 4. Math: 8% of 2,500 Reddit r/freelance visitors convert, modest but consistent.

Unit Economics

CAC: ~$0 via Reddit organic. LTV: $144 (12 months at $12/month). Payback: immediate. Gross margin: ~93%.

Business Model

$12/month for up to 5 active retainers, $29/month unlimited

Monetization Path

7-day free trial, then tiered subscription. Overage alert emails create upgrade pressure naturally.

Revenue Timeline

First dollar: week 2. $1k MRR: month 3. $5k MRR: month 12 with referral program.

Estimated Monthly Cost

Vercel: $20, Supabase: $25, Resend: $10, Stripe fees on $1k MRR: $30. Total: ~$85/month.

Profit Potential

Solid side-income at $2k MRR, not a unicorn but highly defensible for a solo founder.

Scalability

Medium — add Zapier integration, QuickBooks sync, and team freelancer accounts in V2.

Success Metrics

Week 1: 100 signups from Reddit. Week 3: 30 paid subscribers. Month 3: less than 15% monthly churn.

Launch & Validation Plan

Post a Figma mockup on r/freelance asking 'would you pay $12/month for this?' and count upvotes and DMs before writing one line of code.

Customer Acquisition Strategy

First customer: reply to every r/freelance post complaining about retainer management and offer a 3-month free trial for feedback. Ongoing: SEO on 'freelance retainer tracker', ProductHunt launch, Twitter/X freelance community posts.

What's the competition?

Competition Level

Low

Similar Products

Harvest (full time tracker, overkill for solo retainers), Toggl Track (no client alerts, no burndown), Bonsai (full contract suite, expensive) — none offer zero-login client burndown portals with auto top-up prompts.

Competitive Advantage

Zero-setup client portal with no client account required — competitors like Harvest require clients to log in, which kills adoption.

Regulatory Risks

Low regulatory risk. GDPR: document data retention for client portal tokens.

What's the roadmap?

Feature Roadmap

V1 (launch): timer, burndown bar, client alert email, public client portal. V2 (month 2-3): invoice generator, Stripe top-up flow, retainer renewal reminders. V3 (month 4+): QuickBooks sync, team accounts for agencies, referral program.

Milestone Plan

Phase 1 (Week 1): timer + burndown + alert live, done when 3 test retainers fire real alert emails. Phase 2 (Week 2): Stripe subscription + client portal live, done when first freelancer pays. Phase 3 (Month 2): 50 paid subscribers and ProductHunt launch.

How do you build it?

Tech Stack

Next.js, Supabase, Stripe, Resend — build with Lovable for full UI, Cursor for timer logic and email triggers.

Suggested Frameworks

Next.js, Supabase, Resend

Time to Ship

1 week

Required Skills

Next.js, Supabase Postgres, Resend transactional email, Stripe Billing.

Resources

Supabase quickstart, Resend docs, Stripe Billing guide, Next.js app router tutorial.

MVP Scope

pages/dashboard.tsx, pages/client/[token].tsx (public client portal), pages/api/timer.ts, pages/api/alert.ts, components/BurndownBar.tsx, components/TimerButton.tsx, lib/supabase.ts, lib/resend.ts, lib/stripe.ts.

Core User Journey

Create retainer -> log first hour via timer -> client receives 75% alert email -> client clicks top-up -> freelancer gets paid.

Architecture Pattern

Freelancer logs time -> Supabase updates hours_used -> cron checks burn % every hour -> at 75% Resend fires client alert email with magic-link portal URL -> client views burndown -> top-up request triggers Stripe payment link to freelancer.

Data Model

User (freelancer) has many Retainers. Retainer has many TimeLogs. Retainer has one ClientPortalToken. Retainer has hours_allocated and hours_used fields.

Integration Points

Supabase for data and auth, Resend for client alert emails, Stripe Payment Links for top-up requests, Vercel Cron for burn-check triggers.

V1 Scope Boundaries

V1 excludes: invoicing, QuickBooks sync, multi-currency, team freelancer accounts, mobile app, Zapier integration.

Success Definition

A freelancer who found the product on Reddit sets up a retainer, logs time for a week, and the client receives the 75% burn alert without the freelancer doing anything manually.

Challenges

Getting freelancers to change their time-tracking habit is the core behavioral challenge — must be faster than their current spreadsheet within the first 60 seconds or they churn.

Avoid These Pitfalls

Do not build invoicing before the core timer and alert loop is validated — scope creep into full billing kills the MVP. Do not require client account creation — it is the single biggest adoption killer in B2B2C tools. First 10 paying customers will come from Reddit DMs, not organic search.

Security Requirements

Supabase Auth with Google OAuth, RLS on all retainer and time log tables, client portal tokens are UUID v4 and single-use rotatable, rate limit API routes at 60 req/min per IP.

Infrastructure Plan

Vercel for Next.js and Cron, Supabase for Postgres and auth, Sentry for errors, GitHub Actions for CI.

Performance Targets

Launch: 100 DAU, 500 timer events/day. API response under 300ms. Page load under 1.5s. No caching needed at V1 scale.

Go-Live Checklist

  • Security audit complete
  • Payment flow tested
  • Sentry live
  • Vercel analytics on
  • Custom domain with SSL
  • Privacy policy published
  • 5 beta freelancers signed off
  • Rollback plan documented
  • Reddit launch post drafted.

How to build it, step by step

1. Run npx create-next-app@latest retainerpilot --typescript. 2. Install @supabase/supabase-js, stripe, resend, date-fns. 3. Create Supabase tables: users, retainers, time_logs, client_portal_tokens. 4. Build pages/dashboard.tsx with Lovable showing retainer list and burndown bars. 5. Build components/TimerButton.tsx with start/stop state that writes to time_logs on stop. 6. Create pages/api/alert.ts to check burn percentage and fire Resend email at 75% and 100%. 7. Set up Vercel Cron to call /api/alert every hour. 8. Build pages/client/[token].tsx as a public page showing burndown and a Stripe Payment Link for top-up. 9. Wire Stripe Billing for freelancer subscriptions via checkout and webhook. 10. Deploy to Vercel, post on r/freelance with a GIF demo of the client alert email.

Generated

April 16, 2026

Model

claude-sonnet-4-6

Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.