“Autovacuum for your social graph. Every ghosted DM, dead crush, and ‘we should grab coffee’ is a dead tuple bloating your relational state. Without it: table bloat, slow queries, you can’t remember anyone’s birthday.”
The Problem
Your contacts table is 14 GB. Of that, 11.3 GB is dead tuples — exes, college floormates, a guy named “Devin?” with no last name, three coworkers from a company that got acquired, and the bride from a wedding you didn’t attend. Index scans take 4.2 seconds. SELECT person FROM memory WHERE birthday = today times out. The planner picks a sequential scan through high school.
contacts · bloat report
SELECT pg_size_pretty(pg_total_relation_size(‘you’))live tuplesdead tuples
2.7 GB · 19%11.3 GB · 81%
exes4
‘coffee soon’312
Devin?1
acquired coworkers47
The Solution
Vacuum runs nightly while you sleep. It scans the heap, marks dead tuples, reclaims their pages, and rebuilds your friendship indexes so birthdays come back O(1). Aggressive mode triggers after a breakup.VACUUM FULL requires therapy.
autovacuum daemonstarted 02:00 local
1ANALYZE
Sample 30 contacts. Estimate ghost ratio.
2MARK
Tag dead tuples. Skip if it’s your mom.
3SWEEP
Free the pages. Archive their voice notes.
4REINDEX
Rebuild birthday btree. Names load in 4ms.
postgresql.conf (excerpt)
Tuning is everything. Too aggressive and you vacuum your best friend because she moved to Berlin. Too lazy and your aunt is still in shared_buffers.
~/.config/you/postgresql.conf
# --- autovacuum (life) ---
autovacuum = on # required by mental health
autovacuum_naptime = ‘until the next breakup’
autovacuum_vacuum_threshold = ‘3 unanswered DMs’
autovacuum_vacuum_scale_factor = 0.2 # 20% of friends are NPCs
vacuum_freeze_min_age = ‘7 years’ # after this it’s nostalgia
# --- exceptions ---
vacuum.skip_table = ‘mom’, ‘therapist’, ‘the one good coworker’
vacuum.full_requires = therapy # EXCLUSIVE LOCK on the heart
Pricing
$6 / mo
Nightly vacuum. Reclaims one ghost per week. Birthdays load in under 800ms. Suitable for introverts with low write throughput.
$22 / mo
Triggers on breakup, layoff, or the phrase ‘we should circle back.’ Includes autovacuum_workers = 4 and a daily ghost report.
$199 / mo
Exclusive lock. Rewrites the entire heap. Includes one (1) licensed therapist, a moving truck, and a new phone number. Downtime: 6–9 weeks.
TAM
Estimated dead tuples in the global social heap
5.3B smartphones × avg 2,184 contacts × 0.81 ghost ratio
= 9.4T tuples ripe for the sweep
Most of them are named “Devin?”
The Ask
$4M seed. Builds the daemon, the freeze-age scheduler, and a polite notification system that asks “is it okay if we let Greg go?” before it commits. Two engineers, one DBA, and a poet to write the goodbye copy.
Series A pitch:“We’re Postgres for the people you’ve been meaning to stop thinking about.”