Blog
Build in Public
3 de octubre de 20256 min

Por qué creé TAMSIV — el nacimiento del proyecto

Todo comenzó con una frustración trivial. Mi esposa y yo gestionamos una familia de cuatro personas. ¿Las listas de compras? En un trozo de papel pegado a la nevera. ¿Las tareas del hogar? En nuestras cabezas. Y cuando olvidamos algo —lo que ocurre a menudo—, es la pequeña tensión del día a día.

Al mismo tiempo, soy miembro de un club de buceo. Y allí, es un caos organizado: todo pasa por WhatsApp. Las salidas, las inscripciones, el material, los informes. Decenas de mensajes al día en un grupo donde la información se ahoga. ¿Busca la fecha de la próxima salida? Buena suerte para encontrarla entre los memes y las fotos de peces.

La idea: ¿y si pudiéramos simplemente hablar?

Me dije: ¿por qué no podríamos simplemente decir lo que queremos hacer? "Añade leche a la lista de la compra." "Recuérdame que prepare las botellas para el sábado." Sin abrir una aplicación, sin escribir, sin buscar el campo correcto en un formulario.

Así nació TAMSIV. Un gestor de tareas y notas controlado por voz, con una IA conversacional que entiende lo que usted quiere y actúa en consecuencia.

Las primeras decisiones técnicas

Primer commit en octubre de 2025. Inmediatamente opté por un monorepo con tres carpetas: frontend/ en React Native TypeScript, backend/ en Node.js Express con WebSocket, y website/ en Next.js para la página de aterrizaje.

¿Por qué React Native? Porque soy desarrollador web de formación. El nativo puro me habría retrasado varios meses. Y con la Nueva Arquitectura (Fabric), el rendimiento es excelente.

Para la base de datos, elegí Supabase. PostgreSQL gestionado, autenticación integrada, almacenamiento de archivos, Realtime — todo lo que necesitaba en un solo servicio.

El pipeline de voz

El corazón del proyecto es el pipeline de voz. Desde el primer prototipo, conecté la cadena completa: Audio PCM 16kHz → WebSocket → Deepgram STT → LLM → Function calling → OpenAI TTS. El usuario habla, el backend transcribe, envía el texto a un LLM que decide qué hacer y devuelve una respuesta de voz.

Las primeras pruebas fueron mágicas. Decir "crea una tarea comprar pan para mañana" y ver la tarea aparecer con la fecha correcta... es el tipo de momento que le confirma que está en el camino correcto.

Desarrollador en solitario: libertad y soledad

Ser desarrollador en solitario es tener total libertad en las decisiones técnicas. Sin reuniones, sin compromisos. Pero también es la soledad frente a los errores a las 23h. Este diario de a bordo es mi forma de documentar la aventura. Siguiente paso: estructurar la base de datos.