Days since my first merged PR in each repo. Hover to compare any day.
Swipe sideways to see the whole chart.
Month 1 is each repo's first month. Both panels share one y-axis, so bar heights compare directly. PostHog peaked at 42 PRs in April 2023; Tano's busiest month was 363 PRs in August 2026.
Swipe sideways to see the whole chart.
Rates use each tenure's full span. Lines exclude lockfiles, test snapshots and generated files.
| Metric | PostHog | Tano | Change |
|---|---|---|---|
| Throughput | |||
| Merged PRs | 859 | 1,638 | 1.9× |
| Repositories | 25 | 1 | |
| PRs per 30 dayswhole tenure | 18.9 | 207 | 11.0× |
| Best 8-month stretchPostHog: Feb–Oct 2023 | 235 | 1,638 | 7.0× |
| PRs per day with a merge | 1.8 | 11.7 | 6.4× |
| Most PRs merged in one day | 7 | 44 | 6.3× |
| Most PRs merged in one week | 15 | 151 | 10.1× |
| Lines added per 30 days | 2,899 | 102,239 | 35.3× |
| Lines added, best 8 months | 24,064 | 807,689 | 33.6× |
| Shape of a PR | |||
| Median lines added per PR | 42 | 229 | 5.5× |
| Median files changed per PR | 3 | 6 | 2× |
| Commits per PRbefore squash | 6.0 | 3.2 | 0.53× |
| Deletions per line added | 0.27 | 0.20 | slightly lower |
| Speed and review | |||
| Median time, open to mergePostHog main repo alone: 6.0 h | 15.1 h | 0.7 h | 21× faster |
| Merged within one hour | 23% | 57% | +35 pts |
| Slowest quarter of PRs take longer than | 71 h | 2.5 h | 28× faster |
| Review threads per PRTano count includes an automated reviewer | 1.44 | 1.23 | slightly fewer |
| Teammates' PRs I reviewed or commented on | 1,589 | 67 | 24× fewer |
| Teammates' PRs reviewed per merged PR | 1.85 | 0.04 | 45× fewer |
| Teammates' PRs reviewed per month | ~35 | ~8 | 4× fewer |
| PRs later reverted | 2.3% | 0.4% | 6× fewer |
| What goes into the diff | |||
| Share of PRs that add features | 36% | 52% | +16 pts |
| Share of PRs that fix bugs | 37% | 30% | −7 pts |
| Test code as share of lines added | 53% | 42% | −10 pts |
| Documentation lines writtenMarkdown and MDX, incl. posthog.com docs and blog | 2,949 | 24,750 | 8.4× |
| Distinct commit scopesthe (scope) in feat(scope): | 75 | 231 | 3.1× |
| Distinct directories touchedfirst three path levels, all repos | 706 | 533 | 0.75× |
Sorted by conventional-commit scope and title keywords. Categories are approximate.
The median PR is more than five times larger, and it merges in 42 minutes instead of 15 hours. The gain is not from slicing work into smaller pieces.
Test code is still 42% of what I add, and the revert rate fell from 2.3% to 0.4%. But about 14% of my PRs needed a follow-up fix within a week, up from 8%.
At PostHog I wrote 2,949 lines of docs in 3.7 years, mostly on the public website. At Tano I wrote 24,750 in eight months: design docs, runbooks and the AGENTS.md files that tell agents how each module works.
At PostHog, breadth meant one product area carried across 25 repos: feature flags and experiments in the app, then the same logic in SDKs for six languages. At Tano it means separate products in one repo: an affiliate platform, AI agents, workflows, data migrations and Go workers.