LUCA'S DriveTest — Cómo se construyó

De la idea al celular, paso a paso

1
💡
La idea
Una app para practicar el examen de conducir

Tu hijo Lucas necesitaba practicar para el examen de licencia Clase B. Decidimos construir una app desde cero — sin agencias, sin presupuesto, solo una conversación de chat con Claude.

Objetivo: app gratuita, instalable en el iPhone de Lucas, que funcione sin internet y tenga 1.000 preguntas reales del temario chileno.

Sin presupuestoSolo un chatCosto $0
Primera decisión técnica
🤔
Decisión
¿Dónde guardamos las preguntas?
Base de datos vs archivo simple — toca para ver el razonamiento
Descartado
Base de datosServidor siempre encendido, límite de proyectos gratis
Elegido ✓
Archivo JSONPreguntas estáticas, sin costo, sin servidor
2
📋
El banco de preguntas
1.000 preguntas basadas en la ley chilena
Claude generó

Claude redactó 1.000 preguntas basadas en la Ley 18.290 y el "Libro para la Conducción en Chile" del CONASET. Cada pregunta tiene 4 opciones, la respuesta correcta marcada y una explicación.

139 preguntas llevan marcador de "doble puntaje" porque corresponden a temas críticos: alcohol, cinturón, sillas infantiles.

1.000 preguntas139 doble puntaje23 categorías
🔁
Iteración × 10 — ¿por qué se itera aquí?
700 → 800 → 900 → 1.000 preguntas
El banco se construyó en bloques, no de una vez
🔍
Iteración × 3 — ¿por qué se itera aquí?
Corrección de errores factuales y redacción
Un error grave: el límite de alcoholemia estaba incorrecto
⚖️
Iteración × 5 — ¿por qué se itera aquí?
La respuesta correcta no puede ser la más larga
886 de 1.000 preguntas tenían este problema
3
🖥️
La aplicación
Diseño, lógica y modos de juego en un solo archivo
Claude generó

Todo el código vive en un único archivo index.html: diseño (CSS), lógica (JS) y estructura (HTML). Decisión deliberada — menos archivos significa menos puntos de falla.

4 modos de juego: Rápido (5 preguntas), Largo (80 preguntas), Por tema y Simulacro (35 preguntas + timer de 45 minutos).

1 solo archivo4 modosTimer simulacro
4
💾
Modo offline
La app funciona sin internet
Claude generó

Un Service Worker corre en segundo plano y descarga toda la app la primera vez que Lucas la abre con internet. Desde ese momento las 1.000 preguntas viven en el celular.

Cada cambio nuevo sube la versión del SW (v1 … v11). El celular detecta la nueva versión y se actualiza solo al abrir la app.

Sin internetSW v11 actualAuto-actualizable
🛠️
Iteración × 6 — ¿por qué se itera aquí?
Timer, botón reset, modo Largo, 11 versiones del SW
Cada pedido nuevo generó un deploy — así evoluciona una app
Segunda decisión técnica
☁️
Decisión
¿Dónde publicamos la app?
Vercel vs Supabase vs Cloudflare — toca para ver el razonamiento
Descartado
VercelLogin manual, Claude no podía automatizarlo
Descartado
SupabaseLímite de proyectos gratuitos ya alcanzado
Elegido ✓
Cloudflare PagesGratis, deploy automático, CDN global
5
⚙️
Control de versiones
Historial completo de todos los cambios
Claude ejecutó

Claude creó el repositorio privado licencia-clase-b en tu cuenta de GitHub y subió todos los archivos.

GitHub guarda cada versión del código. Si un cambio rompe algo, se puede volver atrás en un segundo. También sirve de respaldo permanente.

Historial completoRepo privadoRespaldo garantizado
6
🚀
Publicación al mundo
Un comando, 30 segundos, CDN global
Claude ejecutó

Con el comando wrangler pages deploy public, Claude toma todos los archivos y los sube a los servidores de Cloudflare distribuidos por todo el mundo.

En menos de 30 segundos la app queda disponible en licencia-clase-b.pages.dev para cualquier persona con el link.

30 segundosCDN globalClaude lo hace solo
Tercera decisión técnica
📱
Decisión
¿Cómo instala Lucas la app en el iPhone?
App Store vs PWA desde Safari — toca para ver el razonamiento
Descartado
App Store$99/año, revisión de Apple, semanas de espera
Elegido ✓
PWA desde SafariURL → "Agregar a pantalla" → listo en 5 segundos
7
🏆
App en el celular de Lucas
licencia-clase-b.pages.dev · Costo total $0

1.000 preguntas del temario Clase B chileno, 4 modos de juego, timer de 45 min en simulacro, estadísticas entre sesiones, offline completo, ícono en la pantalla de inicio.

Tiempo total de desarrollo: una conversación de chat. Intervención manual de Vicente: ninguna.

1.000 preguntasOffline completoCosto $0SW v11
¿Cambio futuro? → el ciclo se repite
🔄
Ciclo de mejora continua
Cada cambio pedido → deploy automático → celular actualizado

Para cualquier cambio futuro el proceso es siempre el mismo:

1. Tú describes qué cambiar → 2. Claude edita los archivos → 3. Push a GitHub → 4. Deploy a Cloudflare → 5. El celular detecta el nuevo SW y se actualiza solo.

Todo desde una conversación de chat, sin que tengas que tocar nada técnico.

Sin intervención manualActualización automáticaTodo desde el chat