Cómo armé este stack (y por qué este, no otro)
Next.js + TypeScript + Tailwind + MercadoPago. El stack no es por hype: es por restricciones reales.
Cada vez que arranco un proyecto nuevo me pregunto si vale la pena cambiar el stack. La respuesta casi siempre es no. No por inercia: por restricciones reales.
Next.js 16
Vercel deploya en menos de un minuto, el modelo de RSC me deja escribir server-side por defecto y hacer client cuando hace falta, y el ecosistema de middleware (cron, ISR, edge config) cubre el 90% de lo que necesito. Para una landing de cliente o un SaaS chico, no encuentro razón para irme a otra cosa.
TypeScript siempre
No es una elección — es una pre-condición. Cualquier proyecto que no sea TypeScript me obliga a mantener documentación que se rompe sola. Strict mode en el tsconfig y discriminated unions para todo lo que tenga estado.
Tailwind v4 + OKLCH
Migré de v3 hace 6 meses. La diferencia más grande: los tokens OKLCH dejan de ser teóricos. Puedo subir el chroma en dark mode y bajarlo en light mode con el mismo hue, y el diseño se mantiene coherente. shadcn como base + overrides cuando hace falta un look propio (este sitio).
MercadoPago, no Stripe
Stripe es mejor producto. Pero el cliente está en LATAM, paga en pesos, y MercadoPago acepta tarjeta + transferencia + efectivo con la misma integración. Para ARS está mejor que cualquier opción internacional. Stripe se vuelve relevante cuando hay USD.
Lo que cambia (y lo que no)
- El layer de IA (Mastra, Inngest, AI SDK) sí cambió 3 veces en el último año. Es zona de innovación activa.
- El layer de datos (Prisma + Supabase) lo mantengo igual hace 2 años. Boring tech, gana.
- El layer de UI (Tailwind + shadcn + motion) lo mantengo igual. Lo que cambia son los tokens.
La regla que sigo: cambio una pieza cuando hay un dolor concreto que justifica la migración. Cambiar por mejorar el stack en abstracto siempre paga peor de lo que parece.