Realtime, reports, and product foundations
A day of strengthening an English conversation product with realtime, Convex, AI reports, authorization, and workspace coordination.
Today was about moving the English-practice product closer to real use. The focus moved from a nice screen to the contracts that support the experience: data, sessions, voice, reports, and authorization.
English conversation product
I advanced the realtime base with WebRTC, temporary session credentials, microphone fallback, transcript captions, and cleanup when a call ends. Practical controls also appeared, including barge-in, configurable personas, and a QA checklist so the product is not judged only by how it feels in the browser.
On the data side, Convex became the central source for sessions, reports, and the dashboard. The app started persisting messages, generating AI reports, showing retry states, and applying visibility rules for each user.
Security and operations
I also closed authorization gaps. Authenticated realtime sessions received stricter validation, and the AI routes gained more careful input checks. In parallel, I organized environment setup so new workspaces could start with the right context without copying sensitive values into public content.
Full stack mentorship
Another block of the day was the mentorship platform. I kept building proof modules around SSR, SEO, declarative data fetching, async jobs, payment state machines, query optimization, and webhook reliability.
The result was a day of applied infrastructure: less promise, more complete paths between voice, data, rules, and screens.