Late STT must no-op after transcript purge
Sander Korf4 min read
Purge deleted transcript overlays while vendor STT still ran. Completion handlers recreated erased text. Missing overlay row means return, not upsert.
Read more
Writing
Convex backend notes for production apps: seeded Identify reducers, session audio purge, typed flow rules, and reactive queries that keep admin UI in sync.
Sander Korf4 min read
Purge deleted transcript overlays while vendor STT still ran. Completion handlers recreated erased text. Missing overlay row means return, not upsert.
Read more
Sander Korf4 min read
Convex rate limiter on thread and global buckets can charge the session when global is empty. Check both rate limits before STT spend, then throw to roll back.
Read more
Sander Korf4 min read
Clinicians read Identify as a spreadsheet. Engineers cannot prove it ends. I seed Convex, write a pure reducer, and replay the sheet paths in Vitest first.
Read more
Sander Korf4 min read
When two movements stay yes after Compare, looping the same chips teaches nothing. I pause for a pick, hatch the losers, and end the run as a hypothesis.
Read more
Sander Korf4 min read
Identify is a clinician movement engine on Convex. Spreadsheet authors invent words weekly; lock metrics and actions to validators so the reducer stays boring.
Read more
Sander Korf3 min read
A research product records session audio apart from chat. Deleting a thread must not wipe the rolls. Admin purge is terminal-only and deletes chunks first.
Read more
Writing
Convex backend notes for production apps: seeded Identify reducers, session audio purge, typed flow rules, and reactive queries that keep admin UI in sync.
Sander Korf4 min read
Purge deleted transcript overlays while vendor STT still ran. Completion handlers recreated erased text. Missing overlay row means return, not upsert.
Read more
Sander Korf4 min read
Convex rate limiter on thread and global buckets can charge the session when global is empty. Check both rate limits before STT spend, then throw to roll back.
Read more
Sander Korf4 min read
Clinicians read Identify as a spreadsheet. Engineers cannot prove it ends. I seed Convex, write a pure reducer, and replay the sheet paths in Vitest first.
Read more
Sander Korf4 min read
When two movements stay yes after Compare, looping the same chips teaches nothing. I pause for a pick, hatch the losers, and end the run as a hypothesis.
Read more
Sander Korf4 min read
Identify is a clinician movement engine on Convex. Spreadsheet authors invent words weekly; lock metrics and actions to validators so the reducer stays boring.
Read more
Sander Korf3 min read
A research product records session audio apart from chat. Deleting a thread must not wipe the rolls. Admin purge is terminal-only and deletes chunks first.
Read more