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.

Next.js 15TypeScript strictReact 19Node.js 22

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.

Tailwind CSS v4shadcn/uiRadix UI

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.

Supabase (PostgreSQL + Auth + Storage)Prisma 5

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.

Stripe (Subscriptions + Connect Express)

Email

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.

React EmailResend

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.

VercelTurborepoGitHub 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.

n8n (self-hosted)

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.

SentryPostHog (EU)Better Uptime

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.

VitestPlaywright

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.

VS CodeClaude Code