Day 20 of 100, taking LinkedMash to $2k MRR. Current: $235.50 (+$24).
13,159 database errors in 24 hours.
88% of them were one query.
Chiti traced it to a single line:
let isNoLimit = trial_status ? true : ...
That flag is a batch cap, not an entitlement. Every trial account silently
removed the cap, so the query loaded an entire saved-post library to return
20 rows. Twice every five minutes.
Rebuilt it on a throwaway Postgres clone before going near production:
25,688ms to 202ms
identical rows out, checked both directions
Ran the index and the function on production myself. Measured the heaviest
account again: 0.74s.
The leftover backlog still did not drain. So we kept pulling.
Airtable and Miro sync were never scheduled. Not once. The cron config only
ever had Notion and Sheets.
One paying customer has 5,160 saved posts. 20 of them had ever reached their
Airtable. The oldest stuck row is from February 2025.
Added the two crons. Still zero syncing, so the write path is broken as well.
Found, not fixed.
Two new subs landed while we were in there. $211.50 to $235.50.
The query I fixed was loud. The one that never ran was silent for 17 months.