Volver al blog
tecnologíaarquitecturaastrofrontendstack

Stack tecnológico de TroncoCorp: decisiones de arquitectura

TroncoCorp 3 min de lectura

Construir un ecosistema soberano no significa rechazar la tecnología moderna. Significa elegirla con criterio, understanding cada dependencia y asegurándonos de que ninguna decisión técnica comprometa nuestra independencia.

Este artículo desglosa el stack completo de TroncoCorp y las razones detrás de cada elección.

Astro 4: el núcleo del frontend

Elegimos Astro como framework principal por tres razones:

  1. Islas de interactividad — Podemos servir páginas estáticas con componentes React solo donde hacen falta, sin enviar JavaScript al cliente que no se va a usar.
  2. Content Collections — El blog y el contenido estructurado viven en Markdown con schema validado, no en una CMS que pueda ser un vendor lock.
  3. Velocidad nativa — 77 páginas en ~8 segundos de build. LCP por debajo de 200ms. No necesitamos un SSR costoso.

Astro nos permitió pasar de 0 a 77 páginas con cero fricción.

Tailwind CSS + diseño custom

Usamos Tailwind por su enfoque utility-first, pero con una capa de diseño propia:

  • Paleta TroncoCorp: carbon-black, neon-green, neon-blue, neon-orange
  • Tipografía: Brutalist para títulos, Elegant para cuerpo, Tech para datos
  • Efectos: glitch, scanline, grid-pattern, glow — todos CSS, sin librerías

No usamos ningún framework de UI. Cada componente está escrito a mano para mantener la identidad visual única del ecosistema.

Supabase: la base de datos soberana

Supabase nos da PostgreSQL con autenticación, almacenamiento y APIs en tiempo real. Es open source, podemos auto-hostearla si fuera necesario, y no nos ata a ningún proveedor.

Casos de uso:

  • Formulario de contacto con almacenamiento en tabla
  • Newsletter con confirmación de suscripción
  • Datos de sesión para demos interactivas

La regla es simple: si podemos ponerlo en Supabase, no lo ponemos en un servicio de terceros.

Vercel: deploy sin fricción

Vercel es nuestro punto de entrega por su integración nativa con Astro, preview deployments por branch y edge functions para APIs ligeras.

La web principal (troncocorp.es) y MadridTaxis.es (madridtaxis.es) comparten infraestructura en Vercel, lo que simplifica el mantenimiento.

i18n casero, sin librerías

En lugar de usar next-intl, react-i18next o cualquier librería de internacionalización, implementamos un sistema propio:

src/i18n/dictionaries.ts  → Diccionarios ES/EN tipados
src/i18n/index.ts         → Hook useTranslations()

Cada página determina el locale desde la URL (/en/* → English) y las traducciones son type-safe. Sin runtime adicional, sin dependencias.

El resultado

77 páginas, 366 tests, LCP <200ms, 0 accesibilidad issues, deploy en ~10s. Un stack que no nos debe nada a nadie.

Cada tecnología fue elegida porque podríamos reemplazarla mañana si hiciera falta. Esa es la verdadera soberanía técnica.

Compartir

EN