Entry 69-2 Mastery is a System 2 min ↩ back to the timeline

The app died of a cold start

Sanfanson's autopsy is infrastructural: a free Render backend that takes minutes to wake, so slow its own creator thought the API tokens had run out. The resurrection plan: everything into Firebase, and feedback moved off the critical path.

video fuente → Source video thumbnail
Source transmission · “0 to 1 Million” diary

// trace: where this idea came from

Sanfanson, the language game that predates the company, comes out of the drawer, and its post-mortem is the most technical teaching of the batch. The original stack was assembled from ChatGPT’s free-tier suggestions: Netlify for frontend, Firebase for auth, Render for the backend ▸ 10:20. Reasonable-sounding, all free, and fatally flawed in one specific place: Render’s free tier puts the backend to sleep, and waking it takes minutes ▸ 11:57.

How bad is a cold start, experientially? Bad enough to fool the person who built the system: “hubo un tiempo en que yo decía: se me acabaron los tokens de GPT, porque realmente no me cargaba nada”, and later he discovered it still worked, it was just waking up ▸ 17:18. If the creator reads the latency as death, every visitor from that first Reddit post read it the same way. Add the random Netlify URL where a domain should be ▸ 12:23, and the app didn’t lose to its competition; it lost to its own plumbing.

el usuario no distingue entre lento y muerto →

The resurrection plan attacks exactly those wounds. Consolidate everything, backend, frontend, secure keys, auth, analytics, into Firebase alone ▸ 16:11; hang it on a real subdomain, sanfanson.luarai.com, now that the company owns a domain. And redesign the game loop around the same latency lesson: instead of phrase, wait, feedback, the unpublished minigames run “frase, frase, frase, feedback, feedback, feedback” ▸ 18:15, batching the slow part out of the player’s rhythm.

Free infrastructure is never free; it’s paid in the currency users care about most. The Divo-era Juan, who rejected a polling job to save server pennies, is now re-architecting his oldest app with the matching lesson from the other side: spend where the user is waiting…

// continued in

no entry has continued this idea yet: the arc is still open

la lista es el activo →

Continues

One distilled teaching per entry, straight from the video diary. Leave your email and get the next one the day it lands.