9.7 KiB
Operaciones e infraestructura
Reformix es un SaaS puro digital: no hay logística física, no hay stock, no hay envíos. La "cadena de suministro" es la cadena tecnológica de proveedores de IA, hosting, base de datos, email y pagos.
Stack técnico (decidido)
| Capa | Servicio | Por qué |
|---|---|---|
| Frontend + Backend | Next.js 14 (App Router + Server Actions + API Routes) | Un único proyecto, un único deploy en Vercel. |
| UI | Tailwind + shadcn/ui | Velocidad de iteración, componentes accesibles. |
| Agente de voz | Retell.ai | Latencia 500-800 ms, function calling sólido, integración limpia con TTS providers, plataforma B2B madura. |
| Voces TTS | ElevenLabs | Las voces más naturales del mercado actual en español. Soportadas nativamente por Retell. |
| Telefonía | Zadarma | Números fijos provinciales españoles (más barato y específico ES que Twilio). Psicológicamente local, sube tasa de respuesta a ~70 %. |
| WhatsApp Business API o Evolution API | Aviso pre-llamada, entrega de render + PDF al cliente final, nurturing del lead en v1.5. Evolution API como opción self-hosted más económica (con consideración de TOS Meta). | |
| Render IA | Nano Banana 2 o Image 2 | Modelos image-to-image de Gemini, rápidos y económicos. Edición/transformación de imagen real preservando suficiente contexto del espacio. |
| Análisis de foto | GPT-4o Vision | Estilo actual, materiales detectados, dimensiones aproximadas (refuerza con folio DIN-A4 opcional). |
| Generación de presupuesto + extracción entidades | GPT-4o chat completions | Estructura la transcripción de la llamada en JSON + genera el desglose con tabla de Goyo en contexto. |
| Base de datos | Postgres (self-hosted o managed) | Postgres real, agnóstico de proveedor. |
| Storage | S3 (AWS, Cloudflare R2, MinIO o equivalente) | Fotos del cliente, audios de llamada, renders, PDFs. |
| Email transaccional | SMTP | Notificación al reformista cuando hay lead nuevo. Genérico, sin lock-in. |
| Pasarela de pago | Stripe | Estándar de facto, SCA + SEPA. |
| Deploy | Vercel | Integración nativa Next.js. |
| Analytics | PostHog | Eventos del funnel: form completado → SMS enviado → llamada respondida → llamada completada → presupuesto entregado. |
| react-pdf o Puppeteer | Generación del PDF de presupuesto con branding. | |
| Forms | react-hook-form + zod | Validación type-safe. |
Proveedores críticos y plan de contingencia
| Proveedor | Categoría | Riesgo | Alternativa de respaldo |
|---|---|---|---|
| Retell.ai | Agente de voz | Caída, cambio de pricing, latencia | Vapi.ai como segundo proveedor (mismo modelo de orquestación), o pipeline propio con OpenAI Realtime API |
| ElevenLabs | Voces TTS | Indisponibilidad o cuotas | PlayHT o Cartesia (también soportadas por Retell), o ElevenLabs self-hosted en su plan Enterprise |
| Zadarma | Telefonía | Indisponibilidad, números provinciales no disponibles para zona target | Twilio España, Vonage o Telnyx como respaldo |
| WhatsApp Business API / Evolution API | Cuenta suspendida por Meta (especialmente Evolution API), rate limiting | Alternar entre oficial y Evolution; cuenta de backup con segundo número; MessageBird como respaldo oficial | |
| Nano Banana 2 / Image 2 | IA visual | Cambio de pricing o disponibilidad de Google AI | Replicate (SDXL + ControlNet), DALL-E 3 HD, Together AI con modelo propio fine-tuneado |
| OpenAI | LLM y vision | Cuotas, rate limiting, cambio de modelo | Anthropic Claude Sonnet 4.6, Google Gemini |
| Supabase | DB + Storage | Indisponibilidad | Self-host Postgres + R2 (Cloudflare) en 2-3 días |
| Vercel | Deploy | Indisponibilidad | Cloudflare Pages o Railway |
| Stripe | Pagos | Cierre cuenta sin previo aviso (raro) | Adyen, Mollie |
| Resend | Rate limiting o spam classification | Postmark, SendGrid |
Regla: nunca dependemos de un único proveedor por categoría sin alternativa identificada. La alternativa puede tardar 2-7 días en activarse en peor caso.
Capacidad y escala
Fase 0 (mes 0-3) — Free / Starter tiers
- Vercel Hobby + Postgres tier free (Neon) + R2 free egress pueden sostener < 100 cuentas con tráfico normal.
- Nano Banana 2 / Image 2: pay-per-use, sin compromiso.
Fase 1 (mes 3-12) — Tiers Pro pagados
- Vercel Pro (20 €/mes) + Postgres managed (~19-25 €/mes) + R2 sostienen hasta ~500-1.000 cuentas.
- OpenAI tier 2 (gasto > 50 $ acumulado) desbloquea rate limits decentes.
Fase 2 (mes 12+) — Escala
- Si el Postgres managed se queda corto: migración a Postgres self-hosted (Hetzner) o Aurora Serverless.
- Si Nano Banana 2 sube precios mucho: fallback Replicate o fine-tune propio de Stable Diffusion XL en RunPod o Modal.com.
- Si OpenAI no escala: combinación con Claude para presupuestos + dedicated capacity.
Onboarding del reformista (proceso operativo)
- Reformista entra a la web, hace signup con email.
- Wizard de onboarding 5-7 pasos: nombre de empresa, logo (subida), zona geográfica (multi-select de provincias para ajustar el número fijo desde el que llama el agente), tipos de reforma (baño, cocina, integral), catálogo de opciones por tipo (calidades disponibles, materiales habituales, extras que ofrece), tabla de precios orientativa (heredamos la de Goyo, el reformista la ajusta), número de WhatsApp Business del propio reformista para reenvío de leads (opcional).
- Configuración genera automáticamente el script del agente de voz. El reformista lo escucha en demo (con su nombre y catálogo) antes de activar.
- Sistema genera la URL embebible del flujo + snippet
<iframe>. Tutorial de instalación en WordPress / Wix / Squarespace. - Plan Pro y Business: oferta de onboarding asistido por videocall (configuramos y probamos el agente por ti).
- Reformista recibe primer lead → email + push a su panel. Onboarding considerado "completado" cuando tenga la primera llamada del agente con éxito + presupuesto generado.
KPI de onboarding: time-to-first-call < 48 h tras signup. Si supera 7 días, el reformista probablemente churnea.
Operación de la llamada (qué pasa en cada lead)
- Cliente completa formulario en landing del reformista (~30 s).
- Sistema dispara: (a) registro en Postgres con status "pending_call", (b) SMS + WhatsApp al cliente "En 2 minutos te llama [Reformista] desde [número] para tu presupuesto", (c) llamada saliente del agente Retell desde número fijo provincial Zadarma.
- Agente cualifica conversacionalmente 3-5 min. Hard time-out 8 min. Si el cliente no descuelga, reintento automático en 30 min y 4 h después.
- Al colgar: transcripción → GPT-4o extrae entidades JSON → motor de presupuesto + Nano Banana 2 generan render + presupuesto → PDF se construye → WhatsApp entrega al cliente + email al reformista.
- Lead aparece en panel del reformista con todos los artefactos (transcripción, audio, fotos, render, presupuesto, datos).
Coste estimado por lead procesado:
| Concepto | Coste |
|---|---|
| Retell.ai (5 min llamada × $0,10/min media) | ~0,50 € |
| ElevenLabs (incluido en Retell o ~0,15 €/min × 5) | ~0,15-0,75 € si se factura separado |
| Zadarma (llamada saliente fijo provincial × 5 min) | ~0,05-0,10 € |
| SMS + WhatsApp (aviso + entrega vía Zadarma SMS + Evolution API) | ~0,11 € |
| GPT-4o (transcripción análisis + presupuesto) | ~0,03 € |
| Nano Banana 2 / Image 2 render | ~0,01-0,03 € |
| Postgres + S3 storage audio + foto | <0,01 € |
| Total medio por lead procesado | ~0,90-1,20 € |
Con cuenta Pro 79 € (15 leads incluidos + overage 2,5 €/lead): si todos los leads incluidos completan llamada → ~16,5 € COGS → margen bruto ~79 %. Cada lead extra cuesta ~1,10 € y se cobra 2,5 € → 56 % de margen por overage. La conversión 3× de la llamada respecto a un wizard compensa de sobra el coste de telefonía.
Gestión de leads (operación del cliente)
- Email transaccional al reformista con todos los datos del lead + render generado + cuestionario completo.
- Lead aparece en su panel con estado "Nuevo".
- Reformista marca el lead como "Contactado", "Visita agendada", "Presupuesto enviado", "Ganado" o "Perdido" — esto alimenta el bucle de precisión.
- Si reformista marca "Ganado", se le pide introducir el precio final firmado → alimenta el cálculo de precisión que dará el sello "Precio Justo Certificado".
Soporte y atención al cliente
Fase 0-1 (mes 0-6)
- Canales: email (
hola@reformix.es) + chat embebido (Crisp o Intercom Lite, ~0-15 €/mes). - SLA: primera respuesta < 4 h en horario laboral (lun-vie 9-19h). Carlos owns hasta llegar a 50 cuentas.
- Self-service: documentación + 5-6 videos tutoriales en Notion público o YouTube.
Fase 2+ (mes 6+)
- Contratación de un Customer Success Manager part-time (~1.500 €/mes) cuando lleguemos a 150+ cuentas.
Continuidad y respaldo
- Backups Postgres: automáticos diarios (Neon/managed los incluye), retención 30 días. Plus, snapshot manual semanal en R2/Backblaze B2 (~5 €/mes).
- Disaster recovery: Documento
RUNBOOK.mden el repo con pasos para restaurar el stack en 4-6 h en caso de Vercel/Postgres down. - Secrets management: Vercel encrypted env vars + 1Password compartido entre fundadores.
Seguridad básica (no GRC completo, sí higiene)
- HTTPS obligatorio en todo (Vercel lo da por defecto).
- Cookies HttpOnly + SameSite=Strict para sesiones.
- Rate limiting en endpoints de subida de foto y generación IA (evita abuso).
- Auditoría manual de dependencias mensual (
npm audit+ Snyk free tier). - Acceso al panel admin restringido por IP en fase 0, con MFA cuando se profesionalice.