Ir al contenido
cutty.dev
All posts

El stack tecnológico de cutty.dev: decisiones conscientes

Qué hay debajo de cutty.dev y por qué. Sin evangelismo: filosofía de pila aburrida y estable, alojamiento en la UE y privacidad integrada en la arquitectura que una sola persona puede mantener.

La mayoría de los artículos sobre "mi stack tecnológico" son una lista orgullosa de novedades. Este trata sobre algo diferente: sobre la filosofía detrás de las elecciones de cutty.dev: aburrido y estable en lugar de moderno, europeo en lugar de estadounidense, privado por diseño, y tan simple que una sola persona pueda mantenerlo.

Framework: Astro (renderizado del lado del servidor)

cutty.dev es una aplicación de Astro que se renderiza en el lado del servidor. Cada solicitud pasa por el servidor, construye la página dinámicamente y responde con HTML listo.

Por qué: quería renderizado del lado del servidor sin maquinaria pesada, buen soporte para múltiples idiomas integrado en el propio framework y velocidad sin sobrecarga. Astro ofrece todo eso, y el código permanece legible — lo cual, en un proyecto llevado a cabo de forma individual, vale más que cualquier característica de moda.

Base de datos: SQLite

Una única base de datos, un solo archivo. Además, una capa de consultas amigable con TypeScript que hace que los cambios en la estructura de los datos muestren errores en el código inmediatamente, en lugar de hacerlo en producción.

Por qué: cutty.dev es principalmente "read-heavy" (lectura intensiva): cada clic en un enlace implica una lectura y aumenta el contador. SQLite lo hace de manera excelente, incluso con volúmenes de tráfico diarios muy altos. Una copia de seguridad consiste simplemente en copiar un único archivo: sin ceremonias de replicación ni scripts complicados. La simplicidad aquí no es una reducción de la calidad; es una decisión consciente de que menos partes móviles significan menos elementos que pueden fallar.

Hosting: servidor en la Unión Europea

Servidor dedicado en la UE, certificado TLS propio, proxy inverso con HTTPS automático y aplicación en contenedores.

Por qué: es el fundamento de cómo cutty.dev trata los datos. Control total sobre su ubicación (crucial para clientes en la UE y para el RGPD), sin dependencia de un único proveedor, sin replicación automática a EE. UU. que ofrecen las grandes plataformas en la nube, y costes predecibles en lugar de facturas basadas en el tráfico. Las cómodas plataformas occidentales ofrecerían un inicio más rápido, pero a costa de dónde terminan físicamente los datos de tus usuarios.

Traducciones: modelo de IA local

cutty.dev habla 25 idiomas y las traducciones las realiza un modelo de IA local y de código abierto ejecutado en nuestra propia infraestructura.

Por qué: ningún texto de la interfaz sale al exterior — no lo enviamos a ningún proveedor externo de IA. Esto conlleva un coste cero por traducción individual y control total sobre la calidad: podemos actualizarla cuando queramos. La traducción automática siempre requiere revisión humana — y cada idioma ha pasado por dicho proceso —, pero hacerlo internamente significa que la privacidad no es una opción en la lista de precios, sino una propiedad de la arquitectura.

CSS: utility-first (Tailwind)

Un único sistema de estilos, sin CSS-in-JS, sin archivos de estilos separados. Todo directamente en las plantillas.

Por qué: velocidad de iteración. No pierdo tiempo inventando nombres de clases, y los estilos no utilizados nunca llegan a la página final. Un diseño coherente impuesto por el propio sistema. Para una sola persona, cada minuto que no dedico a cosas secundarias cuenta.

Implementación: contenedores

Aplicación en contenedores (Docker), implementada de manera repetible y portátil.

Por qué: el mismo entorno local y en producción, sin el típico «a mí me funcionaba», y la posibilidad de trasladar todo a otro servidor en media hora si surge la necesidad. La portabilidad es una forma de independencia.

Lo que esto me enseñó

  • El stack aburrido gana. Astro, SQLite, Tailwind, contenedores: todo maduro, bien documentado y estable. Nada se rompe en el momento menos esperado.
  • El alojamiento en la UE está listo para producción. El mito de que "tienes que ir a la gran nube estadounidense para ser tomado en serio" es precisamente eso: un mito.
  • La IA local es real. No hace falta ceder tus datos a una API externa para obtener buenas traducciones.
  • Una sola persona puede lanzar algo que parece un producto de equipo. El tiempo es un recurso más valioso que el dinero, por lo que cada decisión aquí protegía precisamente ese tiempo.

Ver en vivo. Preguntas sobre el enfoque técnico — hello@cutty.dev, respondo el mismo día.