Effort
Last updated 2026-09-23
What it took to build this. The counted figures are counted; the estimated ones are labelled, because the difference matters.
Build
13,968
lines of TypeScript
95
modules
169
commits
50.8 h
hours (estimated)
4.3 months
without AI (estimated)
213
released versions
13,968 code · 2,819 comment (15%) · 1,461 blank. 169 commits across 16 days and 41 working stretches.
How the hours were reconstructed
From commit timestamps: commits less than 90 minutes apart are treated as one working stretch, and each stretch is credited 20 minutes of lead-in for the work before its first commit — the first commit of a sitting is never the first minute of it.
A stretch is also never credited less than an hour. Measured from its first commit to its last, a sitting that produced a single commit measures zero and would be counted as the lead-in alone, whatever it actually took. That is the case for 16 of the 41 stretches here.
Git records moments, not durations. This is a reconstruction rather than a measurement, and it cannot see thinking, reading, or the work that produced no commit at all.
How the comparison was estimated
Writing the same 13,968 lines by hand would be roughly 4.3 months for one developer (93 working days) — on the order of 15× the time actually spent.
Estimated from volume, not from anything measured here: the midpoint of 100–200 lines of finished, reviewed code per eight-hour day, the usual band for one developer on a new codebase, over months of 21.75 working days.
It counts the lines that exist today and ignores everything a person would have thrown away getting there, so if anything it flatters the comparison. Treat it as an order of magnitude rather than a figure.
Largest modules
| src/components/ExchangePanel.tsx | 2,130 |
| src/lib/exchanges.ts | 1,815 |
| src/app/admin/page.tsx | 1,750 |
| src/lib/changelog.ts | 1,102 |
| src/components/WalletPanel.tsx | 897 |
| src/components/TransactionStatus.tsx | 754 |
| src/components/Landing.tsx | 504 |
| src/app/app/page.tsx | 415 |
| src/lib/btc.ts | 405 |
| src/lib/hdwallet.ts | 382 |
What is not in these numbers
Lines are a poor measure of work and a worse measure of value. Several of the most useful changes here removed code or changed a single figure: dropping the email path deleted a dependency, and correcting a column that reported volume as revenue was a few characters.
Not counted either: the bugs found by testing rather than by writing — a wallet generator deriving addresses on the wrong chain, a content-security policy that silently blocked every script, a plan that could not be started once you used its own privacy feature. Finding those took longer than writing what replaced them.
No account, no sign-up, and nothing is held here — your browser pays each provider directly.
Questions about any of this? The source is the authority — everything described here can be checked against it.