38 commits, cero funcionalidades: el sprint que cuenta
38 commits en 10 días. Cero nuevas funcionalidades. Y, sin embargo, es probablemente la semana más importante desde el inicio del proyecto.
Es la paradoja del desarrollo de productos: las semanas que más importan son aquellas en las que "nada" visible sucede. No hay nuevas características que anunciar, ni capturas de pantalla espectaculares. Solo código que mejora lo existente, lo hace más sólido, más profesional. En el mundo del "build in public", estos sprints silenciosos no generan "me gusta". Pero marcan la diferencia entre una aplicación que "funciona en mi máquina" y una aplicación lista para usuarios reales.
Puntos clave
- 38 commits centrados en la estabilidad, no en las características, con una agenda web que pasó de 1 a 4 vistas para una paridad completa móvil/escritorio.
- Crashlytics (frontend) + Sentry (backend) desplegados antes de la producción, de acuerdo con las recomendaciones de Firebase para el monitoreo previo al lanzamiento.
- La IA de voz detecta tus patrones de nomenclatura existentes y los reproduce automáticamente para las nuevas carpetas.
- Seguimiento UTM en todos los enlaces compartidos para una atribución de marketing fiable desde el primer día.
¿Por qué un sprint sin características es el más importante?
Según un estudio de Stripe (2018), los desarrolladores pasan en promedio el 42% de su tiempo gestionando la deuda técnica y el mantenimiento. No es tiempo perdido: es tiempo invertido. Un sprint "cero características" consiste en detenerse voluntariamente de añadir cosas nuevas para consolidar lo que ya existe.
Concretamente, ¿qué significa esto para TAMSIV? 10 días para corregir micro-errores, suavizar transiciones, alinear la web con el móvil, añadir monitoreo. Nada llamativo. Pero al final de estos 10 días, la calidad percibida de la aplicación ha cambiado de dimensión.
Ya lo mencioné en el artículo sobre el sprint final cero características: el reflejo natural de un desarrollador es añadir. Siempre añadir. Se necesita una verdadera disciplina para decirse "no, esta semana consolidamos". Es la filosofía que sigo aplicando. ¿Vale la pena? Los 12 probadores alfa no reportaron ningún fallo en este período. Cero. La primera vez desde el inicio del proyecto.
¿Cómo pasó la agenda web de 1 a 4 vistas?
La agenda del panel web solo tenía una vista: la semana. Suficiente para una demostración, insuficiente para un uso diario. Añadí tres vistas adicionales (día, mes, año) para lograr la paridad con la agenda móvil, que detallé aquí.
El objetivo técnico es claro: que la transición entre el teléfono y el ordenador sea invisible. Tú creas una tarea vocalmente en tu teléfono por la mañana, la encuentras en la pantalla de tu ordenador al mediodía con exactamente la misma presentación. Hacer clic en un evento abre sus detalles. Hacer clic en una tarea, lo mismo.
Las páginas de detalles de tareas y notas se han rediseñado por completo para que coincidan con la experiencia móvil. Miniaturas de imágenes, navegación fluida, misma estructura visual. Es un trabajo ingrato pero esencial: cada inconsistencia entre el móvil y la web crea fricción cognitiva en el usuario. Y la fricción es el enemigo número 1 de la retención.
¿Por qué añadir Crashlytics y Sentry antes de la producción?
Cuando tu aplicación es utilizada por ti y 12 probadores, puedes permitirte depurar a través de los registros de Supabase y el "funciona en mi máquina". Cuando estás a punto de pasar a producción pública, eso ya no es una opción. Según la documentación de Firebase Crashlytics, las aplicaciones que configuran el monitoreo antes del lanzamiento detectan los fallos críticos 10 veces más rápido que las que reaccionan después de las primeras quejas de los usuarios.
He implementado dos sistemas complementarios:
Firebase Crashlytics en el frontend React Native
Crashlytics captura tres tipos de problemas en el móvil. Primero los crashes (la aplicación que se cierra bruscamente), luego los ANR, Application Not Responding, esos momentos en los que la aplicación se congela durante más de 5 segundos, y finalmente los errores JavaScript no capturados. Para cada incidente, se obtiene el stack trace completo, el modelo de teléfono, la versión de Android y lo que el usuario estaba haciendo justo antes. Ya describí el pipeline de audio en el artículo STT nativo vs Deepgram, es exactamente el tipo de cadena compleja donde un crash silencioso puede pasar desapercibido sin un monitoreo dedicado.
Sentry en el backend Node.js/Express
En el lado del servidor, Sentry captura errores de API, tiempos de espera de WebSocket, excepciones no manejadas. Lo que marca la diferencia son las migas de pan: Sentry registra una cronología de los eventos que llevaron al error. Si una llamada a OpenRouter agota el tiempo de espera después de una llamada lenta a Supabase, ves toda la cadena. Además del monitoreo de rendimiento que mide los tiempos de respuesta de cada endpoint.
La idea es simple: cuando ocurre un error en producción, lo sabemos antes de que el usuario se queje. Es la diferencia entre "tenemos un problema" y "hemos resuelto el problema antes de que te dieras cuenta".
¿Cómo detecta la IA tus patrones de nomenclatura?
Un solo commit, pero del tipo que cambia la experiencia diaria. El asistente de voz de TAMSIV ahora analiza los nombres de tus carpetas existentes para detectar patrones de nomenclatura recurrentes y reproducirlos automáticamente.
Tomemos un ejemplo concreto. Tienes tres carpetas: "Compras Carrefour", "Compras Leclerc", "Compras Aldi". Le dices a la IA "crea una carpeta de compras para Lidl". Antes, habría creado "Lidl" o "Compras" a secas. Ahora, detecta el patrón [Categoría] + [Nombre de la tienda] y crea automáticamente "Compras Lidl".
Otro ejemplo: tus carpetas de proyectos se llaman "Proyecto Alfa - Q1", "Proyecto Beta - Q2". La IA detecta el formato [Proyecto] + [Nombre] + [Trimestre]. Cuando creas una nueva carpeta de proyecto, aplica la misma convención sin que tengas que especificarlo.
Es el tipo de detalle que ningún usuario pedirá jamás, pero que todo el mundo nota cuando está ahí. Ya lo mencioné en el artículo sobre la personalización vocal: la IA no solo hace lo que le dices. Entiende cómo te organizas.
¿Qué optimizaciones CRO para la landing page?
Según Google Web Vitals, un LCP (Largest Contentful Paint) superior a 2.5 segundos impacta directamente la tasa de rebote. La landing page tamsiv.com ha recibido varias optimizaciones específicas para mantenerse por debajo de este umbral.
El brillo animado del héroe utilizaba un Canvas JavaScript que consumía demasiada CPU, especialmente en dispositivos móviles. Lo reemplacé por CSS puro: el mismo efecto visual, cero impacto en la batería. Este es típicamente el tipo de deuda técnica invisible que solo se corrige durante un sprint de cero características.
El subtítulo del héroe se reescribió para explicar claramente lo que hace TAMSIV en una frase. En CRO, la claridad del mensaje por encima de la línea de flotación es el factor número 1 de conversión. Si el visitante no entiende lo que haces en 3 segundos, se va.
También mejoré el diseño de precios: la etiqueta anual ahora está en su propia línea para una mayor legibilidad. Y se corrigió el scroll spy del encabezado: el estado activo no se limpiaba correctamente al desplazarse hacia arriba, un error sutil pero molesto.
¿Cómo mejora el seguimiento UTM la estrategia de marketing?
Saber de dónde vienen tus visitantes es la base de cualquier estrategia de marketing. Sin seguimiento, publicas contenido a ciegas. Con él, sabes exactamente qué publicación de LinkedIn, qué mensaje de Discord, qué campaña genera tráfico real. Según la documentación de Google Analytics, los parámetros UTM son el estándar para la atribución de campañas.
Implementé tres cosas. Primero, parámetros UTM en cada enlace compartido: fuente, medio, campaña, contenido. Luego, una captura de IP en el lado del servidor para análisis más fiables que el JavaScript del lado del cliente, que es bloqueado por los bloqueadores de anuncios. Y finalmente, un panel de administración enriquecido con selector de período (7 días, 30 días, 90 días, todo) y una configuración sincronizada entre móvil y web. Senté las bases de este panel en el artículo sobre el panel de administración, ahora es una herramienta completa.
¿El resultado concreto? En la última sesión de marketing, pude ver que la i18n en 6 idiomas generaba el 60% del tráfico entrante. Sin UTM, nunca habría tenido este dato.
versionCode 32: ¿cuál es el siguiente paso?
La compilación de Android está en su versión 32. Más de 740 commits en total. La aplicación se ha enviado a Play Store para su revisión de producción. Mientras esperamos la validación de Google, seguimos puliendo cada detalle.
38 commits, cero características, y una aplicación que pasó de "funciona" a "está lista". Este es exactamente el tipo de sprint que no hace ruido, pero que marca la diferencia el día que llegan los usuarios reales.
Preguntas frecuentes
¿Qué es un sprint "cero características"?
Es un período de desarrollo dedicado voluntariamente a la estabilidad, el rendimiento y la deuda técnica, sin añadir nuevas funcionalidades. El objetivo es consolidar lo existente antes de un hito importante, como un lanzamiento en producción.
¿Por qué usar Crashlytics Y Sentry juntos?
Crashlytics está especializado en el monitoreo móvil (crashes, ANR, errores JS en React Native). Sentry cubre el backend Node.js (errores de API, WebSocket, rendimiento). Ambos combinados ofrecen una visibilidad completa de toda la cadena, desde el teléfono hasta el servidor.
¿Cómo funciona la detección de patrones de nomenclatura por la IA?
El asistente de voz analiza los nombres de las carpetas existentes para identificar convenciones recurrentes (prefijo común, formato estructurado). Cuando creas una nueva carpeta, la IA aplica automáticamente el mismo patrón sin que necesites especificarlo.
¿Qué es el seguimiento UTM y por qué es importante?
Los parámetros UTM (fuente, medio, campaña) se añaden a las URL compartidas para identificar con precisión de dónde proviene cada visitante. Sin este seguimiento, es imposible saber qué canal de marketing funciona realmente, según la documentación de Google Analytics.
¿TAMSIV está disponible en Play Store?
La aplicación se encuentra actualmente en fase de prueba alfa cerrada con 12 probadores. La presentación para la producción pública está pendiente de validación por parte de Google. Mientras tanto, puedes descubrir el proyecto en tamsiv.com.