📐 Codaprende
Memoria de producto de una plataforma para aprender desarrollo web: análisis de mercado, hipótesis y arquitectura
Escala del Proyecto
Descripción General
Codaprende es el proyecto del portafolio que no tiene código, y está aquí a propósito. Es una memoria de producto de 10.417 líneas repartida en tres versiones (V0.1 → V0.3) para una plataforma que enseñe desarrollo web en español.
La lo incluyo porque documenta la parte del trabajo que casi nunca se enseña: el análisis previo. Antes de escribir una línea hay un estudio competitivo formal de ocho plataformas —Mimo, Codecademy, freeCodeCamp, Scrimba, Frontend Mentor, The Odin Project, Exercism y otras—, un posicionamiento definido, hipótesis verificables con sus criterios de éxito y fracaso, y un plan de validación con guía de entrevistas antes del desarrollo.
El eje del producto es el proyecto acumulativo: cada misión modifica el mismo portfolio del alumno, en lugar de resolver ejercicios sueltos que se tiran. Al acabar, el alumno se descarga su propio proyecto. El nombre definitivo queda deliberadamente aplazado hasta validar el problema.
Tecnologías Utilizadas
Memoria de producto
Análisis competitivo
Hipótesis y validación
Laravel (elegido)
Livewire + Alpine
Monaco Editor
MySQL
Contenido de la Memoria
Qué es el producto, para quién y qué promete.
El problema concreto del que aprende a programar en español.
Perfil principal, subgrupos útiles y quién no debe dominar la muestra.
Las reglas que guían cada decisión posterior.
Lo que el producto explícitamente no será, con su justificación.
Cómo se enseña: comprensión verificable frente a copiar y pegar.
Las etapas y misiones del primer itinerario completo.
Página pública, registro, dashboard, mapa de aprendizaje y editor.
Cómo se comprueba que el alumno ha entendido, sin corrección por IA.
Pistas deterministas preparadas de antemano, no generadas.
El alumno se lleva su propio proyecto, sin versión "mejorada" alternativa.
Mensajes principales y secundarios, y qué mensaje debe evitarse.
Hipótesis, criterios de éxito, señales de fracaso y decisiones derivadas.
Guion completo por bloques, canales de reclutamiento y plantilla de análisis.
Decisiones Descartadas y su Motivo
- Mentor de IA generativa — descartado. La plataforma no generará código, ni completará ejercicios, ni corregirá automáticamente, ni creará páginas por prompt. Solo explicaciones, validaciones y pistas deterministas preparadas de antemano.
- Versión "mejorada" del proyecto — descartada. Al descargar, el alumno recibe únicamente su propio trabajo: una versión alternativa mejor transmitiría que el suyo era inferior.
- Portfolio completo en pocos minutos — descartado. La primera sesión da una victoria pequeña; el portfolio se construye a lo largo de varias etapas.
- Aplicación PWA — descartada para el MVP. Orientada a ordenador: sin service worker, sin offline, sin notificaciones push ni editor completo para teléfono. En móvil, navegación básica y aviso de continuar desde un ordenador.
- React como frontend — descartado en la V0.2 a favor de Blade con Livewire y Alpine.js.
- Servicio Node.js independiente para validaciones — descartado en el MVP.
Evolución de la Memoria
Es un documento vivo. Cada versión no reescribe la anterior: añade análisis y cierra decisiones que antes estaban abiertas.
- V0.1Primera definición: propósito, visión, problema, público objetivo, principios, filosofía pedagógica y el primer recorrido educativo con sus misiones. 2.594 líneas.
- V0.2Se cierra la arquitectura: PHP con Laravel y MySQL. Se descarta React y se adopta Blade con Livewire y Alpine.js. Monaco Editor se mantiene como componente específico del editor. Se descarta el servicio Node aparte. 3.108 líneas.
- V0.3Se incorpora el análisis competitivo formal de ocho plataformas, el posicionamiento, la propuesta de valor y sus mensajes, las hipótesis con criterios de éxito y fracaso, el plan de validación y la guía completa de entrevistas. Se aprueba el "proyecto acumulativo" como eje. Se aplaza la elección del nombre. 4.715 líneas.
Retos Técnicos y Decisiones de Diseño
No ser "otro Duolingo de programación"
El análisis competitivo dejó claro que el hueco no estaba en hacer otra app de microlecciones gamificadas. El diferencial elegido es el proyecto acumulativo: cada misión modifica el mismo portfolio en lugar de resolver ejercicios que se descartan. Al final el alumno tiene algo suyo, no una racha de días.
Renunciar a la IA generativa a propósito
En 2026 lo esperado es añadir un asistente que genere y corrija código. La memoria lo descarta de forma explícita porque contradice el objetivo pedagógico: si la plataforma escribe el código, el alumno no aprende. Y dedica una sección entera a cómo comunicar esa ausencia sin que el producto parezca anticuado, que es el riesgo real de la decisión.
Validar antes de programar, incluido el nombre
La V0.3 aplaza deliberadamente la elección del nombre definitivo hasta haber validado el problema y el posicionamiento. La misma lógica se aplica al código: hay hipótesis con criterios de éxito, señales de fracaso, decisiones asociadas a cada resultado y una guía de entrevistas con plantilla de análisis. Todo eso es más barato que descubrir el error después de tres meses desarrollando.
Por qué un proyecto sin código está en el portafolio
Porque la parte más cara de equivocarse no es el código, es decidir qué construir. Este documento demuestra que sé plantear un producto, estudiar el mercado, formular hipótesis falsables y elegir una arquitectura con criterio antes de abrir el editor. Y está marcado como "en definición" precisamente porque no pretendo presentar como producto algo que todavía no lo es.
Mi Rol
Responsable de producto y autor de la memoria.
Definición funcional y técnica, análisis competitivo, diseño del recorrido educativo, decisiones de arquitectura y plan de validación previo al desarrollo.
Estado del Proyecto
En fase de definición funcional y técnica, previa al desarrollo. No hay código todavía. La arquitectura elegida es Laravel con Blade, Livewire y Alpine.js, MySQL, y Monaco Editor como componente del editor de aprendizaje. El nombre definitivo está pendiente de validación.
Código y Enlaces
El repositorio contiene las tres versiones de la memoria en
Memoria/V0.1.md, V0.2.md y V0.3.md.