The Gap List
Today/Archive/Indie SaaS/001-reverse-rate-calculator
Issue No. 001Indie SaaS◇ Weekend · ~3 daysMay 4, 20267 min read23 receipts

The reverse rate calculator nobody's built.

Every freelance rate calculator answers the wrong question. Here's the gap, the data, and a build kit that ships in a weekend.

Ship
it.
6/6 on the Gap Test. Hover any criterion below for the evidence.
Pain documented
Demand has a number
Buildable solo
Wedge is real
Path to first $
Gap unfilled

You get an offer for $35/hour. Is that good? Bad? Robbery? Every calculator on the internet asks what rate you want — none tell you what the rate you were offered actually means.

The pain is documented.

Search r/freelance for "is X/hr good" and you'll find the same question asked roughly twice a week, every week, for the last six years. The answers are anecdotal. The data exists — it just isn't packaged for the moment a contractor needs it: thirty seconds before responding to a client email.

Existing calculators (Clockify, Bonsai, half a dozen Notion templates) all run forward: input your salary expectation, output a rate. Useful when you're setting your rate. Useless when someone has already proposed one.

The evidence of demand.

Three numbers that matter:

SignalValueSource
Monthly searches23.4k"is $X/hr good"-shaped queries · ahrefs, Apr 2026
Reddit threads847r/freelance + r/forhire, last 24mo · pushshift
Tools that answer0audit of top 50 calculator results · Apr 2026

The distribution of senior React contractor rates in North America (n=312) shows a median of $92/hr, with the long left tail where most lowball offers land.

The proposed product.

A single-page tool. You paste a rate, your stack, your region, your seniority. It returns where that number sits in the live distribution: percentile, comparable roles, and one honest sentence — "this is a 31st-percentile offer for your stack; here's a counter that lands at the 60th."

Competitive landscape:

ToolDirectionRegion-awareStack-awareLive dataOutput
ClockifyForwardNoNoNoSingle rate
BonsaiForwardMildNoNoSingle rate
Notion templatesForwardNoNoNoSpreadsheet
Levels.fyiLookupYesYesYesDistribution
This gapReverseYesYesYesPercentile + sentence

The build flow.

Four steps, all static:

  1. Scrape boards — Upwork, Toptal, public LinkedIn, Indie Hackers. Weekly.
  2. Normalize — stack tags, regions, seniority levels. Drop noise.
  3. Bin + percentile — by stack × region × seniority cell.
  4. Serve as JSON — static, CDN-cached. No backend.

Reasons this might not work.

R-01 — The data goes stale fast. Contract rates move quarterly. Without a refresh pipeline, the tool is wrong by month four. Mitigation: ship with a "data as of" badge and a quarterly re-scrape.

R-02 — Anchoring cuts both ways. Honest percentile data may help clients lowball as easily as it helps freelancers counter. Frame the output for the contractor, not the buyer.

R-03 — Nobody pays for a calculator. Free tier forever; revenue from the $9 niche reports ("Senior React rates, EU, Q3 2026").


The receipts.

  1. r/freelance — "Is $35/hr good for senior React?" · 2024-11-03
  2. r/forhire — biweekly rate-check threads · 2024–2026
  3. ahrefs keyword data, queries containing "is $" and "/hr" · 2026-04
  4. Clockify rate calculator (forward-only) · accessed 2026-04-22
  5. Bonsai freelance rate tool (forward-only) · accessed 2026-04-22
  6. Levels.fyi contractor rates dataset · 2026-Q1
  7. Hacker News "Ask HN: contractor rates" threads · 2023–2026
  8. Indie Hackers — rate-transparency thread · 2025-08
  9. G2 reviews of freelance accounting tools · scraped 2026-03
  10. Twitter/X — @levelsio rate poll · 2026-01
Share
— Unit economics —
Build time
14hrs
Following the 10-step PROMPTS.md flow.
Monthly run cost
$0/mo
Vercel Hobbystatic + edge$0
Cloudflare R210GB free tier$0
Beehiiv free<2.5k subs$0
One-time
$12
Domain (.com)annual$12
Stripe setuppay-as-you-go$0
Path to first $
$9 niche reports
— Risk register —
R-01The data goes stale fast.severity: highlikelihood: high
Contract rates move quarterly. Without a refresh pipeline, the tool is wrong by month four — and a wrong rate calculator is worse than no rate calculator.
Mitigation: Ship with a 'data as of' badge on every percentile output. Schedule a quarterly re-scrape via GitHub Actions cron. Show a stale-data warning if the dataset is >120 days old.
R-02Anchoring cuts both ways.severity: medlikelihood: med
Honest percentile data may help clients lowball as easily as it helps freelancers counter. The tool could backfire on the audience it serves.
Mitigation: Frame the output for the contractor, not the buyer. Default copy: 'this is a 31st-percentile offer — here's the counter that lands at the 60th.' Don't expose raw distributions to non-authenticated visitors.
R-03Nobody pays for a calculator.severity: medlikelihood: high
Free utilities don't convert directly. Bonsai/Clockify monetize via accounting bundles, not the calculator itself.
Mitigation: Free tier forever. Revenue from $9 niche reports ('Senior React rates, EU, Q3 2026'). Calculator is the funnel; reports are the SKU.
— Build kit · 001-reverse-rate-calculator

Ship this in a weekend.

Eight files. Drop the folder into your repo and start at PROMPTS.md §1. Each prompt is one commit. Finish all ten and you have a working MVP.

0 files · 0B
↓ Download .zip
← Back to todayAll issues →