Herramientas
Qué uso, qué hace cada capa y por qué la elegí. Nada de “lo mejor del mercado”: lo que me ha funcionado en proyectos reales.
Framework & Runtime
La base sobre la que corre todo el producto: rendering, tipos y tiempo de ejecución.
Por qué: Next.js por App Router, static export y la mejor historia de rendimiento en Vercel. TypeScript en strict para que el compilador haga de primer revisor. React 19 por server components; Node 22 por LTS y soporte nativo de fetch y test runner.
Estilos
Cómo se pintan las interfaces sin arrastrar un design system inflado.
Por qué: Tailwind v4 con tokens oklch en CSS (dark-first) para coherencia visual sin hojas de estilo enormes. shadcn/ui inline sobre Radix: accesibilidad gratis, propiedad del código, cero caja negra.
Base de datos & Auth
Persistencia, autenticación y almacenamiento sin montar infraestructura manualmente.
Por qué: Supabase cubre Postgres, Auth y Storage con RLS real desde el minuto uno. Prisma aporta tipos end-to-end y migraciones verificables en CI — más fiable que escribir SQL a mano para CRUD de producto.
Pagos
Cobros recurrentes, marketplace y facturación sin reinventar la rueda.
Por qué: Stripe porque Subscriptions + Connect Express cubre SaaS y marketplace con webhooks bien documentados. Pasar cumplimiento PCI delegado es una decisión de negocio, no de ego.
Transaccional y templates que no parezcan de 2004.
Por qué: React Email para componer con JSX y tener previews locales. Resend para entrega: DX limpia, DKIM/SPF sencillos y buena reputación sin pelear con SMTPs legacy.
Deploy & Infraestructura
Dónde vive el código y cómo llega a producción.
Por qué: Vercel para la capa de front/edge (region mad1, cerca del usuario). Turborepo para orquestar monorepo cuando hace falta. GitHub Actions para CI por estándar y por ecosistema de actions.
Automatización
Pegamento entre servicios sin escribir un backend entero.
Por qué: n8n self-hosted: control del dato (no pasa por SaaS terceros), lógica versionable como workflows JSON, económico a escala.
Monitoreo
Saber qué pasa antes de que lo pregunte un usuario.
Por qué: Sentry para errores con stack trace fiable. PostHog (región EU) para producto, cumpliendo RGPD sin exportar datos fuera. Better Uptime para pings externos y status page pública.
Testing
Red de seguridad suficiente para moverse rápido sin romper producción.
Por qué: Vitest para unitarios e integración por velocidad y compatibilidad con el ecosistema Vite. Playwright para e2e porque soporta todos los motores y tiene mejor DX que Cypress para flujos complejos.
Editor & Herramientas
El día a día delante de la pantalla.
Por qué: VS Code por extensiones y Remote SSH. Claude Code como par de desarrollo — genera, refactoriza y documenta sin sacarme del terminal ni del repo.