Arquitectura escalable para soportar el crecimiento de 150 a 5.000 usuarios en 6 meses, con procesamiento asíncrono de IA, sistema de créditos multi-tenant y caché semántica.
Las API routes tienen límite de 30s. Claude API puede tardar 45-90s en generaciones largas. Causa: arquitectura síncrona sin cola de trabajos.
Un usuario puede hacer 1.000 llamadas en un día sin restricción. Sin sistema de créditos, el coste de Claude API escala sin control directo.
Sin caché semántica, prompts idénticos o similares consumen tokens de Claude en cada llamada. El 40% de las peticiones son variaciones de los mismos prompts.
No hay separación de configuración entre agencias. Imposible ofrecer subdominio propio, prompts customizados o branding white-label por cliente.
Las generaciones no se guardan con embeddings. Sin búsqueda semántica sobre el historial del usuario para reutilizar outputs similares.
Lógica de negocio mezclada con componentes de UI. Difícil de escalar horizontalmente o desplegar servicios de forma independiente.
Las generaciones con IA pueden tardar entre 15-90 segundos. Vercel Edge Functions tienen un límite de 30s que causa timeouts frecuentes. Se necesita desacoplar la petición HTTP del trabajo de IA.
El 40% de las peticiones son variaciones semánticamente similares del mismo prompt. Se pueden cachear outputs y reutilizarlos cuando la similitud supera el umbral, ahorrando tokens y latencia.
Se necesita controlar el consumo por usuario según su plan (Free/Pro/Agency). Un sistema de créditos con transacciones inmutables permite auditoría, rollback y billing preciso.
Las agencias cliente necesitan su propio subdominio, configuración de prompts y branding. Se puede implementar con RLS de Supabase + middleware de Vercel que detecta el tenant por hostname.
| Tier | Usuarios activos | Arquitectura | Infra clave | Coste est./mes |
|---|---|---|---|---|
| ● Ahora | 150 | Monolito Next.js + Supabase direct | Vercel Hobby Supabase Free | ~20€ |
| ● v2.0 (T+8w) | 5.000 | Next.js + QStash Queue + Redis Cache + pgvector | Vercel Pro Railway Worker Upstash Redis | ~320€ |
| ● v3.0 (6m) | 50.000 | + Redis Cluster + CDN assets + Read replicas | Supabase Pro Cloudflare R2 Redis Cluster | ~900€ |
| ● v4.0 (12m) | 500.000+ | Microservicios + CQRS + Event sourcing + Multi-region | GCP/AWS Kafka K8s | ~8.000€ |
Migración de BD con tabla credits_ledger. Middleware de rate limiting con Upstash Redis. Tests unitarios de toda la lógica de créditos.
Configurar Upstash QStash. Crear AI Worker en Railway. Refactorizar API routes para publicar jobs en lugar de llamar Claude directamente.
Eliminar polling de frontend. Implementar canal Supabase Realtime para notificar al cliente cuando el job termina. UX del spinner → resultado.
Activar extensión pgvector en Supabase. Implementar pipeline: embed prompt → buscar similares → hit/miss → guardar resultado con embedding.
Middleware Vercel para detección de tenant por hostname. Tabla tenant_config con branding, prompts y planes. RLS policies en todas las tablas.
Panel de métricas en tiempo real para admins. Webhooks de notificación para clientes. Load testing con k6 (objetivo: 500 req/s). Migración de datos y cutover.
El componente AIGenerator.tsx hace fetch, maneja estado y renderiza. Separar en hook + presenter.
Las API routes importan directamente el SDK de Anthropic. Necesita una capa de abstracción AIProvider.
Cache de Redis implementada con TTL de 1 hora sin datos de qué se cachea realmente. Medir primero.
Los prompts están hardcodeados en 12 archivos diferentes sin sistema de versionado ni testing.