Reordenando ficheros y subida de documentacion
173
CLAUDE.md
@@ -1 +1,172 @@
|
||||
@AGENTS.md
|
||||
# Reformix — CLAUDE.md
|
||||
|
||||
> Punto de entrada para cualquier agente IA (Claude Code, Cursor, Copilot) o desarrollador humano nuevo en el proyecto. Lee esto **antes** de tocar nada.
|
||||
|
||||
---
|
||||
|
||||
## Qué es Reformix
|
||||
|
||||
SaaS B2B para reformistas en España. El cliente final del reformista deja sus datos en una landing, sube fotos de su cocina o baño, recibe en menos de 2 minutos una **llamada de un agente IA** desde un número fijo de su provincia, y al colgar recibe por **WhatsApp** un render IA del espacio reformado + presupuesto orientativo desglosado con el branding del reformista. El reformista recibe el lead pre-cualificado completo en su panel.
|
||||
|
||||
Visión 18 meses: Fase 1 SaaS B2B → Fase 2 marketplace B2C con valorador "Precio Justo".
|
||||
|
||||
## Documentos canónicos (la fuente de la verdad)
|
||||
|
||||
Antes de implementar nada, lee estos en este orden:
|
||||
|
||||
1. [`specs.md`](specs.md) — Requisitos formales (55 RF + 30 RNF en notación EARS, con criterios de aceptación binarios)
|
||||
2. [`copy/COPY-GUIDE.md`](copy/COPY-GUIDE.md) — TODO el copy del producto. **Cero lorem ipsum permitido** en ningún sitio
|
||||
3. [`design/design-system.md`](design/design-system.md) — Tokens visuales, identidad verbal, componentes
|
||||
4. [`docs/dev-strategy.md`](docs/dev-strategy.md) — Orden de implementación, pipeline assets, testing, milestones
|
||||
5. [`funnel.md`](funnel.md) — Diagrama del funnel punta a punta
|
||||
6. [`negocio/`](negocio/) — Modelo de negocio, plan financiero, riesgos, compliance legal
|
||||
7. [`devdocs/plan.md`](devdocs/plan.md) — Plan vivo de implementación
|
||||
8. [`devdocs/progress.md`](devdocs/progress.md) — Estado actual del proyecto (qué está hecho, qué no)
|
||||
9. [`devdocs/decisions.md`](devdocs/decisions.md) — Decisiones técnicas tomadas y por qué
|
||||
|
||||
## Comandos (cuando el código exista)
|
||||
|
||||
```bash
|
||||
# Setup (una sola vez)
|
||||
pnpm install
|
||||
cp .env.example .env.local # rellenar las claves
|
||||
pnpm db:migrate # migraciones Postgres con Drizzle Kit
|
||||
|
||||
# Desarrollo
|
||||
pnpm dev # Next.js dev server en :3000
|
||||
|
||||
# Build
|
||||
pnpm build # build de producción
|
||||
pnpm start # corre el build en local
|
||||
|
||||
# Testing
|
||||
pnpm test # vitest (unit + integration)
|
||||
pnpm test:e2e # Playwright (flujos críticos)
|
||||
pnpm test:watch # vitest watch mode
|
||||
|
||||
# Quality
|
||||
pnpm lint # ESLint + autofix donde sea posible
|
||||
pnpm typecheck # tsc --noEmit
|
||||
pnpm format # Prettier sobre todo
|
||||
|
||||
# Database
|
||||
pnpm db:generate # genera migration desde schema
|
||||
pnpm db:migrate # aplica migrations
|
||||
pnpm db:studio # Drizzle Studio (DB GUI)
|
||||
```
|
||||
|
||||
> Si alguno de estos comandos no existe o no funciona, **no improvises**. Reporta el problema y arregla el setup antes de seguir.
|
||||
|
||||
## Stack técnico (decidido, no cuestionar sin evidencia)
|
||||
|
||||
| Capa | Servicio | Por qué |
|
||||
|---|---|---|
|
||||
| Framework | **Next.js 14** (App Router + Server Actions + API Routes) | Un único proyecto y deploy |
|
||||
| Lenguaje | **TypeScript strict** | |
|
||||
| UI | **Tailwind + shadcn/ui** | |
|
||||
| Tokens visuales | [`design/design-tokens.css`](design/design-tokens.css) + [`design/tailwind.config.ext.js`](design/tailwind.config.ext.js) | |
|
||||
| Tipografías | Instrument Serif (display) + Inter (body) + JetBrains Mono | Via `next/font/google` |
|
||||
| Agente de voz | **Retell.ai** + **ElevenLabs** (voces premium ES) | |
|
||||
| Telefonía | **Zadarma** (números fijos provinciales España) | |
|
||||
| WhatsApp | **Evolution API** (primario) o WhatsApp Business API (respaldo) | |
|
||||
| Render IA | **Nano Banana 2 / Image 2** (Google Gemini) + Replicate SDXL fallback | |
|
||||
| IA texto + vision | **GPT-4o** (OpenAI) | |
|
||||
| DB | **Postgres** + **Drizzle ORM** | |
|
||||
| Storage | **S3** (Cloudflare R2 recomendado) | |
|
||||
| Email | **SMTP** (genérico) | |
|
||||
| Deploy | **Vercel** | |
|
||||
| Analytics | **PostHog** | |
|
||||
| Forms | react-hook-form + zod | |
|
||||
| Testing | Vitest (unit + integration) + Playwright (e2e) | |
|
||||
|
||||
## Convenciones de código
|
||||
|
||||
- **TypeScript strict.** Sin `any` salvo en límites con SDK externos sin tipos.
|
||||
- **Server Components por defecto.** Client Components solo cuando hace falta interactividad (`'use client'`).
|
||||
- **API Routes** en `app/api/.../route.ts`. **Server Actions** para mutaciones desde formularios server-rendered.
|
||||
- **Naming:**
|
||||
- Componentes: `PascalCase` (`LeadDetailCard`)
|
||||
- Hooks: `camelCase` con prefijo `use` (`useLeadStatus`)
|
||||
- Funciones: `camelCase`
|
||||
- Tipos: `PascalCase`, sin prefijo `I`
|
||||
- Constantes top-level: `SCREAMING_SNAKE_CASE`
|
||||
- Archivos componentes: `PascalCase.tsx`
|
||||
- Archivos utilidades: `kebab-case.ts`
|
||||
- **Comentarios:** solo cuando el *porqué* no es obvio. Nada de comentarios que describen *qué* hace el código.
|
||||
- **Imports:** usar paths absolutos con alias `@/` (configurado en `tsconfig.json`).
|
||||
- **Tests:** colocados en `tests/` espejando `app/` y `lib/`, no junto al código.
|
||||
|
||||
## Estructura del proyecto
|
||||
|
||||
Ver detalle completo en [`docs/dev-strategy.md` §3](docs/dev-strategy.md). Resumen:
|
||||
|
||||
```
|
||||
reformix/
|
||||
├── app/ # Next.js App Router (marketing, app, api)
|
||||
├── lib/ # Server-side (ai, voice, telephony, whatsapp, budget, db, ...)
|
||||
├── components/ # Componentes React compartidos (ui, marketing, funnel, panel)
|
||||
├── design/ # Design system (tokens, config)
|
||||
├── copy/ # Copy guide
|
||||
├── docs/ # Documentación técnica
|
||||
├── devdocs/ # Plan vivo + progreso + decisiones
|
||||
├── negocio/ # Documentación de negocio
|
||||
├── public/ # Assets estáticos
|
||||
├── raw/ # Assets fuente (git-ignored)
|
||||
└── tests/ # Unit + integration + e2e
|
||||
```
|
||||
|
||||
## Reglas operativas para el agente IA
|
||||
|
||||
### Siempre
|
||||
|
||||
1. **Lee el documento canónico relevante antes de implementar.** Si vas a tocar el form B2C, lee §RF-B en specs.md y §"Landing B2C" en COPY-GUIDE.md.
|
||||
2. **Usa copy de COPY-GUIDE.md literal.** No reescribas. Si necesitas un texto que no existe, añádelo primero al copy guide, luego úsalo.
|
||||
3. **Usa tokens del design system.** No hardcodees colores, espaciados o tipografías. Si falta un token, propón añadirlo en design-system.md primero.
|
||||
4. **Tests primero (TDD)** para el motor de presupuesto, extracción de entidades, parsers críticos.
|
||||
5. **Salida mínima:** evita `console.log` verboso. Los tests deben fallar con mensajes accionables, pasar en silencio.
|
||||
6. **Commit frecuente** cada milestone (≥ 1/día de trabajo activo). Mensaje en imperativo conciso: `Add lead capture form`, no `added lead form`.
|
||||
7. **Update `devdocs/progress.md`** cada vez que cierres un milestone.
|
||||
|
||||
### Nunca
|
||||
|
||||
1. **No inventes requisitos.** Si no está en specs.md, pregunta antes de implementar. Si es una mejora obvia, añádela primero a specs.md y luego implementa.
|
||||
2. **No metas dependencias nuevas sin justificación documentada.** Si añades una librería, justifica en `devdocs/decisions.md`.
|
||||
3. **No uses ningún proveedor de IA que no esté en el stack decidido** sin abrir una decisión explícita.
|
||||
4. **No hardcodees secretos.** Todo via `process.env.*` con tipo derivado de `zod` schema.
|
||||
5. **No optimices prematuramente.** Performance budget en specs.md (FCP < 2s, llamada < 2 min, pipeline < 60s). Si vas dentro de presupuesto, no toques.
|
||||
6. **No instales paquetes globales** ni modifiques config del editor de otros.
|
||||
7. **No commits con tests rojos** (salvo en branch personal con flag `--no-verify` documentado en el mensaje).
|
||||
|
||||
### Cuando dudes
|
||||
|
||||
- Si el specs no es claro → escribe la duda en `devdocs/decisions.md` como "pending" y pregunta.
|
||||
- Si el copy no encaja → propón nueva versión en `COPY-GUIDE.md` y pide validación.
|
||||
- Si el design system no cubre un caso → propón añadir token a `design-system.md`.
|
||||
- Si el plan no contempla algo → updateA `devdocs/plan.md` y notifica.
|
||||
|
||||
## Compliance imprescindible (no negociable)
|
||||
|
||||
- **HTTPS** forzado siempre.
|
||||
- **Consentimiento LSSI-CE** separado del RGPD en el form del cliente final (RF-LEG-01).
|
||||
- **Aviso de grabación** al inicio de la llamada del agente (RF-C-12, RNF-LEG-02).
|
||||
- **Consulta Lista Robinson** antes de cada llamada saliente (RF-C-03, RNF-LEG-03).
|
||||
- **Identificación como IA** en la llamada (AI Act, RNF-LEG-05).
|
||||
- **Horario permitido** lun-vie 9-21, sáb 9-14, no domingos (RNF-LEG-06).
|
||||
- **Retención grabaciones** máximo 12 meses (RNF-LEG-04).
|
||||
|
||||
## Cuando el contexto se llene (reset de sesión)
|
||||
|
||||
1. Mata la sesión actual.
|
||||
2. Inicia nueva sesión.
|
||||
3. Lee `CLAUDE.md` (este archivo) → `devdocs/plan.md` → `devdocs/progress.md` → `devdocs/decisions.md`.
|
||||
4. Lee el documento canónico de la superficie en la que estabas trabajando.
|
||||
5. Continúa donde lo dejaste sin perder el hilo.
|
||||
|
||||
## Contacto / responsables
|
||||
|
||||
| Área | Owner | Backup |
|
||||
|---|---|---|
|
||||
| Producto + Coordinación + Voz | Carlos | Simon |
|
||||
| Backend + IA + WhatsApp | Simon | Carlos |
|
||||
| Motor de presupuesto + Dominio | Goyo | Carlos |
|
||||
| UI/UX + Creativos | Antonio | Simon |
|
||||
|
||||
164
README.md
@@ -1,100 +1,108 @@
|
||||
# Reformix — Landing Page
|
||||
# Reformix
|
||||
|
||||
> Landing page pública de **Reformix**, la plataforma que conecta a propietarios con reformistas de confianza. Presupuesto en 5 minutos, render por WhatsApp. Construida con **Next.js + TypeScript + Tailwind CSS v4**.
|
||||
> SaaS para reformistas en España. El cliente final del reformista deja sus datos en una landing, sube fotos de su cocina o baño, recibe en menos de 2 minutos una llamada de un agente IA desde un número fijo de su provincia, y al colgar recibe por WhatsApp un render IA del espacio reformado + presupuesto orientativo desglosado con el branding del reformista.
|
||||
|
||||
## 🚀 Inicio rápido
|
||||
|
||||
```bash
|
||||
# Instalar dependencias
|
||||
npm install
|
||||
|
||||
# Iniciar servidor de desarrollo
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Abre [http://localhost:3000](http://localhost:3000) en tu navegador para ver el resultado.
|
||||
**Estado:** planificación completa, código sin empezar. Equipo de 4 personas, 3 semanas (24-may → 11-jun) hasta demo MVP.
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Stack tecnológico
|
||||
## Empezar aquí
|
||||
|
||||
| Capa | Tecnología |
|
||||
Si eres una **persona o agente IA nuevo en el proyecto**, lee en este orden:
|
||||
|
||||
1. [`CLAUDE.md`](CLAUDE.md) — Onboarding para agentes IA + comandos + convenciones (también útil para humanos)
|
||||
2. [`specs.md`](specs.md) — Requisitos formales (55 RF + 30 RNF en notación EARS)
|
||||
3. [`docs/dev-strategy.md`](docs/dev-strategy.md) — Cómo se va a construir (orden, equipo, milestones)
|
||||
4. [`devdocs/plan.md`](devdocs/plan.md) — Plan vivo de implementación
|
||||
5. [`devdocs/progress.md`](devdocs/progress.md) — Estado actual
|
||||
|
||||
---
|
||||
|
||||
## Índice de documentación
|
||||
|
||||
### Producto y diseño
|
||||
|
||||
| Doc | Para qué |
|
||||
|---|---|
|
||||
| Framework | Next.js (App Router) |
|
||||
| Lenguaje | TypeScript 5 |
|
||||
| Estilos | Tailwind CSS v4 (`@import "tailwindcss"` + `@theme`) |
|
||||
| Componentes | React 19 (Server + Client Components) |
|
||||
| Fuente | Inter (Google Fonts, variable) |
|
||||
| [`specs.md`](specs.md) | Requisitos funcionales y no funcionales en EARS |
|
||||
| [`funnel.md`](funnel.md) | Diagrama del funnel punta a punta (ASCII + Mermaid + descripción Miro) |
|
||||
| [`copy/COPY-GUIDE.md`](copy/COPY-GUIDE.md) | TODO el copy del producto (landings, agente voz, WhatsApp, emails) |
|
||||
| [`design/design-system.md`](design/design-system.md) | Sistema de diseño, identidad visual y verbal |
|
||||
| [`design/design-tokens.css`](design/design-tokens.css) | Tokens CSS custom properties |
|
||||
| [`design/tailwind.config.ext.js`](design/tailwind.config.ext.js) | Extensión config Tailwind |
|
||||
|
||||
---
|
||||
### Negocio
|
||||
|
||||
## 📁 Arquitectura del proyecto
|
||||
|
||||
```text
|
||||
landing-page/
|
||||
├── src/
|
||||
│ ├── app/
|
||||
│ │ ├── globals.css # Design system: @theme tokens + @layer utilities
|
||||
│ │ ├── layout.tsx # Root layout con fuente Inter y meta tags
|
||||
│ │ └── page.tsx # Composición de página — solo imports de componentes
|
||||
│ │
|
||||
│ └── components/
|
||||
│ ├── Navbar/ # Barra de navegación (actualmente comentada)
|
||||
│ ├── Hero/ # Sección principal: headline + LeadForm interno
|
||||
│ ├── ReformaSlider/ # Comparador antes/después interactivo (drag)
|
||||
│ ├── Features/ # Sección "Cómo funciona" — 3 pasos numerados
|
||||
│ ├── Pricing/ # Tabla de servicios: Presupuesto · Reforma · Integral
|
||||
│ ├── ContactForm/ # Formulario de contacto con validación y testimonial
|
||||
│ └── Footer/ # Links, redes sociales y copyright
|
||||
```
|
||||
|
||||
### Convención de componentes
|
||||
|
||||
- Cada componente vive en su propia carpeta `ComponentName/ComponentName.tsx`.
|
||||
- Los sub-componentes de uso exclusivo (ej. `LeadForm`) se definen en el mismo archivo del padre, **no** como archivos separados.
|
||||
- `page.tsx` solo importa componentes de primer nivel — sin JSX estructural inline.
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Design System
|
||||
|
||||
Definido en `globals.css` mediante el bloque `@theme` de Tailwind v4:
|
||||
|
||||
- **Colores:** Escala negro/blanco de alto contraste. Sin acentos de color innecesarios.
|
||||
- **Tipografía:** Inter variable — pesos 400 a 900, tracking ajustado para headlines impactantes.
|
||||
- **Animaciones:** Entrada por scroll con `IntersectionObserver` + clase `reveal`. Micro-interacciones en hovers de cards y botones.
|
||||
- **Responsive:** Mobile-first. Grid de 1 columna en móvil, 2–3 en desktop.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 Secciones de la landing
|
||||
|
||||
| Sección | Descripción |
|
||||
| Doc | Para qué |
|
||||
|---|---|
|
||||
| **Hero** | Headline + formulario de captación de lead (nombre, email, empresa, teléfono) |
|
||||
| **ReformaSlider** | Comparador antes/después con drag handle — 3 espacios: Cocina, Baño, Salón |
|
||||
| **Features** | Explicación del proceso en 3 pasos: llama → foto → presupuesto |
|
||||
| **Pricing** | 3 niveles de servicio con toggle mensual/anual y features detalladas |
|
||||
| **ContactForm** | Formulario completo con datos de contacto y testimonial de cliente real |
|
||||
| **Footer** | Links de navegación, redes sociales, estado operativo y copyright |
|
||||
| [`negocio/README.md`](negocio/README.md) | Resumen ejecutivo (1 página) |
|
||||
| [`negocio/modelo-negocio.md`](negocio/modelo-negocio.md) | Pricing, unit economics, competencia |
|
||||
| [`negocio/operaciones.md`](negocio/operaciones.md) | Stack, proveedores, onboarding reformista |
|
||||
| [`negocio/equipo.md`](negocio/equipo.md) | Roles del equipo + plan contratación |
|
||||
| [`negocio/legal.md`](negocio/legal.md) | RGPD, LSSI-CE, Lista Robinson, AI Act, Verifactu |
|
||||
| [`negocio/plan-financiero.md`](negocio/plan-financiero.md) | Proyecciones 3 escenarios |
|
||||
| [`negocio/roadmap.md`](negocio/roadmap.md) | Hitos por fase (hasta 18 meses) |
|
||||
| [`negocio/riesgos.md`](negocio/riesgos.md) | Matriz de riesgos + contingencias |
|
||||
| [`negocio/datos/`](negocio/datos/) | Costes desglosados, proveedores, KPIs |
|
||||
| [`investigacion-competencia-internacional.md`](investigacion-competencia-internacional.md) | Mapa de competidores + analogías (~5k palabras) |
|
||||
|
||||
### Desarrollo (código futuro)
|
||||
|
||||
| Doc | Para qué |
|
||||
|---|---|
|
||||
| [`CLAUDE.md`](CLAUDE.md) | Onboarding para agentes IA |
|
||||
| [`docs/dev-strategy.md`](docs/dev-strategy.md) | Estrategia de desarrollo, estructura, milestones |
|
||||
| [`devdocs/plan.md`](devdocs/plan.md) | Plan de implementación vivo |
|
||||
| [`devdocs/progress.md`](devdocs/progress.md) | Estado real |
|
||||
| [`devdocs/decisions.md`](devdocs/decisions.md) | Decisiones arquitectónicas (ADRs ligeros) |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Scripts disponibles
|
||||
## Stack técnico (resumen)
|
||||
|
||||
```bash
|
||||
npm run dev # Desarrollo con Turbopack (hot reload)
|
||||
npm run build # Build de producción optimizado
|
||||
npm run start # Servidor de producción con la build generada
|
||||
npm run lint # ESLint — análisis estático del código
|
||||
```
|
||||
Frontend + Backend: Next.js 14 (App Router) → Vercel
|
||||
UI: Tailwind + shadcn/ui
|
||||
Agente de voz: Retell.ai + ElevenLabs (ES)
|
||||
Telefonía: Zadarma (fijos provinciales)
|
||||
WhatsApp: Evolution API (primario) / WA Business API (respaldo)
|
||||
Render IA: Nano Banana 2 / Image 2 (+ Replicate fallback)
|
||||
IA texto + vision: GPT-4o
|
||||
DB: Postgres + Drizzle ORM
|
||||
Storage: S3 (Cloudflare R2)
|
||||
Email: SMTP
|
||||
Analytics: PostHog
|
||||
Testing: Vitest + Playwright
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Repositorio
|
||||
## Equipo
|
||||
|
||||
GitHub: [McGregory99/reformix-hackaton](https://github.com/McGregory99/reformix-hackaton)
|
||||
| Persona | Owner |
|
||||
|---|---|
|
||||
| **Carlos** | Producto + Voz agent + WhatsApp + Coordinación |
|
||||
| **Simon** | Backend + IA pipeline + WhatsApp + SEO |
|
||||
| **Goyo** | Motor de presupuesto + Dominio sector + Datos reales |
|
||||
| **Antonio** | UI/UX + Creativos de ads |
|
||||
|
||||
---
|
||||
|
||||
*Desarrollado para el hackathon interno de Reformix.*
|
||||
## Milestones
|
||||
|
||||
| ID | Descripción | Fecha |
|
||||
|---|---|---|
|
||||
| M0 | Setup compartido | 24-may |
|
||||
| M1 | Landings B2B + B2C live + ads activos | **28-may** 🎯 |
|
||||
| M2 | Agente de voz validado | 30-may |
|
||||
| M3 | Pipeline IA end-to-end | 4-jun |
|
||||
| M4 | Panel reformista funcional | 6-jun |
|
||||
| M5 | QA con 20 leads | 7-jun |
|
||||
| M6 | Plan B grabado + ensayo demo | 9-jun |
|
||||
| M7 | **Demo MVP** | **11-jun** 🎯 |
|
||||
|
||||
---
|
||||
|
||||
## Licencia
|
||||
|
||||
Privado / propietario hasta nuevo aviso.
|
||||
|
||||
592
copy/COPY-GUIDE.md
Normal file
@@ -0,0 +1,592 @@
|
||||
# Copy Guide — Reformix
|
||||
|
||||
**Fecha:** 24-may-2026
|
||||
**Fuente:** [specs.md](../specs.md) + [negocio/modelo-negocio.md](../negocio/modelo-negocio.md) + [Resumen Entrevista](../Resumen%20Entrevista%20-%20Insights%20SaaS%20Reformas.md) + [Análisis Competencia](../Analisis%20de%20competencia.md)
|
||||
|
||||
Esta guía cubre el copy de las **dos landings** (B2B reformista + B2C cliente final), los **scripts del agente de voz**, las **plantillas de WhatsApp** y las **notificaciones email**. La aplicación obligada antes de tocar diseño o código: no debe haber ni un lorem ipsum.
|
||||
|
||||
---
|
||||
|
||||
## 1. Estrategia compartida
|
||||
|
||||
### Value Proposition (one-liner por audiencia)
|
||||
|
||||
- **B2B (reformista):** *"El asistente IA que llama a tus clientes en 2 minutos, les enseña cómo quedará su reforma y te los entrega ya cualificados."*
|
||||
- **B2C (cliente final):** *"Recibe tu presupuesto de reforma en 5 minutos. Te llamamos en menos de 2."*
|
||||
|
||||
### Positioning
|
||||
|
||||
Somos los únicos en España que combinamos **captura instantánea del lead + llamada del agente IA + render visual + presupuesto desglosado + entrega por WhatsApp**, todo bajo la marca del reformista. STIMAT es back-office post-visita. NexoraSuite es chatbot sin visual. Habitissimo da contactos fríos sin pre-cualificar. RoomsGPT genera fotos bonitas sin presupuesto ni lead. Reformix junta los cinco ejes y los entrega en menos de 7 minutos punta a punta.
|
||||
|
||||
### Awareness Level
|
||||
|
||||
| Audiencia | Schwartz | Justificación | Implicación |
|
||||
|---|---|---|---|
|
||||
| Reformista | **Nivel 2** (Problem-Aware) | Sabe que pierde horas con presupuestos que no convierten, conoce el showrooming, pero no sabe que existe un agente de voz IA que llama por él | Hero debe abrir desde el **dolor concreto** (no desde el producto). Validar primero, vender después |
|
||||
| Cliente final | **Nivel 2** (Problem-Aware) | Sabe que quiere reformar, tiene miedo a los sobrecostes, no se imagina el resultado, ha probado calculadoras que no le sirven | Hero debe ofrecer el **resultado inmediato** y la sensación de control (recibir presupuesto rápido sin compromiso) |
|
||||
|
||||
### Tone of Voice
|
||||
|
||||
**Para reformista (B2B):**
|
||||
- **Somos:** directos, de igual a igual, profesionales, honestos con las limitaciones
|
||||
- **NO somos:** condescendientes, "expertos en marketing" que dicen lo que el cliente quiere oír, llenos de jerga corporativa
|
||||
- **Sí:** *"Tu cliente cuelga el teléfono y ya tiene su presupuesto en WhatsApp. Tú lo tienes en el panel."*
|
||||
- **NO:** *"Optimizamos tu pipeline de captación para escalar tu negocio al siguiente nivel."*
|
||||
|
||||
**Para cliente final (B2C):**
|
||||
- **Somos:** cercanos, tranquilizadores, claros sobre el carácter orientativo, sin presión
|
||||
- **NO somos:** spam de marketplace, prometedores de gangas, condescendientes
|
||||
- **Sí:** *"Lo que recibes es una estimación. El precio real lo confirma tu reformista en visita gratuita."*
|
||||
- **NO:** *"¡Presupuesto GRATIS en SEGUNDOS! ¡Aprovecha YA!"*
|
||||
|
||||
### Trigger Map
|
||||
|
||||
#### Para reformista (B2B)
|
||||
|
||||
**Emocionales:**
|
||||
- 😤 *"Hago presupuesto detallado y se va a la competencia que se lo deja más barato"* (showrooming — dolor #1 verbatim de la entrevista)
|
||||
- 😩 *"Pierdo horas haciendo presupuestos a gente que después no contrata"*
|
||||
- 😟 *"Mientras estoy en obra, los WhatsApps se enfrían"*
|
||||
- 💪 *"Quiero que me elijan por confianza, no por precio"*
|
||||
|
||||
**Racionales:**
|
||||
- 78 % de clientes acepta el primer presupuesto rápido que recibe
|
||||
- Ticket medio de reforma España: 10.000-50.000 €
|
||||
- 80 % de clientes prefiere presupuestos con imágenes a texto plano
|
||||
- Una obra extra al año a 25K€ y margen 15 % = 3.750 € ganados. Pro 79 € × 12 = 948 €. ROI 4×.
|
||||
|
||||
**User language (verbatim entrevista):**
|
||||
- *"Es canela fina"*
|
||||
- *"El sector es deshonesto"*
|
||||
- *"No me sale a cuenta hacer 3D para un solo baño"*
|
||||
- *"El cliente toma la decisión así, rápido, cuando ve la imagen"*
|
||||
|
||||
#### Para cliente final (B2C)
|
||||
|
||||
**Emocionales:**
|
||||
- 😰 *"No sé cuánto me va a costar y tengo miedo a que se dispare"*
|
||||
- 😨 *"Me da palo que vengan a casa solo a verlo"*
|
||||
- 🤷 *"No me imagino cómo va a quedar mi baño"*
|
||||
- 🙏 *"Quiero estar tranquilo de que no me van a timar"*
|
||||
|
||||
**Racionales:**
|
||||
- Recibe presupuesto en 5 minutos sin moverse de casa
|
||||
- No tiene que coordinar visitas hasta estar seguro
|
||||
- Ve cómo quedará la reforma antes de comprometerse
|
||||
|
||||
**User language:**
|
||||
- *"¿Cuánto me va a costar reformar el baño?"*
|
||||
- *"¿Y si me sale más caro de lo que dicen?"*
|
||||
- *"Quiero ver cómo queda con esos azulejos"*
|
||||
|
||||
### Objeciones a resolver
|
||||
|
||||
#### Reformista
|
||||
|
||||
| Objeción | Tipo | Sección donde se resuelve | Técnica |
|
||||
|---|---|---|---|
|
||||
| *"¿Y si el render no se parece a lo que voy a hacer?"* | 🤔 | FAQ + sección "Cómo funciona" | Honestidad: *"Es orientativo. Tu visita sigue siendo la que cierra. El render abre la puerta."* |
|
||||
| *"Mis clientes verán un precio fijo que después no podré cumplir"* | 🔧 | Hero + microcopy del demo | Presupuesto se entrega como **rango**, no precio fijo. Disclaimer claro |
|
||||
| *"Otra herramienta más para configurar y mantener"* | ⏰ | Sección "Cómo funciona" + FAQ | *"Configuras una vez. El agente aprende tu negocio en 10 minutos"* |
|
||||
| *"79 € es caro para mi"* | 💰 | Pricing + ROI calc | *"Cierra una obra extra al año y te paga el SaaS 4 veces"* |
|
||||
| *"Mis clientes son mayores, no usarán esto"* | 🤔 | FAQ + demo embebida | El cliente solo deja teléfono y sube fotos. La conversación es por llamada de voz. *"Sabe usar WhatsApp, sabe usar esto"* |
|
||||
|
||||
#### Cliente final
|
||||
|
||||
| Objeción | Tipo | Sección donde se resuelve | Técnica |
|
||||
|---|---|---|---|
|
||||
| *"¿Es real que me llamen en 2 minutos?"* | 🤔 | Hero + bloque "Cómo funciona" | Cuenta atrás visible tras subir fotos. Aviso por SMS + WhatsApp con el número exacto |
|
||||
| *"¿El precio que me digan será el real?"* | 💰 | Disclaimer en cada pantalla + WhatsApp final | *"Es orientativo. El definitivo lo confirma tu reformista en visita gratuita"* |
|
||||
| *"¿Para qué quieren mi teléfono?"* | 🤔 | Microcopy bajo el form | *"Solo para llamarte y entregarte tu presupuesto. No spam. Puedes pedir baja en cualquier momento"* |
|
||||
| *"¿Es una IA hablándome o un humano?"* | 🤔 | Aviso al inicio de la llamada (AI Act) | Agente se identifica como asistente virtual |
|
||||
|
||||
---
|
||||
|
||||
## 2. Landing B2B — Reformistas
|
||||
|
||||
### Hero
|
||||
|
||||
- **Eyebrow:** Para empresas y autónomos de reformas
|
||||
- **H1:** **Tus clientes verán su reforma antes de llamarte**
|
||||
- **Subtitle:** El asistente IA habla con ellos, les enseña cómo quedará y te los entrega cualificados. Tú llegas a la visita con el presupuesto ya en la mesa.
|
||||
- **CTA primario:** *Pruébalo gratis 14 días*
|
||||
- **CTA secundario:** *Ver una demo real*
|
||||
- **Trust text bajo CTA:** Sin tarjeta. Sin instalaciones. 10 minutos para configurarlo.
|
||||
|
||||
### Bloque "Lo que está roto hoy"
|
||||
|
||||
- **Título:** Cada presupuesto que haces es una apuesta
|
||||
- **Pain 1:** ⏱ **Horas perdidas** — Sales a verlo, lo presupuestas con detalle, el cliente desaparece. Tu coste por lead que no convierte: 60-90 € entre desplazamiento y tiempo.
|
||||
- **Pain 2:** 🥶 **Se enfrían en WhatsApp** — Mientras estás en obra, el cliente espera respuesta y consulta a la competencia.
|
||||
- **Pain 3:** 🏃 **Se van con tu trabajo** — Hacen el presupuesto contigo, lo llevan al de al lado para que se lo baje, y tú pierdes una obra que era tuya.
|
||||
|
||||
### Bloque "Cómo funciona Reformix"
|
||||
|
||||
- **Título:** Le pones la herramienta en tu web. El resto lo hace ella.
|
||||
- **Subtitle:** Tú configuras tu catálogo y tus precios una vez. A partir de ahí, cada lead que entra recorre estos 5 pasos sin tocar nada.
|
||||
|
||||
- **Paso 1 — El cliente entra a tu web y deja sus datos**
|
||||
Nombre, teléfono y una foto de su cocina o baño. 60 segundos.
|
||||
|
||||
- **Paso 2 — Lo llamamos en menos de 2 minutos**
|
||||
Desde un fijo de su provincia. No un 900. Un número local que descuelgan.
|
||||
|
||||
- **Paso 3 — El asistente IA le cualifica conversando**
|
||||
Tipo de reforma, calidades, presupuesto que tiene en mente, urgencia. La conversación se transcribe y se estructura sola.
|
||||
|
||||
- **Paso 4 — Generamos el render y el presupuesto desglosado**
|
||||
En 60 segundos tras colgar. Con tu marca, tu logo y tus partidas.
|
||||
|
||||
- **Paso 5 — Tu cliente lo recibe por WhatsApp. Tú lo recibes en tu panel**
|
||||
Con la transcripción completa, las preferencias, el render y el desglose. Llegas a la visita sabiendo todo.
|
||||
|
||||
### Bloque "Lo que esto cambia"
|
||||
|
||||
- **Título:** Una conversación honesta sobre lo que te va a pasar
|
||||
- **Benefit 1 — Vas a cerrar más obras**
|
||||
Tus competidores hacen presupuesto por WhatsApp en 6 horas. Tú lo tienes hecho en 5 minutos. Y con render. El cliente decide rápido.
|
||||
- **Benefit 2 — Vas a desplazarte menos para nada**
|
||||
Los leads llegan pre-cualificados con presupuesto target y urgencia. La visita ya tiene un sentido claro.
|
||||
- **Benefit 3 — Vas a recuperar tu noche**
|
||||
No más responder WhatsApps a las 23:00. El asistente IA está disponible 24/7.
|
||||
|
||||
### Bloque "Por qué funciona" (validación)
|
||||
|
||||
- **Título:** No es nuestra opinión. Es lo que dice el sector.
|
||||
- **Dato 1:** *"El 78 % de los clientes acepta el primer presupuesto rápido que recibe — por encima incluso del precio final"* — NexoraSuite, estudio sector reformas 2025
|
||||
- **Dato 2:** *"En España, el ticket medio de una reforma de baño + cocina está entre 10.000 € y 50.000 €"* — Wolly, Cómo presupuestar una reforma 2025
|
||||
- **Dato 3:** *"El 80 % de clientes prefiere presupuestos con imágenes a texto plano"* — Plan Reforma, encuesta a particulares
|
||||
|
||||
### Bloque "Pricing"
|
||||
|
||||
- **Título:** Paga por lo que cierras, no por estar en la lista
|
||||
- **Subtitle:** Cada lead procesado incluye llamada + render + presupuesto + entrega. Si tu mes va bien, pagas el overage. Si va flojo, no.
|
||||
|
||||
#### Tarjeta Starter
|
||||
- **Precio:** 29 €/mes
|
||||
- **Para:** Autónomos que arrancan
|
||||
- **Incluye:** 5 leads procesados / mes · 3 €/lead extra · Hasta 100 contactos retenidos · Branding básico
|
||||
- **CTA:** *Empezar gratis 14 días*
|
||||
|
||||
#### Tarjeta Pro ⭐ (destacada)
|
||||
- **Eyebrow:** Recomendado para empresas de 2-10 personas
|
||||
- **Precio:** 79 €/mes
|
||||
- **Incluye:** 15 leads procesados / mes · 2,50 €/lead extra · White-label completo · Sub-flujo experto licencia urbanística · Integraciones con Holded / Stel · Soporte prioritario
|
||||
- **CTA:** *Empezar gratis 14 días*
|
||||
|
||||
#### Tarjeta Business
|
||||
- **Precio:** 199 €/mes
|
||||
- **Para:** Empresas medianas o multi-localización
|
||||
- **Incluye:** 50 leads procesados / mes · 2 €/lead extra · Usuarios ilimitados · API · Multi-zona · Custom price book · Dashboard analytics
|
||||
- **CTA:** *Hablar con ventas*
|
||||
|
||||
**Bloque común bajo las tarjetas:**
|
||||
- *Trial 14 días sin tarjeta. Anual con 2 meses gratis.*
|
||||
- *Si en el trial no recibes al menos 3 leads cualificados, el primer mes pagado te lo devolvemos.*
|
||||
|
||||
### Bloque "Próximamente" (waitlist)
|
||||
|
||||
- **Título:** Lo siguiente en el roadmap (apúntate y entras antes)
|
||||
|
||||
- **Próximamente 1 — Doble nomenclatura asistida**
|
||||
*"La IA convierte tus referencias internas en códigos genéricos automáticamente. El cliente no se puede ir a la competencia con la marca exacta de tus materiales."*
|
||||
CTA: *Apuntarme a la waitlist*
|
||||
|
||||
- **Próximamente 2 — Sello Precio Justo Certificado**
|
||||
*"Tu histórico de presupuestos preciso te diferencia. Los reformistas que cumplen lo que prometen llevan el sello."*
|
||||
CTA: *Quiero el sello cuando esté*
|
||||
|
||||
### Bloque "Quiénes somos"
|
||||
|
||||
- **Título:** Construimos un mercado de reformas más justo
|
||||
- **Body:** Estamos cansados de un sector donde el honesto pierde clientes contra el que cobra de menos y después no cumple. Reformix premia al profesional serio: con velocidad, con visibilidad y, en breve, con un sello que tu cliente puede verificar antes de elegirte.
|
||||
|
||||
### FAQ
|
||||
|
||||
- **Q:** ¿Y si el render no se parece a la reforma real?
|
||||
**A:** El render es orientativo, igual que el presupuesto. Sirve para que el cliente se haga una idea visual y se acerque emocionalmente a contratar. Tu visita sigue siendo la que cierra: el render abre la puerta.
|
||||
|
||||
- **Q:** ¿Mis clientes verán precios "reales" que después no podré cumplir?
|
||||
**A:** No. El presupuesto se entrega siempre como **rango** (ej. 4.500-6.200 €) y con disclaimer claro: *"El precio definitivo lo confirma tu reformista en visita gratuita"*. Tú llegas a la visita y ajustas.
|
||||
|
||||
- **Q:** ¿Puedo personalizar la tabla de precios para mi zona y mi catálogo?
|
||||
**A:** Sí, desde el primer día. Vienes con una tabla base validada para España (datos reales de mercado) y la ajustas a tus partidas, tus márgenes y tu zona. Tarda 10-15 minutos.
|
||||
|
||||
- **Q:** ¿Cómo se integra en mi web? ¿Necesito un programador?
|
||||
**A:** No. Te damos un snippet `<iframe>` que copias y pegas en cualquier WordPress, Wix o Squarespace. En plan Pro, lo instalamos por ti por videollamada.
|
||||
|
||||
- **Q:** ¿Mis clientes son mayores, sabrán usarlo?
|
||||
**A:** El cliente solo deja nombre + teléfono + sube una foto. Lo demás lo gestiona el asistente IA por llamada de voz, que es exactamente como ya recibe llamadas hoy. Si sabe contestar al teléfono, sabe usar Reformix.
|
||||
|
||||
- **Q:** ¿Qué pasa cuando termina el trial?
|
||||
**A:** Te avisamos 3 días antes. Si decides no seguir, los leads ya capturados son tuyos para siempre (los exportas en CSV). No te cobramos automáticamente sin avisarte.
|
||||
|
||||
### CTA final
|
||||
|
||||
- **Headline:** Tu próximo lead empieza con una foto. ¿Empezamos?
|
||||
- **Subtitle:** 14 días gratis. Sin tarjeta. Si en el trial no te llegan al menos 3 leads cualificados, el primer mes pagado te lo devolvemos.
|
||||
- **Botón:** *Empezar gratis ahora*
|
||||
- **Trust:** *Setup en 10 minutos · Cancela cuando quieras · Hablas con un humano si lo necesitas*
|
||||
|
||||
---
|
||||
|
||||
## 3. Landing B2C — Cliente final del reformista
|
||||
|
||||
> Embebida en la web del reformista bajo su branding. El copy se adapta dinámicamente con el nombre de empresa del reformista.
|
||||
|
||||
### Hero
|
||||
|
||||
- **Eyebrow:** *Reformas Ejemplo · Madrid* *(branding del reformista)*
|
||||
- **H1:** **Recibe tu presupuesto de reforma en 5 minutos**
|
||||
- **Subtitle:** Te llamamos en menos de 2 minutos desde un fijo de tu provincia. Al colgar recibes por WhatsApp el render de cómo quedaría tu reforma + el presupuesto desglosado.
|
||||
- **CTA primario:** *Quiero mi presupuesto*
|
||||
- **Trust text bajo CTA:** Es gratis. Sin compromiso. Sin spam.
|
||||
|
||||
### Imagen antes/después (gancho visual)
|
||||
|
||||
- **Caption sobre la imagen:** ⬇ Esto es lo que recibirás en 5 minutos
|
||||
- **Copy bajo imagen:** *"Envíanos tu foto y ve cómo quedará tu reforma en 5 minutos"*
|
||||
|
||||
### Bloque "Por qué Reformix"
|
||||
|
||||
- **Título:** Sin moverte de casa. Sin esperar visitas. Sin compromiso.
|
||||
- **Bullet 1:** 📞 Te llama un asistente que te entiende — no un 900 ni un teleoperador
|
||||
- **Bullet 2:** 🎨 Recibes el render de tu nueva cocina o baño en tu WhatsApp
|
||||
- **Bullet 3:** 💸 Presupuesto desglosado con partidas claras — sabes lo que pagas
|
||||
- **Bullet 4:** 🤝 Si te convence, [Reformista] te visita gratis para confirmarlo
|
||||
|
||||
### Bloque "Cómo funciona"
|
||||
|
||||
- **Título:** 3 pasos. 5 minutos.
|
||||
|
||||
- **Paso 1 — Cuéntanos quién eres**
|
||||
Nombre, teléfono y un par de fotos del baño o la cocina. Nada más.
|
||||
|
||||
- **Paso 2 — Te llamamos**
|
||||
En menos de 2 minutos desde un fijo de tu provincia. Te avisamos por SMS y WhatsApp antes para que sepas que somos nosotros.
|
||||
|
||||
- **Paso 3 — Te llega el presupuesto por WhatsApp**
|
||||
Con el render de cómo quedaría tu espacio y el desglose de precios. En menos de 1 minuto tras colgar.
|
||||
|
||||
### Bloque "Lo que NO va a pasar"
|
||||
|
||||
- **Título:** Por si te lo estás preguntando
|
||||
- **❌ No te van a llamar 20 veces** — Una llamada. La que tú aceptas.
|
||||
- **❌ No te van a pasar tus datos a 5 empresas** — Tus datos van solo a [Reformista]. Punto.
|
||||
- **❌ No te van a obligar a contratar nada** — Recibes tu presupuesto. Tú decides. Si quieres visita gratuita, la pides. Si no, no.
|
||||
- **❌ El precio no es vinculante hasta la visita** — Lo que recibes es **orientativo**. El precio definitivo lo confirma [Reformista] cuando vaya a tu casa, sin compromiso.
|
||||
|
||||
### Bloque "Sobre [Reformista]" (dinámico, lo rellena el panel del reformista)
|
||||
|
||||
- **Foto de equipo / logo**
|
||||
- **Body:** [Bio breve del reformista, su zona, sus años de experiencia, sus especialidades]
|
||||
- **Trust badges:** [Si tiene reviews verificadas, años en activo, asociación a la que pertenece]
|
||||
|
||||
### Formulario (paso 1 del wizard)
|
||||
|
||||
- **Título del paso:** Empecemos por presentarnos
|
||||
- **Subtitle:** Solo necesitamos esto para llamarte. Tarda 30 segundos.
|
||||
|
||||
- **Campo nombre — label:** Tu nombre
|
||||
- **Placeholder:** Cómo prefieres que te llamemos
|
||||
- **Campo teléfono — label:** Móvil
|
||||
- **Placeholder:** Donde te podamos llamar en 2 minutos
|
||||
- **Helper:** *Solo lo usamos para esta llamada. No te llamaremos otra vez sin tu permiso.*
|
||||
- **Campo email — label:** Email
|
||||
- **Placeholder:** Para enviarte una copia del presupuesto
|
||||
- **Helper:** *No te suscribimos a nada.*
|
||||
|
||||
- **Opt-in 1 (LSSI-CE, separado):**
|
||||
☐ *Acepto recibir una llamada en los próximos 5 minutos de [Reformista] o de un asistente virtual en su nombre, para cualificar mi solicitud de presupuesto.*
|
||||
|
||||
- **Opt-in 2 (Grabación):**
|
||||
☐ *Sé que la llamada se grabará y se transcribirá automáticamente para generar mi presupuesto.*
|
||||
|
||||
- **Opt-in 3 (RGPD):**
|
||||
☐ *He leído y acepto la [Política de Privacidad](#) y los [Términos de Uso](#).*
|
||||
|
||||
- **Botón submit:** *Continuar*
|
||||
|
||||
### Subida de fotos (paso 2 del wizard)
|
||||
|
||||
- **Título del paso:** Ahora una foto de tu espacio actual
|
||||
- **Subtitle:** Sube 2-4 fotos de la cocina o baño que quieres reformar. Cuantas más, mejor.
|
||||
|
||||
- **Drag&drop box:** Arrastra tus fotos aquí · o haz click para elegirlas · Acepta JPG / PNG / HEIC · Máx. 10 MB por foto
|
||||
|
||||
- **Tip:** 💡 **Truco para presupuesto más preciso**
|
||||
*Coloca un folio DIN-A4 visible en una de las fotos. La IA lo usará para calcular las medidas reales y afinar más el presupuesto.*
|
||||
|
||||
- **Botón submit:** *Pedir mi presupuesto*
|
||||
|
||||
### Pantalla de espera / cuenta atrás
|
||||
|
||||
- **Título grande:** ⏳ Te llamamos en **1:47**
|
||||
- **Subtitle:** Recibirás una llamada de **[Reformista]** desde el número **[+34 91 XXX XX XX]** (es un fijo de tu provincia, no un teleoperador).
|
||||
- **Body:** Acabamos de enviarte un SMS y un WhatsApp para avisarte. Cuando recibas la llamada, te haremos algunas preguntas sobre tu reforma. Al colgar, te llegará por WhatsApp tu render + presupuesto desglosado.
|
||||
- **Microcopy abajo:** ¿No has recibido la llamada en 5 minutos? *[Vuelve a intentarlo aquí]*
|
||||
|
||||
### FAQ B2C (compacto)
|
||||
|
||||
- **Q:** ¿Es gratis de verdad?
|
||||
**A:** Sí. No nos pagas nada. Es [Reformista] quien paga la herramienta para poder atenderte mejor.
|
||||
|
||||
- **Q:** ¿Quién me va a llamar, una IA o una persona?
|
||||
**A:** Un asistente virtual con voz natural. Te lo dice al inicio de la llamada. Está preparado para entender tu reforma y cualificarla. Si prefieres hablar con una persona, te ponemos en contacto directo con [Reformista].
|
||||
|
||||
- **Q:** ¿El precio que reciba es el que voy a pagar?
|
||||
**A:** Es **orientativo**, calculado con precios de mercado actuales en tu zona y la información que nos des. El precio definitivo lo confirma [Reformista] en visita gratuita a tu casa, donde mide todo con detalle y ajusta.
|
||||
|
||||
- **Q:** ¿Y si no me convence?
|
||||
**A:** No haces nada. No nos pagas, no te suscribes a nada, no te llamamos otra vez. Te quedas con tu render y tu presupuesto para futuras referencias.
|
||||
|
||||
### Microcopy crítico
|
||||
|
||||
- **Antes del CTA hero:** *Tu reforma empieza con una foto*
|
||||
- **Loading mientras se sube la foto:** *Subiendo tu foto... 🏗*
|
||||
- **Loading mientras se procesa:** *Generando tu render y presupuesto... esto puede tardar hasta 60 segundos*
|
||||
- **Confirmación final:** *✅ ¡Listo! Te hemos enviado todo a tu WhatsApp.*
|
||||
|
||||
---
|
||||
|
||||
## 4. Script del agente de voz
|
||||
|
||||
> Estilo: tono cercano sin ser servil, ritmo conversacional español, frases cortas. Permite interrupciones. Usa el nombre del cliente. Si el cliente divaga, le devuelve al hilo amablemente. NUNCA suena a robot ni a teleoperador.
|
||||
|
||||
### Saludo y consentimiento
|
||||
|
||||
> *"Hola [Nombre]. Soy el asistente virtual de [Reformista]. Te llamo para ayudarte con el presupuesto de la reforma que nos pediste hace un momento. Antes de empezar: esta llamada va a grabarse y transcribirse para poder generarte el presupuesto, ¿te parece bien que sigamos?"*
|
||||
|
||||
- **Si responde "sí" / equivalente:** *"Perfecto, gracias. Solo te robaré 3 minutos."*
|
||||
- **Si responde "no" / equivalente:** *"Sin problema, lo respeto. Cuelgo ya y borramos lo grabado. Si cambias de idea, puedes volver a la web. Que tengas un buen día."* → [colgar + borrar grabación parcial + flag `consent_revoked`]
|
||||
- **Si responde con dudas:** *"Es para que [Reformista] sepa qué necesitas exactamente sin tener que repetírselo. Solo lo escuchamos nosotros, no se publica en ningún sitio. ¿Seguimos?"*
|
||||
|
||||
### Bloque 1 — Tipo de reforma y alcance
|
||||
|
||||
> *"Veo en las fotos que es un [baño / cocina / espacio sin identificar — preguntar]. ¿Es una reforma integral, o quieres tocar solo algunas cosas?"*
|
||||
|
||||
[Si responde "integral":]
|
||||
> *"Vale, integral. ¿Tienes pensado mover sanitarios o cambiar la distribución, o vas a respetar lo que ya hay?"*
|
||||
|
||||
[Si responde "solo algunas cosas":]
|
||||
> *"Cuéntame qué quieres cambiar, por orden de prioridad."*
|
||||
|
||||
**Variable detectada:** `tipo_reforma`, `nivel_alcance` (integral / parcial), `cambios_estructurales` (booleano + qué)
|
||||
|
||||
### Bloque 2 — Medidas
|
||||
|
||||
> *"¿Tienes una idea aproximada de los metros del espacio? No hace falta que sea exacto, una estimación me vale."*
|
||||
|
||||
[Si dice número:]
|
||||
> *"Perfecto, anoto [X] m²."*
|
||||
|
||||
[Si dice "no sé":]
|
||||
> *"Tranquilo. ¿Es un baño de los pequeños, los medianos o de los grandes? Tipo el baño de un piso normal de 80 m² sería de unos 5-7 m²."*
|
||||
|
||||
**Variable detectada:** `m2_aproximados`
|
||||
|
||||
### Bloque 3 — Calidad de materiales
|
||||
|
||||
> *"Sobre los materiales, ¿buscas algo más estándar, calidad media, o premium? Para que te haga una idea: en calidad estándar serían materiales tipo Leroy Merlin, en media estaríamos en marcas como Roca o Porcelanosa básica, y en premium ya hablamos de marcas top tipo Porcelanosa serie alta o equivalentes."*
|
||||
|
||||
**Variable detectada:** `calidad_materiales` (basica / media / premium)
|
||||
|
||||
### Bloque 4 — Presupuesto target
|
||||
|
||||
> *"Algo importante para no perder tu tiempo: ¿tienes una idea de lo que te gustaría no pasar? No tienes que decirme un número exacto, pero un techo me ayuda a ajustar lo que te enseño."*
|
||||
|
||||
[Si responde "no sé / lo que cueste":]
|
||||
> *"Vale, sin techo concreto. Te haré un presupuesto realista con la calidad que me has dicho."*
|
||||
|
||||
**Variable detectada:** `presupuesto_target` (rango o null)
|
||||
|
||||
### Bloque 5 — Urgencia
|
||||
|
||||
> *"¿Para cuándo te gustaría tenerlo terminado? Para esta semana, este mes, en unos meses…"*
|
||||
|
||||
**Variable detectada:** `urgencia` (urgente / 1-3 meses / 3-6 meses / sin prisa)
|
||||
|
||||
### Bloque 6 — Preferencias estéticas / extras
|
||||
|
||||
> *"Por último: ¿tienes algún estilo en la cabeza, tipo más moderno, más clásico, o te dejas asesorar? Y si hay algo que sí o sí quieres incluir o evitar, dímelo ahora."*
|
||||
|
||||
**Variable detectada:** `estilo_preferido`, `must_have`, `must_avoid`
|
||||
|
||||
### Cierre
|
||||
|
||||
> *"Genial [Nombre]. Con esto tengo todo lo que necesitamos. En menos de 1 minuto te llegará por WhatsApp el render de cómo quedaría tu reforma y el presupuesto desglosado por partidas. Recuerda que es orientativo: si te convence, [Reformista] irá gratis a tu casa para confirmar las medidas reales y ajustar el precio final. ¿Alguna cosa más antes de colgar?"*
|
||||
|
||||
[Si pregunta algo concreto sobre la reforma:]
|
||||
> Responder con conocimiento del catálogo del reformista. Si no se sabe: *"Buena pregunta. Eso lo verá [Reformista] en la visita, que para esto sí necesita ver el espacio. Pero anoto que te interesa."*
|
||||
|
||||
[Si no:]
|
||||
> *"Perfecto. Muchas gracias por tu tiempo, [Nombre]. Mira tu WhatsApp en un minuto. Hasta luego."* → [colgar]
|
||||
|
||||
### Detección de cambios estructurales (durante toda la conversación)
|
||||
|
||||
> Si en cualquier momento el cliente menciona: *"mover el inodoro / cambiar dónde está la ducha / tirar un tabique / cambiar la distribución / ampliar / cambiar ventanas"*, el agente activa el flag `licencia_required = true` y al final añade:
|
||||
|
||||
> *"Una cosa importante: como vas a [mover sanitarios / tocar muros / cambiar distribución], esta obra puede necesitar licencia urbanística de tu ayuntamiento. En el presupuesto te incluyo una estimación de lo que costaría la licencia y el proyecto técnico, para que tengas la foto completa. [Reformista] te lo confirma exactamente en la visita."*
|
||||
|
||||
### Manejo de situaciones difíciles
|
||||
|
||||
| Situación | Respuesta del agente |
|
||||
|---|---|
|
||||
| Cliente molesto: *"Estaba en otra cosa"* | *"Perdona la interrupción. ¿Te llamo en un rato? Dime cuándo te va mejor."* → [reprogramar callback] |
|
||||
| Cliente piensa que es spam: *"¿Quién os ha dado mi número?"* | *"Tú nos lo diste hace [X] minutos en la web de [Reformista] al pedir tu presupuesto. Si no fuiste tú, dímelo y borramos todo ahora mismo."* |
|
||||
| Cliente confunde con humano: *"¿Eres una persona?"* | *"No, soy un asistente virtual de [Reformista]. Estoy aquí para cualificar tu solicitud rápidamente. ¿Prefieres hablar con una persona? Te conecto."* |
|
||||
| Cliente quiere comprar ya: *"Vale, contrato ya"* | *"Genial. El presupuesto que te llega por WhatsApp es orientativo, pero para cerrarlo hace falta la visita de [Reformista]. ¿Tienes algún día esta semana que te venga bien? Le aviso ahora mismo."* |
|
||||
| Cliente regatea precios al teléfono | *"Te entiendo, pero el precio definitivo lo confirma [Reformista] en visita, no yo desde aquí. En la visita podéis hablarlo juntos y ajustarlo."* |
|
||||
|
||||
---
|
||||
|
||||
## 5. Plantillas WhatsApp + SMS
|
||||
|
||||
### SMS pre-llamada (Zadarma)
|
||||
|
||||
> *Hola [Nombre], soy [Reformista]. En 2 min te llamamos desde [+34 91 XXX XX XX] (fijo de tu provincia) para tu presupuesto de reforma. Si no puedes ahora, responde STOP.*
|
||||
|
||||
### WhatsApp pre-llamada (Evolution / WA Business)
|
||||
|
||||
> 🛠 *Hola [Nombre], soy [Reformista].*
|
||||
>
|
||||
> En menos de 2 minutos te llama nuestro asistente desde **[+34 91 XXX XX XX]** para cualificar tu presupuesto de reforma.
|
||||
>
|
||||
> Al colgar recibirás aquí el render de cómo quedaría tu espacio + presupuesto desglosado.
|
||||
>
|
||||
> *¿No puedes hablar ahora? Responde con el horario que te vaya bien y te llamamos cuando puedas.*
|
||||
|
||||
### WhatsApp entrega del presupuesto (post-llamada)
|
||||
|
||||
> ✨ *Aquí lo tienes, [Nombre].*
|
||||
>
|
||||
> [imagen del render]
|
||||
>
|
||||
> Así quedaría tu [baño / cocina] con [calidad media / premium], según lo que hablamos hace un momento.
|
||||
>
|
||||
> 📄 *Presupuesto orientativo:* [PDF adjunto]
|
||||
> 💰 *Rango estimado:* [4.500 - 6.200 €]
|
||||
>
|
||||
> ⚠️ Esto es una **estimación**. El precio definitivo lo confirma [Reformista] en visita gratuita en tu casa, donde mide todo con detalle.
|
||||
>
|
||||
> 👉 *¿Te gustaría que [Reformista] vaya a verlo gratis?*
|
||||
> [Botón: Sí, pídeme la visita] [Botón: Tengo dudas, contestadme]
|
||||
|
||||
### WhatsApp follow-up (24h sin respuesta)
|
||||
|
||||
> 👋 *Hola [Nombre], ¿pudiste mirar el presupuesto que te mandamos ayer?*
|
||||
>
|
||||
> Si tienes cualquier duda sobre el render o las partidas, dímelo aquí mismo. Si quieres que [Reformista] vaya a verlo gratis, contesto y le aviso.
|
||||
>
|
||||
> *Si ya no te interesa, también puedes decírmelo. Sin problema.*
|
||||
|
||||
### WhatsApp 48h sin respuesta (intento final)
|
||||
|
||||
> 🙏 *[Nombre], no te molesto más.*
|
||||
>
|
||||
> Si en algún momento decides retomar tu reforma, vuelve a [Reformista] cuando quieras. Tu presupuesto y render quedan guardados.
|
||||
>
|
||||
> *Te dejo trabajar. Suerte con la decisión.*
|
||||
|
||||
---
|
||||
|
||||
## 6. Email transaccional al reformista (notificación de lead)
|
||||
|
||||
### Asunto
|
||||
|
||||
> 🔥 *Nuevo lead cualificado: [Nombre] · [Tipo reforma] · ~[X.XXX €]*
|
||||
|
||||
### Cuerpo (texto plano + opción HTML)
|
||||
|
||||
> Hola [Reformista],
|
||||
>
|
||||
> Acaba de cualificarse un nuevo lead. Resumen rápido:
|
||||
>
|
||||
> 👤 **[Nombre]** · [Tel] · [Email] · [Provincia]
|
||||
> 🏠 [Tipo reforma], ~[X] m², calidad [básica/media/premium]
|
||||
> 💰 Presupuesto target: [Y €] · Estimado generado: [Z €]
|
||||
> ⏰ Urgencia: [X]
|
||||
> 🏗 Cambios estructurales: [Sí/No · si sí, qué]
|
||||
> 📞 Llamada de [X min] · Cliente [recibió/no recibió] presupuesto por WhatsApp
|
||||
>
|
||||
> 📂 [Ver lead completo en el panel] (con transcripción, audio, render y PDF)
|
||||
>
|
||||
> ⚡ **Acción recomendada:** [Llama en las próximas 24h al cliente para concertar visita. Los leads contactados < 24h convierten 3× más.]
|
||||
>
|
||||
> —
|
||||
> Reformix
|
||||
> *¿Quejas, dudas, ideas? Responde a este mismo email.*
|
||||
|
||||
---
|
||||
|
||||
## 7. Microcopy del panel del reformista
|
||||
|
||||
| Elemento | Texto |
|
||||
|---|---|
|
||||
| Empty state lista de leads | *Todavía no tienes leads. Cuando entren, los verás aquí con todo (transcripción, render, presupuesto y datos del cliente).* |
|
||||
| Botón nuevo lead manual | *+ Añadir lead manual* |
|
||||
| Tag "Nuevo" | 🆕 Nuevo |
|
||||
| Tag "Contactado" | 📞 Contactado |
|
||||
| Tag "Visita agendada" | 📅 Visita |
|
||||
| Tag "Ganado" | ✅ Ganado |
|
||||
| Tag "Perdido" | ❌ Perdido |
|
||||
| Tooltip botón "marcar ganado" | *Al marcar como ganado te pediremos el precio final firmado. Lo usamos para calcular tu sello "Precio Justo" y mejorar futuros presupuestos.* |
|
||||
| Modal precio final — título | *¿Cuál ha sido el precio final firmado?* |
|
||||
| Modal precio final — body | *Tu estimación fue de [X €]. ¿En cuánto cerraste finalmente con el cliente?* |
|
||||
| Modal precio final — input label | *Precio final firmado (€)* |
|
||||
| Modal precio final — submit | *Guardar y cerrar lead* |
|
||||
| Onboarding paso 1 | *Empecemos con lo básico: ¿cómo se llama tu empresa?* |
|
||||
| Onboarding paso 2 | *Tu logo (lo mostraremos a tus clientes)* |
|
||||
| Onboarding paso 3 | *¿En qué provincias trabajas?* |
|
||||
| Onboarding final CTA | *¡Listo! Probar mi asistente con una llamada de prueba* |
|
||||
| Error: token expirado | *Tu enlace ha caducado por seguridad. Te acabamos de enviar uno nuevo a tu email.* |
|
||||
|
||||
---
|
||||
|
||||
## 8. Microcopy de errores y estados (cliente final)
|
||||
|
||||
| Situación | Texto |
|
||||
|---|---|
|
||||
| Email mal formado | *Hmm, ese email no se ve bien. ¿Lo revisas?* |
|
||||
| Teléfono inválido | *Necesitamos un móvil español para llamarte. ¿Lo revisas?* |
|
||||
| Opt-in sin marcar | *Para poder llamarte necesitamos tu permiso. Marca la casilla.* |
|
||||
| Foto demasiado grande | *Esa foto pesa más de 10 MB. ¿Subes otra o la comprimes?* |
|
||||
| Formato de foto no válido | *Aceptamos JPG, PNG y HEIC. Cualquier foto del móvil sirve.* |
|
||||
| Menos de 2 fotos | *Necesitamos al menos 2 fotos para hacerte el presupuesto.* |
|
||||
| Más de 4 fotos | *Con 4 fotos tenemos suficiente. Quita alguna y vuelve a intentarlo.* |
|
||||
| Error inesperado | *Algo no fue bien. No es culpa tuya. Pruébalo otra vez en unos segundos.* |
|
||||
| Fuera de horario | *Ahora mismo es fuera de horario de llamadas. Te llamamos mañana a primera hora.* |
|
||||
| Lista Robinson detectada | *Tu número está en la Lista Robinson de exclusión publicitaria. Te hemos enviado un email con un link para que tú nos pidas la llamada cuando quieras.* |
|
||||
|
||||
---
|
||||
|
||||
## Checks
|
||||
|
||||
### Authenticity Check ✅
|
||||
|
||||
- **¿Pasa el test de las 3 preguntas?** Sí — usa lenguaje del sector (canela fina, showrooming, "se van con tu trabajo"), incluye opinión clara ("el sector es deshonesto, nosotros construimos uno justo"), no abre con definiciones.
|
||||
- **¿Se eliminan señales de IA?** Sí — listas asimétricas, opens con tensión ("Cada presupuesto que haces es una apuesta"), concesiones honestas ("Es orientativo. Tu visita sigue siendo la que cierra"), datos concretos en vez de adjetivos vacíos.
|
||||
- **Frase única de marca:** *"Construimos un mercado de reformas más justo. Para los profesionales que cumplen lo que prometen."*
|
||||
|
||||
### Social Proof Audit ✅
|
||||
|
||||
- ¿Hay ≥ 5 piezas de social proof en cada landing? — En B2B: 3 datos del sector + 2 testimonios (a recoger durante validación) + waitlist count + sello "Precio Justo" (cuando exista). En B2C: testimonios del reformista que tiene embebido el widget, reviews, años en activo, asociaciones.
|
||||
- ¿≥ 1 con resultado cuantificable? — Sí (78 %, 80 %, 10-50K€)
|
||||
- ¿Cerca de cada CTA? — Sí, debajo del hero y del CTA final con trust text
|
||||
|
||||
### Scan Test ✅
|
||||
|
||||
- ¿Headlines + bold + CTAs cuentan la historia solos? — Sí: *"Tus clientes verán su reforma antes de llamarte"* → *"Cada presupuesto que haces es una apuesta"* → *"Le pones la herramienta en tu web. El resto lo hace ella."* → *"Tu próximo lead empieza con una foto. ¿Empezamos?"*
|
||||
- ¿Front-loading en primeras 5 palabras? — Sí en H1 y todos los pasos del "Cómo funciona"
|
||||
|
||||
---
|
||||
|
||||
## Principios aplicados en todo el documento
|
||||
|
||||
1. **Beneficios > Features** — "Tus clientes verán su reforma" > "Render IA con SDXL"
|
||||
2. **Específico > Genérico** — "Cierra una obra extra al año y te paga el SaaS 4×" > "Mejora tu ROI"
|
||||
3. **Activo > Pasivo** — "Te llamamos en 2 minutos" > "Recibirás una llamada en 2 minutos"
|
||||
4. **Cliente > Nosotros** — "Tu cliente cuelga y ya tiene el presupuesto" > "Generamos presupuestos para tu cliente"
|
||||
5. **Prueba > Afirmación** — Datos del sector, testimonios cuantificables, sello certificado verificable
|
||||
6. **Corto > Largo** — Frases de 2-3 líneas. Bullets antes que párrafos. CTAs de 3-4 palabras.
|
||||
7. **Real > Placeholder** — Cada palabra de los mockups y la landing debe salir de aquí.
|
||||
486
design/design-system.md
Normal file
@@ -0,0 +1,486 @@
|
||||
# Reformix — Design System
|
||||
|
||||
**Fecha:** 24-may-2026
|
||||
**Fuente:** [specs.md](../specs.md) + [copy/COPY-GUIDE.md](../copy/COPY-GUIDE.md) + [negocio/modelo-negocio.md](../negocio/modelo-negocio.md)
|
||||
**Stack:** Next.js 14 + Tailwind + shadcn/ui
|
||||
|
||||
> **Filosofía:** Cada decisión visual aquí tiene traducción directa a token de código en `design-tokens.css` y `tailwind.config.ext.js`. Si un color no está en los tokens, no existe. Si un espaciado no está en la escala, no se usa.
|
||||
|
||||
---
|
||||
|
||||
## 1. Contexto y personalidad de marca
|
||||
|
||||
### Proyecto
|
||||
|
||||
**Reformix** — *"Un mercado de reformas más justo. Para los profesionales que cumplen lo que prometen."*
|
||||
|
||||
SaaS B2B para empresas pequeñas de reformas en España, con captación de leads del cliente final a través de agente IA de voz + render + presupuesto entregado por WhatsApp.
|
||||
|
||||
### Audiencias visuales
|
||||
|
||||
| Audiencia | Perfil | Implicación visual |
|
||||
|---|---|---|
|
||||
| **Reformista** (paga el SaaS) | Hombre 35-55, técnico de obra, perfil tech medio-bajo, usa WhatsApp, no le impresiona el diseño chulo, le impresiona la utilidad clara | Cero hipsterismo, claridad brutal, jerarquía evidente, datos sobre estilo |
|
||||
| **Cliente final** (usa el widget) | Hombre/mujer 30-65, propietario de vivienda, dispuesto a invertir 10-50 K€, tiene miedo de equivocarse | Tranquilizador, tipográficamente legible, tonos cálidos que no asusten, evitar agresividad visual |
|
||||
|
||||
### Personalidad de marca
|
||||
|
||||
| Eje | Valor | Por qué |
|
||||
|---|---|---|
|
||||
| **Adjetivo 1** | **Profesional** | Es una herramienta de trabajo, no de juego. Los reformistas dependen de su credibilidad. |
|
||||
| **Adjetivo 2** | **Cercano** | El producto compite con marketplaces fríos (Habitissimo) y CRMs aburridos. La cercanía es diferencial. |
|
||||
| **Adjetivo 3** | **Honesto** | El sector está "deshonesto" según la entrevista. Posicionarnos como árbitros justos exige una estética que respalde eso. |
|
||||
| **NO somos** | **Corporativo frío · spammy · hipster techie** | Nada de azul corporativo genérico. Nada de "next-gen AI-powered platform". Nada de Comic Sans irónico ni gradientes psicodélicos. |
|
||||
|
||||
### Referencias visuales
|
||||
|
||||
- **Linear** — rigor tipográfico, jerarquía clara, dark mode sólido.
|
||||
- **Notion** — calidez, accesibilidad, espacios generosos.
|
||||
- **Stripe** — profesionalidad sin frialdad, tipografía con carácter.
|
||||
- **Holded** (referencia española B2B) — confiable, claro, no innovador agresivo.
|
||||
|
||||
**NO referencia:** Habitissimo, Wallapop, idealista (demasiado marketplace/portal); cualquier "AI startup template" de Vercel; landings con animaciones 3D innecesarias.
|
||||
|
||||
---
|
||||
|
||||
## 2. Identidad verbal
|
||||
|
||||
> Reglas detalladas en [copy/COPY-GUIDE.md](../copy/COPY-GUIDE.md). Resumen aquí para alinear con visual.
|
||||
|
||||
### Tono
|
||||
|
||||
- **Tuteo** universal. Reformista y cliente final.
|
||||
- **Frases cortas**, 2-3 líneas máximo por párrafo.
|
||||
- **Honestidad explícita** sobre limitaciones: *"Es orientativo. Tu visita sigue siendo la que cierra."*
|
||||
- **Lenguaje del sector** cuando aplique: showrooming, calidad básica/media/premium, ticket medio.
|
||||
- **Sin jerga corporativa**: no "optimizar pipeline", no "next-gen", no "transformación digital".
|
||||
|
||||
### Naming
|
||||
|
||||
- **Producto:** Reformix (sin tilde, sin guión, una palabra).
|
||||
- **Producto interno:** *Asistente IA* (cara visible del agente de voz) en vez de "voicebot" o "agente conversacional".
|
||||
- **Métricas internas para reformista:** *Leads cualificados* (no "captados" ni "prospects"), *Visita gratuita*, *Presupuesto orientativo* (no "presupuesto").
|
||||
- **Planes:** Starter / Pro / Business (estándar SaaS).
|
||||
- **Sello futuro:** *Precio Justo Certificado* (sin "®" ni tipo corporativo). Mayúscula inicial siempre.
|
||||
|
||||
---
|
||||
|
||||
## 3. Color
|
||||
|
||||
### 3.1 Paleta primaria — "Architectural Warmth"
|
||||
|
||||
Decisión: rechazamos el azul SaaS genérico. Adoptamos una paleta inspirada en la cerámica y los acabados naturales — habla el lenguaje del sector sin caer en lo rústico.
|
||||
|
||||
#### Brand colors
|
||||
|
||||
| Token | Hex | Uso | Justificación |
|
||||
|---|---|---|---|
|
||||
| `--color-primary-900` | `#1F3A2E` | Texto en superficies claras, headings | Verde bosque oscuro: serio, sólido, asociado a "natural" sin ser ecológico panfletario |
|
||||
| `--color-primary-700` | `#2F5C46` | Botones primarios, links activos | Verde oliva profundo: profesional, transmite "experiencia" |
|
||||
| `--color-primary-500` | `#4D8A6D` | Acento medio, hover de botones | |
|
||||
| `--color-primary-300` | `#A8C8B5` | Backgrounds suaves, badges | |
|
||||
| `--color-primary-100` | `#E8F0EB` | Backgrounds muy suaves, hover states | |
|
||||
| `--color-primary-50` | `#F4F8F5` | Background de sección destacada | |
|
||||
|
||||
#### Accent (terracota)
|
||||
|
||||
| Token | Hex | Uso |
|
||||
|---|---|---|
|
||||
| `--color-accent-900` | `#7A3517` | Énfasis muy fuerte (rara vez) |
|
||||
| `--color-accent-600` | `#C25E33` | CTAs secundarios destacados, alertas no críticas, highlights |
|
||||
| `--color-accent-400` | `#E08A5F` | Iconos decorativos, badges |
|
||||
| `--color-accent-100` | `#FAEAE0` | Background de bloques destacados |
|
||||
|
||||
> El terracota se usa con **moderación**: el CTA principal es verde oliva (primary-700), el terracota es para llamar la atención sobre un solo elemento en cada vista.
|
||||
|
||||
### 3.2 Neutrales (Stone — warm gray con tinte oliva)
|
||||
|
||||
| Token | Hex | Uso |
|
||||
|---|---|---|
|
||||
| `--color-neutral-950` | `#161816` | Texto sobre fondo blanco — el negro más cálido |
|
||||
| `--color-neutral-900` | `#262826` | Headings sobre fondo claro |
|
||||
| `--color-neutral-700` | `#4A4E4A` | Texto body principal |
|
||||
| `--color-neutral-500` | `#7A807A` | Texto secundario, placeholders |
|
||||
| `--color-neutral-400` | `#9DA29D` | Texto disabled, separadores |
|
||||
| `--color-neutral-300` | `#C4C9C4` | Bordes |
|
||||
| `--color-neutral-200` | `#DDE0DD` | Bordes suaves, líneas divisorias |
|
||||
| `--color-neutral-100` | `#EDEFED` | Backgrounds muy suaves, cards alternas |
|
||||
| `--color-neutral-50` | `#F7F8F7` | Background secundario |
|
||||
| `--color-white` | `#FFFFFF` | Background principal, surfaces |
|
||||
|
||||
### 3.3 Escala semántica
|
||||
|
||||
| Token | Hex | Uso |
|
||||
|---|---|---|
|
||||
| `--color-success-700` | `#2D7A4F` | Texto de success en badges |
|
||||
| `--color-success-500` | `#4DAA73` | Iconos de success, bordes |
|
||||
| `--color-success-100` | `#E0F0E6` | Background de mensajes de success |
|
||||
| `--color-warning-700` | `#9A6B0E` | Texto warning |
|
||||
| `--color-warning-500` | `#DA9A2C` | Iconos warning |
|
||||
| `--color-warning-100` | `#FAEFD3` | Background warning (banner licencia urbanística) |
|
||||
| `--color-danger-700` | `#A8331F` | Texto error |
|
||||
| `--color-danger-500` | `#D85940` | Iconos error |
|
||||
| `--color-danger-100` | `#FAE0DA` | Background error |
|
||||
| `--color-info-700` | `#1F5C7A` | Texto info |
|
||||
| `--color-info-500` | `#3D8AAA` | Iconos info |
|
||||
| `--color-info-100` | `#DDEDF5` | Background info |
|
||||
|
||||
### 3.4 Surfaces y combinaciones validadas (WCAG AA)
|
||||
|
||||
| Combinación | Contraste | OK |
|
||||
|---|---|---|
|
||||
| `neutral-950` sobre `white` | 16.5:1 | ✅ AAA |
|
||||
| `neutral-700` sobre `white` | 7.8:1 | ✅ AAA |
|
||||
| `neutral-500` sobre `white` | 4.6:1 | ✅ AA |
|
||||
| `white` sobre `primary-700` | 7.2:1 | ✅ AAA — botón primario |
|
||||
| `white` sobre `accent-600` | 4.8:1 | ✅ AA — botón terracota |
|
||||
| `primary-900` sobre `primary-50` | 12.4:1 | ✅ AAA — texto en bloques destacados |
|
||||
| `danger-700` sobre `danger-100` | 6.1:1 | ✅ AA — mensajes de error |
|
||||
|
||||
> **Regla:** ningún texto debe usar `neutral-400` o más claro sobre fondo blanco (no pasa AA).
|
||||
|
||||
---
|
||||
|
||||
## 4. Tipografía
|
||||
|
||||
### 4.1 Selección
|
||||
|
||||
| Rol | Fuente | Por qué |
|
||||
|---|---|---|
|
||||
| **Display + Headings (H1, H2)** | **Instrument Serif** (Google Fonts) | Serif moderna con carácter. Da "peso editorial" que diferencia frente al SaaS-Inter genérico. Suena profesional sin ser corporativo. Pesa muy poco. |
|
||||
| **Sub-headings (H3, H4, H5)** | **Inter** | Misma familia que el body para coherencia. Semibold da jerarquía sin cambio de fuente. |
|
||||
| **Body + UI** | **Inter** | Estándar de legibilidad universal. Funciona en móvil. La conocen todos los devs. |
|
||||
| **Mono (rara vez — código, ID, datos técnicos)** | **JetBrains Mono** | Estándar dev-friendly. Solo para panel de leads y debug. |
|
||||
|
||||
> **Decisión consciente:** evitar fuentes "techie" tipo Geist o IBM Plex. Inter es boring pero universal, y Instrument Serif aporta el carácter sin pedir permiso.
|
||||
|
||||
### 4.2 Escala tipográfica (modular ratio 1.25 — Major Third)
|
||||
|
||||
| Token | Tamaño | Line-height | Uso típico |
|
||||
|---|---|---|---|
|
||||
| `text-xs` | 12px / 0.75rem | 1.5 | Captions, footnotes, badges |
|
||||
| `text-sm` | 14px / 0.875rem | 1.5 | Labels de form, secondary text, helper |
|
||||
| `text-base` | 16px / 1rem | 1.6 | **Body por defecto** (mínimo legible móvil) |
|
||||
| `text-lg` | 18px / 1.125rem | 1.5 | Body grande, intros, microcopy hero |
|
||||
| `text-xl` | 20px / 1.25rem | 1.4 | H5, subhead pequeño |
|
||||
| `text-2xl` | 24px / 1.5rem | 1.3 | H4 |
|
||||
| `text-3xl` | 30px / 1.875rem | 1.3 | H3 |
|
||||
| `text-4xl` | 36px / 2.25rem | 1.2 | H2 |
|
||||
| `text-5xl` | 48px / 3rem | 1.1 | H1 mobile, headings de sección |
|
||||
| `text-6xl` | 60px / 3.75rem | 1.05 | H1 desktop, hero |
|
||||
| `text-7xl` | 72px / 4.5rem | 1.0 | Display hero desktop (raro) |
|
||||
|
||||
### 4.3 Pesos cargados
|
||||
|
||||
| Familia | Pesos | Justificación |
|
||||
|---|---|---|
|
||||
| Instrument Serif | 400 (regular), 400 italic | Diseñada para una sola weight, pero italic da énfasis en titulares |
|
||||
| Inter | 400, 500, 600, 700 | Regular body, medium labels, semibold botones y H3-H5, bold solo para énfasis fuerte |
|
||||
| JetBrains Mono | 400, 500 | Muy poco uso |
|
||||
|
||||
### 4.4 Reglas de uso
|
||||
|
||||
- **H1 hero (desktop):** Instrument Serif, `text-6xl`, regular. Sin negrita.
|
||||
- **H1 hero (mobile):** Instrument Serif, `text-5xl`, regular.
|
||||
- **H2 sección:** Instrument Serif, `text-4xl`, regular.
|
||||
- **H3-H5:** Inter Semibold, `text-3xl` / `text-2xl` / `text-xl`.
|
||||
- **Body por defecto:** Inter Regular, `text-base`, line-height 1.6, color `neutral-700`.
|
||||
- **Labels de form:** Inter Medium, `text-sm`, color `neutral-900`.
|
||||
- **Botones:** Inter Semibold, `text-base` (md) / `text-sm` (sm) / `text-lg` (lg).
|
||||
- **Captions y helper text:** Inter Regular, `text-sm`, color `neutral-500`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Espaciado y layout
|
||||
|
||||
### 5.1 Escala de espaciado (base 4px — coherente con Tailwind)
|
||||
|
||||
| Token | Valor | Uso típico |
|
||||
|---|---|---|
|
||||
| `space-1` | 4px / 0.25rem | Gaps mínimos entre iconos y texto |
|
||||
| `space-2` | 8px / 0.5rem | Padding interno compacto (badges, pills) |
|
||||
| `space-3` | 12px / 0.75rem | Gap entre elementos relacionados |
|
||||
| `space-4` | 16px / 1rem | Padding estándar de inputs y cards pequeños |
|
||||
| `space-6` | 24px / 1.5rem | Separación entre bloques de un mismo grupo |
|
||||
| `space-8` | 32px / 2rem | Padding de cards grandes, márgenes de sección móvil |
|
||||
| `space-12` | 48px / 3rem | Separación entre secciones móvil |
|
||||
| `space-16` | 64px / 4rem | Separación entre secciones desktop |
|
||||
| `space-24` | 96px / 6rem | Padding vertical del hero |
|
||||
| `space-32` | 128px / 8rem | Separación generosa entre bloques desktop grandes |
|
||||
|
||||
### 5.2 Contenedores y grid
|
||||
|
||||
| Token | Valor | Uso |
|
||||
|---|---|---|
|
||||
| `container-narrow` | 720px | Bloques de lectura largos (FAQ, T&C) |
|
||||
| `container-default` | 1200px | Landings, app general |
|
||||
| `container-wide` | 1440px | Panel del reformista con muchas columnas |
|
||||
| `gutter-mobile` | 24px | Padding lateral móvil |
|
||||
| `gutter-desktop` | 48px | Padding lateral desktop |
|
||||
|
||||
### 5.3 Breakpoints (Tailwind defaults)
|
||||
|
||||
| Token | Valor | Dispositivo |
|
||||
|---|---|---|
|
||||
| `sm` | 640px | Móvil grande / phablet |
|
||||
| `md` | 768px | Tablet portrait |
|
||||
| `lg` | 1024px | Tablet landscape / desktop pequeño |
|
||||
| `xl` | 1280px | Desktop estándar |
|
||||
| `2xl` | 1536px | Desktop grande |
|
||||
|
||||
---
|
||||
|
||||
## 6. Componentes base
|
||||
|
||||
### 6.1 Border radius
|
||||
|
||||
| Token | Valor | Uso |
|
||||
|---|---|---|
|
||||
| `rounded-sm` | 4px | Tags, badges pequeños |
|
||||
| `rounded-md` | 6px | Inputs, controles pequeños |
|
||||
| `rounded-lg` | 10px | Botones, cards, contenedores |
|
||||
| `rounded-xl` | 14px | Cards destacadas, hero blocks |
|
||||
| `rounded-2xl` | 20px | Modales, popovers grandes |
|
||||
| `rounded-full` | 9999px | Avatares, pills de estado, iconos circulares |
|
||||
|
||||
> **Personalidad:** redondeado generoso (10-14px en cards) — friendly, moderno, pero no infantil (evitamos 24px+ en bloques que no sean decorativos).
|
||||
|
||||
### 6.2 Sombras (warm, sutiles)
|
||||
|
||||
| Token | Valor | Uso |
|
||||
|---|---|---|
|
||||
| `shadow-xs` | `0 1px 2px rgba(22, 24, 22, 0.05)` | Bordes muy sutiles, divisores elevados |
|
||||
| `shadow-sm` | `0 1px 3px rgba(22, 24, 22, 0.08), 0 1px 2px rgba(22, 24, 22, 0.04)` | Cards estáticos, inputs |
|
||||
| `shadow-md` | `0 4px 6px rgba(22, 24, 22, 0.07), 0 2px 4px rgba(22, 24, 22, 0.04)` | Cards interactivos, hover |
|
||||
| `shadow-lg` | `0 10px 15px rgba(22, 24, 22, 0.08), 0 4px 6px rgba(22, 24, 22, 0.05)` | Dropdowns, popovers |
|
||||
| `shadow-xl` | `0 20px 25px rgba(22, 24, 22, 0.1), 0 10px 10px rgba(22, 24, 22, 0.04)` | Modales |
|
||||
| `shadow-glow` | `0 0 0 4px rgba(47, 92, 70, 0.15)` | Focus ring (primary-700 al 15 %) |
|
||||
|
||||
> Sombras con base de `neutral-950` (no negro puro) para coherencia con la paleta cálida.
|
||||
|
||||
### 6.3 Botones
|
||||
|
||||
| Variante | Background | Texto | Border | Uso |
|
||||
|---|---|---|---|---|
|
||||
| **Primary** | `primary-700` | `white` | — | CTA principal único por vista. *"Empezar gratis 14 días"*, *"Quiero mi presupuesto"* |
|
||||
| **Secondary** | `white` | `primary-700` | `primary-700` 1px | Acciones secundarias. *"Ver demo"* |
|
||||
| **Accent** | `accent-600` | `white` | — | Solo para acciones de waitlist o "Próximamente". Máximo 1 por vista. |
|
||||
| **Ghost** | `transparent` | `neutral-700` | — | Navegación, acciones de tercer nivel |
|
||||
| **Danger** | `danger-500` | `white` | — | Eliminar lead, revocar consentimiento |
|
||||
| **Link** | `transparent` | `primary-700` underline | — | Enlaces dentro de texto |
|
||||
|
||||
#### Estados
|
||||
|
||||
| Estado | Modificación |
|
||||
|---|---|
|
||||
| Default | Como tabla arriba |
|
||||
| Hover | Background −10 % luminosidad / opacity 0.95 |
|
||||
| Active | Background −15 % luminosidad / scale-95 |
|
||||
| Disabled | Opacity 0.5, cursor not-allowed |
|
||||
| Loading | Spinner inline, texto invisible o "Cargando..." |
|
||||
| Focus | `shadow-glow` (focus ring 4px al 15 % primary) |
|
||||
|
||||
#### Tamaños
|
||||
|
||||
| Tamaño | Padding | Font | Height |
|
||||
|---|---|---|---|
|
||||
| `sm` | `px-3 py-1.5` | `text-sm` semibold | 32px |
|
||||
| `md` (default) | `px-4 py-2.5` | `text-base` semibold | 44px |
|
||||
| `lg` | `px-6 py-3.5` | `text-lg` semibold | 52px |
|
||||
|
||||
### 6.4 Inputs
|
||||
|
||||
| Atributo | Valor |
|
||||
|---|---|
|
||||
| Background | `white` |
|
||||
| Border default | `neutral-300` 1px |
|
||||
| Border focus | `primary-700` 2px + `shadow-glow` |
|
||||
| Border error | `danger-500` 2px |
|
||||
| Padding | `px-4 py-2.5` |
|
||||
| Border radius | `rounded-md` |
|
||||
| Font | `text-base` regular |
|
||||
| Color texto | `neutral-900` |
|
||||
| Color placeholder | `neutral-500` |
|
||||
| Label | `text-sm` medium, `neutral-900`, `mb-1.5` |
|
||||
| Helper | `text-sm` regular, `neutral-500`, `mt-1.5` |
|
||||
| Error message | `text-sm` regular, `danger-700`, `mt-1.5` |
|
||||
|
||||
### 6.5 Cards
|
||||
|
||||
| Atributo | Valor |
|
||||
|---|---|
|
||||
| Background | `white` |
|
||||
| Border | `neutral-200` 1px |
|
||||
| Border radius | `rounded-xl` (14px) |
|
||||
| Padding | `p-6` mobile · `p-8` desktop |
|
||||
| Shadow default | `shadow-sm` |
|
||||
| Shadow hover (si interactivo) | `shadow-md` + transición 200ms |
|
||||
|
||||
### 6.6 Badges y pills (estados de lead)
|
||||
|
||||
| Estado | Background | Texto | Icon |
|
||||
|---|---|---|---|
|
||||
| Nuevo | `primary-100` | `primary-900` | 🆕 |
|
||||
| Contactado | `info-100` | `info-700` | 📞 |
|
||||
| Visita agendada | `warning-100` | `warning-700` | 📅 |
|
||||
| Ganado | `success-100` | `success-700` | ✅ |
|
||||
| Perdido | `neutral-100` | `neutral-700` | ❌ |
|
||||
|
||||
Estilo: `rounded-full`, `px-2.5 py-0.5`, `text-xs` semibold.
|
||||
|
||||
### 6.7 Alerts / banners
|
||||
|
||||
| Tipo | Background | Border-left 4px | Texto | Uso |
|
||||
|---|---|---|---|---|
|
||||
| Info | `info-100` | `info-500` | `info-700` | Banner aviso |
|
||||
| Warning | `warning-100` | `warning-500` | `warning-700` | **"Esta obra puede requerir licencia urbanística"** |
|
||||
| Success | `success-100` | `success-500` | `success-700` | Confirmación de envío |
|
||||
| Danger | `danger-100` | `danger-500` | `danger-700` | Error de submit |
|
||||
|
||||
Padding `p-4`, radius `rounded-lg`, icono 20px a la izquierda.
|
||||
|
||||
---
|
||||
|
||||
## 7. Iconografía
|
||||
|
||||
### Librería: **Lucide** (compatible nativamente con shadcn/ui)
|
||||
|
||||
- **Tamaño base inline:** 16px (junto a texto inline)
|
||||
- **Tamaño base UI:** 20px (botones, alerts, badges)
|
||||
- **Tamaño standalone:** 24px (hero, features destacadas)
|
||||
- **Stroke width:** 1.75 (Lucide default — equilibrio entre fino y legible)
|
||||
- **Color por defecto:** hereda `currentColor` (configurable por contexto)
|
||||
|
||||
### Iconos clave del proyecto (recurrentes)
|
||||
|
||||
| Concepto | Icono Lucide |
|
||||
|---|---|
|
||||
| Llamada / agente voz | `Phone`, `PhoneCall`, `Mic` |
|
||||
| WhatsApp (custom SVG) | Icono WhatsApp oficial (no en Lucide) |
|
||||
| Render / cámara | `Camera`, `ImageIcon` |
|
||||
| Presupuesto / factura | `Receipt`, `FileText` |
|
||||
| Lead nuevo | `Sparkles` |
|
||||
| Visita | `Calendar`, `MapPin` |
|
||||
| Licencia urbanística | `BookOpen`, `FileCheck2`, `Building2` |
|
||||
| Reformista pro | `HardHat`, `Hammer` |
|
||||
| Cliente final | `Home`, `User` |
|
||||
| Sello Precio Justo | `BadgeCheck` |
|
||||
| Configurador | `Settings2`, `SlidersHorizontal` |
|
||||
|
||||
---
|
||||
|
||||
## 8. Motion y transiciones
|
||||
|
||||
### Duraciones
|
||||
|
||||
| Token | Valor | Uso |
|
||||
|---|---|---|
|
||||
| `duration-fast` | 150ms | Hover, focus, micro-feedback |
|
||||
| `duration-base` | 250ms | Transiciones estándar (cards, modales pequeños) |
|
||||
| `duration-slow` | 400ms | Aparición de modales grandes, transiciones de sección |
|
||||
|
||||
### Easing
|
||||
|
||||
| Token | Valor | Uso |
|
||||
|---|---|---|
|
||||
| `ease-out` | `cubic-bezier(0.16, 1, 0.3, 1)` | Entradas (recomendado por defecto) |
|
||||
| `ease-in` | `cubic-bezier(0.7, 0, 0.84, 0)` | Salidas |
|
||||
| `ease-in-out` | `cubic-bezier(0.65, 0, 0.35, 1)` | Movimientos en ambos sentidos |
|
||||
|
||||
### Qué se anima
|
||||
|
||||
- Hover de botones (background)
|
||||
- Focus de inputs (ring)
|
||||
- Aparición de modales y popovers
|
||||
- Cuenta atrás *"Te llamamos en 1:47"* (animación de los dígitos)
|
||||
- Pasos del wizard (slide horizontal suave)
|
||||
- Aparición del render generado (fade-in + ligero scale-up)
|
||||
|
||||
### Qué NO se anima
|
||||
|
||||
- Texto de lectura largo
|
||||
- Tablas y datos del panel
|
||||
- Logos
|
||||
- Iconos estáticos
|
||||
|
||||
### Reduced motion
|
||||
|
||||
Respetar siempre `prefers-reduced-motion`: deshabilitar todas las animaciones excepto fade simples (opacity).
|
||||
|
||||
---
|
||||
|
||||
## 9. Imagery y fotografía
|
||||
|
||||
### Estilo de imagen
|
||||
|
||||
- **Fotografías reales** de cocinas y baños como base. Antes/después.
|
||||
- **Renders IA** generados por el propio producto en hero y casos de uso.
|
||||
- Tonos cálidos, luz natural, no demasiado pulcras (que parezcan casa real, no catálogo IKEA).
|
||||
- Evitar stock genérico de "team handshake" o "businessman with laptop".
|
||||
|
||||
### Aspect ratios recomendados
|
||||
|
||||
- Hero principal: 16:9 desktop, 4:5 mobile
|
||||
- Cards de testimonio: 1:1 o 4:5
|
||||
- Antes/después: 1:1 con divisoria deslizante
|
||||
|
||||
---
|
||||
|
||||
## 10. Aplicación a las superficies de specs.md
|
||||
|
||||
### Landing B2B (superficie A)
|
||||
|
||||
- Hero: H1 Instrument Serif `text-6xl` en `neutral-950`, subtitle `text-xl` Inter en `neutral-700`, CTA primary verde oliva
|
||||
- Sección "Lo que está roto hoy": background `neutral-50`, cards con icono terracota + texto neutral
|
||||
- Demo del widget: contenedor con `shadow-xl` y `rounded-2xl` para destacarlo
|
||||
- Pricing: 3 cards con tier Pro destacada (border `primary-700` 2px + ribbon "Recomendado")
|
||||
- "Próximamente": bloque con background `accent-100`, textos `accent-900`, CTA accent-600
|
||||
|
||||
### Landing B2C (superficie B)
|
||||
|
||||
- Hero con imagen antes/después grande arriba
|
||||
- Branding del reformista en header en card propio con `shadow-sm`
|
||||
- Form: 3 pasos con progress bar arriba (verde oliva), inputs con `rounded-md` generoso
|
||||
- Pantalla de cuenta atrás: dígitos grandes `text-7xl` Instrument Serif, fondo `primary-50`
|
||||
|
||||
### Panel reformista (superficie D)
|
||||
|
||||
- Sidebar oscuro (`primary-900` background, `primary-100` texto) con logo Reformix arriba
|
||||
- Lista de leads tipo tabla con filas hover en `neutral-50`
|
||||
- Detalle de lead: card con `shadow-md` mostrando todos los artefactos en tabs
|
||||
- Botón "Marcar Ganado" en `success-500`
|
||||
- Modal de "precio final firmado" enfocado y con focus trap
|
||||
|
||||
---
|
||||
|
||||
## 11. Checklist de calidad
|
||||
|
||||
- [x] Contraste WCAG AA verificado en todas las combinaciones críticas
|
||||
- [x] La escala tipográfica respeta 16px como mínimo legible móvil
|
||||
- [x] Cubrimos los 4 estados semánticos (success, warning, danger, info)
|
||||
- [x] 10 niveles de neutrales con tinte cálido (no grays fríos genéricos)
|
||||
- [x] Escala de espaciado consistente (base 4px, sin valores arbitrarios)
|
||||
- [x] Border-radius coherente con personalidad (generoso pero no infantil)
|
||||
- [x] Fuentes disponibles en Google Fonts gratis (Instrument Serif + Inter + JetBrains Mono)
|
||||
- [x] Tokens con nombre semántico (`primary-700` no `green-medium`)
|
||||
- [x] Iconografía con librería elegida (Lucide)
|
||||
- [x] Identidad verbal documentada con tono claro y ejemplos
|
||||
- [x] Decisiones justificadas con conexión a la personalidad de marca
|
||||
- [x] Aplicación a superficies del producto descrita
|
||||
|
||||
---
|
||||
|
||||
## 12. Archivos asociados
|
||||
|
||||
- [`design-tokens.json`](design-tokens.json) — Tokens en formato estándar (importables en Figma Tokens o style-dictionary)
|
||||
- [`design-tokens.css`](design-tokens.css) — CSS Custom Properties listas para `:root`
|
||||
- [`tailwind.config.ext.js`](tailwind.config.ext.js) — Extensión de la config de Tailwind con los tokens
|
||||
|
||||
---
|
||||
|
||||
## Próximos pasos
|
||||
|
||||
1. **Validación visual rápida** con el equipo (15 min): proyectar la paleta y los 3-4 ejemplos de aplicación. Confirmar que verde-oliva + terracota encaja con la intuición del equipo.
|
||||
2. **Generar mockups en Stitch o Figma** usando los tokens y el copy de [COPY-GUIDE.md](../copy/COPY-GUIDE.md) — sin lorem ipsum.
|
||||
3. Instalar shadcn/ui con tema custom basado en los tokens, antes de empezar a programar.
|
||||
4. Crear un Storybook ligero (post-MVP) con los componentes core para que el equipo no reinvente cada vez.
|
||||
221
design/design-tokens.css
Normal file
@@ -0,0 +1,221 @@
|
||||
/* Reformix — Design Tokens
|
||||
* Generado a partir de design-system.md + design-tokens.json
|
||||
* Stack: Tailwind + shadcn/ui (compatibilidad con CSS custom properties)
|
||||
* Versión: 1.0 (2026-05-24)
|
||||
*/
|
||||
|
||||
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
|
||||
|
||||
:root {
|
||||
/* ============================================
|
||||
* COLOR — Brand (Architectural Warmth)
|
||||
* ============================================ */
|
||||
|
||||
/* Primary — Verde oliva */
|
||||
--color-primary-50: #F4F8F5;
|
||||
--color-primary-100: #E8F0EB;
|
||||
--color-primary-300: #A8C8B5;
|
||||
--color-primary-500: #4D8A6D;
|
||||
--color-primary-700: #2F5C46;
|
||||
--color-primary-900: #1F3A2E;
|
||||
|
||||
/* Accent — Terracota */
|
||||
--color-accent-100: #FAEAE0;
|
||||
--color-accent-400: #E08A5F;
|
||||
--color-accent-600: #C25E33;
|
||||
--color-accent-900: #7A3517;
|
||||
|
||||
/* ============================================
|
||||
* COLOR — Neutral (Stone — warm grays con tinte oliva)
|
||||
* ============================================ */
|
||||
|
||||
--color-white: #FFFFFF;
|
||||
--color-neutral-50: #F7F8F7;
|
||||
--color-neutral-100: #EDEFED;
|
||||
--color-neutral-200: #DDE0DD;
|
||||
--color-neutral-300: #C4C9C4;
|
||||
--color-neutral-400: #9DA29D;
|
||||
--color-neutral-500: #7A807A;
|
||||
--color-neutral-700: #4A4E4A;
|
||||
--color-neutral-900: #262826;
|
||||
--color-neutral-950: #161816;
|
||||
|
||||
/* ============================================
|
||||
* COLOR — Semantic
|
||||
* ============================================ */
|
||||
|
||||
--color-success-100: #E0F0E6;
|
||||
--color-success-500: #4DAA73;
|
||||
--color-success-700: #2D7A4F;
|
||||
|
||||
--color-warning-100: #FAEFD3;
|
||||
--color-warning-500: #DA9A2C;
|
||||
--color-warning-700: #9A6B0E;
|
||||
|
||||
--color-danger-100: #FAE0DA;
|
||||
--color-danger-500: #D85940;
|
||||
--color-danger-700: #A8331F;
|
||||
|
||||
--color-info-100: #DDEDF5;
|
||||
--color-info-500: #3D8AAA;
|
||||
--color-info-700: #1F5C7A;
|
||||
|
||||
/* ============================================
|
||||
* COLOR — Surface aliases (uso semántico en componentes)
|
||||
* ============================================ */
|
||||
|
||||
--surface-background: var(--color-white);
|
||||
--surface-background-muted: var(--color-neutral-50);
|
||||
--surface-background-emphasis: var(--color-primary-50);
|
||||
--surface-foreground: var(--color-neutral-950);
|
||||
--surface-foreground-muted: var(--color-neutral-500);
|
||||
--surface-border: var(--color-neutral-200);
|
||||
--surface-border-strong: var(--color-neutral-300);
|
||||
|
||||
/* ============================================
|
||||
* TYPOGRAPHY
|
||||
* ============================================ */
|
||||
|
||||
--font-display: 'Instrument Serif', Georgia, serif;
|
||||
--font-sans: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
--font-mono: 'JetBrains Mono', ui-monospace, monospace;
|
||||
|
||||
--font-weight-regular: 400;
|
||||
--font-weight-medium: 500;
|
||||
--font-weight-semibold: 600;
|
||||
--font-weight-bold: 700;
|
||||
|
||||
--text-xs: 0.75rem;
|
||||
--text-sm: 0.875rem;
|
||||
--text-base: 1rem;
|
||||
--text-lg: 1.125rem;
|
||||
--text-xl: 1.25rem;
|
||||
--text-2xl: 1.5rem;
|
||||
--text-3xl: 1.875rem;
|
||||
--text-4xl: 2.25rem;
|
||||
--text-5xl: 3rem;
|
||||
--text-6xl: 3.75rem;
|
||||
--text-7xl: 4.5rem;
|
||||
|
||||
--leading-tight: 1.1;
|
||||
--leading-snug: 1.3;
|
||||
--leading-normal: 1.5;
|
||||
--leading-relaxed: 1.6;
|
||||
|
||||
/* ============================================
|
||||
* SPACING (base 4px, coherente con Tailwind)
|
||||
* ============================================ */
|
||||
|
||||
--space-1: 0.25rem;
|
||||
--space-2: 0.5rem;
|
||||
--space-3: 0.75rem;
|
||||
--space-4: 1rem;
|
||||
--space-6: 1.5rem;
|
||||
--space-8: 2rem;
|
||||
--space-12: 3rem;
|
||||
--space-16: 4rem;
|
||||
--space-24: 6rem;
|
||||
--space-32: 8rem;
|
||||
|
||||
/* ============================================
|
||||
* CONTAINER WIDTHS
|
||||
* ============================================ */
|
||||
|
||||
--container-narrow: 720px;
|
||||
--container-default: 1200px;
|
||||
--container-wide: 1440px;
|
||||
|
||||
--gutter-mobile: 24px;
|
||||
--gutter-desktop: 48px;
|
||||
|
||||
/* ============================================
|
||||
* BORDER RADIUS
|
||||
* ============================================ */
|
||||
|
||||
--radius-sm: 4px;
|
||||
--radius-md: 6px;
|
||||
--radius-lg: 10px;
|
||||
--radius-xl: 14px;
|
||||
--radius-2xl: 20px;
|
||||
--radius-full: 9999px;
|
||||
|
||||
/* ============================================
|
||||
* SHADOWS (warm, base neutral-950 — no negro puro)
|
||||
* ============================================ */
|
||||
|
||||
--shadow-xs: 0 1px 2px rgba(22, 24, 22, 0.05);
|
||||
--shadow-sm: 0 1px 3px rgba(22, 24, 22, 0.08), 0 1px 2px rgba(22, 24, 22, 0.04);
|
||||
--shadow-md: 0 4px 6px rgba(22, 24, 22, 0.07), 0 2px 4px rgba(22, 24, 22, 0.04);
|
||||
--shadow-lg: 0 10px 15px rgba(22, 24, 22, 0.08), 0 4px 6px rgba(22, 24, 22, 0.05);
|
||||
--shadow-xl: 0 20px 25px rgba(22, 24, 22, 0.1), 0 10px 10px rgba(22, 24, 22, 0.04);
|
||||
--shadow-glow: 0 0 0 4px rgba(47, 92, 70, 0.15);
|
||||
|
||||
/* ============================================
|
||||
* MOTION
|
||||
* ============================================ */
|
||||
|
||||
--duration-fast: 150ms;
|
||||
--duration-base: 250ms;
|
||||
--duration-slow: 400ms;
|
||||
|
||||
--easing-out: cubic-bezier(0.16, 1, 0.3, 1);
|
||||
--easing-in: cubic-bezier(0.7, 0, 0.84, 0);
|
||||
--easing-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
||||
|
||||
/* ============================================
|
||||
* Z-INDEX scale (orden visual)
|
||||
* ============================================ */
|
||||
|
||||
--z-dropdown: 50;
|
||||
--z-sticky: 100;
|
||||
--z-overlay: 200;
|
||||
--z-modal: 300;
|
||||
--z-popover: 400;
|
||||
--z-toast: 500;
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
* Base styles
|
||||
* ============================================ */
|
||||
|
||||
html {
|
||||
font-family: var(--font-sans);
|
||||
font-size: 16px;
|
||||
color: var(--surface-foreground);
|
||||
background: var(--surface-background);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: var(--leading-relaxed);
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
font-family: var(--font-display);
|
||||
font-weight: var(--font-weight-regular);
|
||||
line-height: var(--leading-tight);
|
||||
color: var(--color-neutral-950);
|
||||
}
|
||||
|
||||
h3, h4, h5, h6 {
|
||||
font-family: var(--font-sans);
|
||||
font-weight: var(--font-weight-semibold);
|
||||
line-height: var(--leading-snug);
|
||||
color: var(--color-neutral-900);
|
||||
}
|
||||
|
||||
/* ============================================
|
||||
* Reduced motion
|
||||
* ============================================ */
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
}
|
||||
133
design/design-tokens.json
Normal file
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"$schema": "https://design-tokens.github.io/community-group/format/",
|
||||
"color": {
|
||||
"brand": {
|
||||
"primary": {
|
||||
"50": { "value": "#F4F8F5", "description": "Background sección destacada" },
|
||||
"100": { "value": "#E8F0EB", "description": "Background suave, hover state" },
|
||||
"300": { "value": "#A8C8B5", "description": "Backgrounds suaves, badges" },
|
||||
"500": { "value": "#4D8A6D", "description": "Acento medio, hover de botones" },
|
||||
"700": { "value": "#2F5C46", "description": "Botones primarios, links activos" },
|
||||
"900": { "value": "#1F3A2E", "description": "Texto sobre claro, headings serios" }
|
||||
},
|
||||
"accent": {
|
||||
"100": { "value": "#FAEAE0", "description": "Background de bloques destacados" },
|
||||
"400": { "value": "#E08A5F", "description": "Iconos decorativos, badges" },
|
||||
"600": { "value": "#C25E33", "description": "CTAs secundarios destacados, alertas no críticas" },
|
||||
"900": { "value": "#7A3517", "description": "Énfasis muy fuerte" }
|
||||
}
|
||||
},
|
||||
"neutral": {
|
||||
"50": { "value": "#F7F8F7" },
|
||||
"100": { "value": "#EDEFED" },
|
||||
"200": { "value": "#DDE0DD" },
|
||||
"300": { "value": "#C4C9C4" },
|
||||
"400": { "value": "#9DA29D" },
|
||||
"500": { "value": "#7A807A" },
|
||||
"700": { "value": "#4A4E4A" },
|
||||
"900": { "value": "#262826" },
|
||||
"950": { "value": "#161816" },
|
||||
"white": { "value": "#FFFFFF" }
|
||||
},
|
||||
"semantic": {
|
||||
"success": {
|
||||
"100": { "value": "#E0F0E6" },
|
||||
"500": { "value": "#4DAA73" },
|
||||
"700": { "value": "#2D7A4F" }
|
||||
},
|
||||
"warning": {
|
||||
"100": { "value": "#FAEFD3" },
|
||||
"500": { "value": "#DA9A2C" },
|
||||
"700": { "value": "#9A6B0E" }
|
||||
},
|
||||
"danger": {
|
||||
"100": { "value": "#FAE0DA" },
|
||||
"500": { "value": "#D85940" },
|
||||
"700": { "value": "#A8331F" }
|
||||
},
|
||||
"info": {
|
||||
"100": { "value": "#DDEDF5" },
|
||||
"500": { "value": "#3D8AAA" },
|
||||
"700": { "value": "#1F5C7A" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"typography": {
|
||||
"fontFamily": {
|
||||
"display": { "value": "'Instrument Serif', Georgia, serif" },
|
||||
"sans": { "value": "'Inter', system-ui, -apple-system, sans-serif" },
|
||||
"mono": { "value": "'JetBrains Mono', ui-monospace, monospace" }
|
||||
},
|
||||
"fontSize": {
|
||||
"xs": { "value": "0.75rem", "lineHeight": "1.5" },
|
||||
"sm": { "value": "0.875rem", "lineHeight": "1.5" },
|
||||
"base": { "value": "1rem", "lineHeight": "1.6" },
|
||||
"lg": { "value": "1.125rem", "lineHeight": "1.5" },
|
||||
"xl": { "value": "1.25rem", "lineHeight": "1.4" },
|
||||
"2xl": { "value": "1.5rem", "lineHeight": "1.3" },
|
||||
"3xl": { "value": "1.875rem", "lineHeight": "1.3" },
|
||||
"4xl": { "value": "2.25rem", "lineHeight": "1.2" },
|
||||
"5xl": { "value": "3rem", "lineHeight": "1.1" },
|
||||
"6xl": { "value": "3.75rem", "lineHeight": "1.05" },
|
||||
"7xl": { "value": "4.5rem", "lineHeight": "1.0" }
|
||||
},
|
||||
"fontWeight": {
|
||||
"regular": { "value": "400" },
|
||||
"medium": { "value": "500" },
|
||||
"semibold": { "value": "600" },
|
||||
"bold": { "value": "700" }
|
||||
}
|
||||
},
|
||||
"spacing": {
|
||||
"1": { "value": "0.25rem" },
|
||||
"2": { "value": "0.5rem" },
|
||||
"3": { "value": "0.75rem" },
|
||||
"4": { "value": "1rem" },
|
||||
"6": { "value": "1.5rem" },
|
||||
"8": { "value": "2rem" },
|
||||
"12": { "value": "3rem" },
|
||||
"16": { "value": "4rem" },
|
||||
"24": { "value": "6rem" },
|
||||
"32": { "value": "8rem" }
|
||||
},
|
||||
"borderRadius": {
|
||||
"sm": { "value": "4px" },
|
||||
"md": { "value": "6px" },
|
||||
"lg": { "value": "10px" },
|
||||
"xl": { "value": "14px" },
|
||||
"2xl": { "value": "20px" },
|
||||
"full": { "value": "9999px" }
|
||||
},
|
||||
"shadow": {
|
||||
"xs": { "value": "0 1px 2px rgba(22, 24, 22, 0.05)" },
|
||||
"sm": { "value": "0 1px 3px rgba(22, 24, 22, 0.08), 0 1px 2px rgba(22, 24, 22, 0.04)" },
|
||||
"md": { "value": "0 4px 6px rgba(22, 24, 22, 0.07), 0 2px 4px rgba(22, 24, 22, 0.04)" },
|
||||
"lg": { "value": "0 10px 15px rgba(22, 24, 22, 0.08), 0 4px 6px rgba(22, 24, 22, 0.05)" },
|
||||
"xl": { "value": "0 20px 25px rgba(22, 24, 22, 0.1), 0 10px 10px rgba(22, 24, 22, 0.04)" },
|
||||
"glow": { "value": "0 0 0 4px rgba(47, 92, 70, 0.15)" }
|
||||
},
|
||||
"breakpoint": {
|
||||
"sm": { "value": "640px" },
|
||||
"md": { "value": "768px" },
|
||||
"lg": { "value": "1024px" },
|
||||
"xl": { "value": "1280px" },
|
||||
"2xl": { "value": "1536px" }
|
||||
},
|
||||
"container": {
|
||||
"narrow": { "value": "720px" },
|
||||
"default": { "value": "1200px" },
|
||||
"wide": { "value": "1440px" }
|
||||
},
|
||||
"motion": {
|
||||
"duration": {
|
||||
"fast": { "value": "150ms" },
|
||||
"base": { "value": "250ms" },
|
||||
"slow": { "value": "400ms" }
|
||||
},
|
||||
"easing": {
|
||||
"out": { "value": "cubic-bezier(0.16, 1, 0.3, 1)" },
|
||||
"in": { "value": "cubic-bezier(0.7, 0, 0.84, 0)" },
|
||||
"inOut": { "value": "cubic-bezier(0.65, 0, 0.35, 1)" }
|
||||
}
|
||||
}
|
||||
}
|
||||
128
design/tailwind.config.ext.js
Normal file
@@ -0,0 +1,128 @@
|
||||
/**
|
||||
* Reformix — Tailwind config extensions
|
||||
* Stack: Next.js 14 + Tailwind + shadcn/ui
|
||||
*
|
||||
* Cómo usar:
|
||||
* En tu tailwind.config.{js,ts} del proyecto, mergea esta config:
|
||||
*
|
||||
* import reformixTheme from './design/tailwind.config.ext.js'
|
||||
* export default {
|
||||
* content: [...],
|
||||
* theme: {
|
||||
* extend: {
|
||||
* ...reformixTheme.theme.extend,
|
||||
* },
|
||||
* },
|
||||
* }
|
||||
*
|
||||
* Si usas shadcn/ui, mantén su tema base y extiende encima con esto.
|
||||
*/
|
||||
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
const reformixTheme = {
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
primary: {
|
||||
50: '#F4F8F5',
|
||||
100: '#E8F0EB',
|
||||
300: '#A8C8B5',
|
||||
500: '#4D8A6D',
|
||||
700: '#2F5C46',
|
||||
900: '#1F3A2E',
|
||||
DEFAULT: '#2F5C46', // primary-700
|
||||
},
|
||||
accent: {
|
||||
100: '#FAEAE0',
|
||||
400: '#E08A5F',
|
||||
600: '#C25E33',
|
||||
900: '#7A3517',
|
||||
DEFAULT: '#C25E33', // accent-600
|
||||
},
|
||||
neutral: {
|
||||
50: '#F7F8F7',
|
||||
100: '#EDEFED',
|
||||
200: '#DDE0DD',
|
||||
300: '#C4C9C4',
|
||||
400: '#9DA29D',
|
||||
500: '#7A807A',
|
||||
700: '#4A4E4A',
|
||||
900: '#262826',
|
||||
950: '#161816',
|
||||
},
|
||||
success: {
|
||||
100: '#E0F0E6',
|
||||
500: '#4DAA73',
|
||||
700: '#2D7A4F',
|
||||
},
|
||||
warning: {
|
||||
100: '#FAEFD3',
|
||||
500: '#DA9A2C',
|
||||
700: '#9A6B0E',
|
||||
},
|
||||
danger: {
|
||||
100: '#FAE0DA',
|
||||
500: '#D85940',
|
||||
700: '#A8331F',
|
||||
},
|
||||
info: {
|
||||
100: '#DDEDF5',
|
||||
500: '#3D8AAA',
|
||||
700: '#1F5C7A',
|
||||
},
|
||||
},
|
||||
fontFamily: {
|
||||
display: ['Instrument Serif', 'Georgia', 'serif'],
|
||||
sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'],
|
||||
mono: ['JetBrains Mono', 'ui-monospace', 'monospace'],
|
||||
},
|
||||
fontSize: {
|
||||
xs: ['0.75rem', { lineHeight: '1.5' }],
|
||||
sm: ['0.875rem', { lineHeight: '1.5' }],
|
||||
base: ['1rem', { lineHeight: '1.6' }],
|
||||
lg: ['1.125rem', { lineHeight: '1.5' }],
|
||||
xl: ['1.25rem', { lineHeight: '1.4' }],
|
||||
'2xl': ['1.5rem', { lineHeight: '1.3' }],
|
||||
'3xl': ['1.875rem', { lineHeight: '1.3' }],
|
||||
'4xl': ['2.25rem', { lineHeight: '1.2' }],
|
||||
'5xl': ['3rem', { lineHeight: '1.1' }],
|
||||
'6xl': ['3.75rem', { lineHeight: '1.05' }],
|
||||
'7xl': ['4.5rem', { lineHeight: '1.0' }],
|
||||
},
|
||||
borderRadius: {
|
||||
sm: '4px',
|
||||
md: '6px',
|
||||
lg: '10px',
|
||||
xl: '14px',
|
||||
'2xl': '20px',
|
||||
full: '9999px',
|
||||
},
|
||||
boxShadow: {
|
||||
xs: '0 1px 2px rgba(22, 24, 22, 0.05)',
|
||||
sm: '0 1px 3px rgba(22, 24, 22, 0.08), 0 1px 2px rgba(22, 24, 22, 0.04)',
|
||||
DEFAULT: '0 1px 3px rgba(22, 24, 22, 0.08), 0 1px 2px rgba(22, 24, 22, 0.04)',
|
||||
md: '0 4px 6px rgba(22, 24, 22, 0.07), 0 2px 4px rgba(22, 24, 22, 0.04)',
|
||||
lg: '0 10px 15px rgba(22, 24, 22, 0.08), 0 4px 6px rgba(22, 24, 22, 0.05)',
|
||||
xl: '0 20px 25px rgba(22, 24, 22, 0.1), 0 10px 10px rgba(22, 24, 22, 0.04)',
|
||||
glow: '0 0 0 4px rgba(47, 92, 70, 0.15)',
|
||||
},
|
||||
maxWidth: {
|
||||
narrow: '720px',
|
||||
default: '1200px',
|
||||
wide: '1440px',
|
||||
},
|
||||
transitionDuration: {
|
||||
fast: '150ms',
|
||||
base: '250ms',
|
||||
slow: '400ms',
|
||||
},
|
||||
transitionTimingFunction: {
|
||||
out: 'cubic-bezier(0.16, 1, 0.3, 1)',
|
||||
in: 'cubic-bezier(0.7, 0, 0.84, 0)',
|
||||
'in-out': 'cubic-bezier(0.65, 0, 0.35, 1)',
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = reformixTheme
|
||||
112
docs/Analisis de competencia.md
Normal file
153
docs/Equipo 1 - Hackaton _ SIH _ 05-06_2026 - v2 Reformix.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# **🚀 Blueprint: Reformix — Presupuestos de reforma con IA + Agente de voz**
|
||||
|
||||
**Equipo:**
|
||||
|
||||
- **Goyo** [[Perfil Skool]](https://www.skool.com/@goyo-cancio-6085) — Dev fullstack con ~5 años en una startup del sector espacial. Creador de contenido y mentor de programadores. Aporta los contactos del sector reformas y datos reales de precios por partida y zona en España.
|
||||
- **Antonio** [[Perfil Skool]](https://www.skool.com/@antonio-rodriguez-9773) — UI/UX y diseño visual, creativos de campaña.
|
||||
- **Carlos** [[Perfil Skool]](https://www.skool.com/@carlos-narro-4556) — Producto, fullstack (20 años web, 10 fullstack), especialización en funnels, **experiencia amplia en agentes de voz** y **automatizaciones de WhatsApp**.
|
||||
- **Simon** [[Perfil Skool]](https://www.skool.com/@simon-alexander-5402) — Fullstack senior con 5+ años, especialista en SEO técnico, **automatizaciones de WhatsApp** y orquestación de IA.
|
||||
|
||||
📅 **Fecha límite de entrega:** 21 de mayo de 2026
|
||||
|
||||
**Instrucciones:** Este documento es la "fuente de la verdad" asíncrona del Equipo 1. Se utilizará para acelerar la Landing (Entregable 28-may) y el MVP (Entregable 11-jun).
|
||||
|
||||
---
|
||||
|
||||
### **1. El Negocio (El "Porqué")**
|
||||
|
||||
- **Problema a resolver:**
|
||||
Las empresas pequeñas y medianas de reformas en España (1-10 empleados) pierden horas cada semana respondiendo consultas repetitivas de clientes que aún no saben si van a contratar. Cada presupuesto requiere visita presencial, llamadas de ida y vuelta y tiempo de un técnico cualificado — para leads que muchas veces no convierten. En paralelo, el cliente final tiene un freno emocional clave — **no se imagina cómo va a quedar su reforma**, y sin esa visualización pospone la decisión indefinidamente. Y cuando un cliente sí pide presupuesto detallado, el sector sufre el problema del *showrooming*: el cliente se va a la competencia con tu trabajo en la mano para que se lo dejen más barato, destruyendo los márgenes de los profesionales serios.
|
||||
|
||||
- **Objetivo del Hackathon:**
|
||||
Demostrar el flujo punta a punta: el cliente final del reformista deja sus datos en una landing, sube fotos de su cocina o baño, recibe en menos de 2 minutos una **llamada de un agente de voz IA desde un número de su provincia** que le cualifica conversacionalmente y personaliza el presupuesto, y al colgar recibe automáticamente **por WhatsApp** un render IA del espacio reformado y un presupuesto orientativo desglosado con el branding del reformista. El reformista recibe en su panel el lead pre-cualificado con la transcripción de la llamada, los assets y los datos completos.
|
||||
|
||||
---
|
||||
|
||||
### **2. El Usuario (El "Quién")**
|
||||
|
||||
- **Usuario Objetivo (cliente que paga):**
|
||||
Empresas pequeñas y medianas de reformas en España (1-10 empleados) que reciben consultas por web o WhatsApp pero no tienen capacidad de responder a todos rápido. Su cliente final es el propietario de vivienda que quiere reformar cocina o baño.
|
||||
|
||||
- **El "Camino Feliz" (Paso a paso):**
|
||||
|
||||
1. **El reformista** accede a la plataforma y configura su perfil: nombre de empresa, zona geográfica, tipos de reforma que hace, opciones disponibles por tipo (calidades, materiales, extras), tabla de precios por m² y zona. **Esta configuración genera automáticamente el script del agente de voz** — el agente "aprende" su catálogo y su forma de cualificar.
|
||||
|
||||
2. **El cliente potencial** llega a la landing (vía web del reformista, ads, o link de WhatsApp). **Paso 1 — captura inmediata del lead:** rellena nombre, teléfono móvil y email. Acepta opt-in explícito de llamada y RGPD. **Esto asegura que el lead se captura aunque abandone después.**
|
||||
|
||||
3. **Paso 2 — Subida de fotos:** sube 2-4 fotos del espacio actual (cocina o baño). Opcionalmente puede incluir un **folio DIN-A4 visible** en una foto para que la IA aproxime mejor las medidas reales en metros.
|
||||
|
||||
4. **Paso 3 — Llamada del agente de voz:** en menos de 2 minutos el cliente recibe **WhatsApp + llamada desde un número fijo de su provincia** (psicológicamente local, no comercial sospechoso). El agente de voz IA (Retell + ElevenLabs, voz natural en español) le hace una cualificación conversacional de 3-5 minutos: tipo de reforma, m² aproximados, calidad de materiales preferida, presupuesto target, urgencia, si se cambian sanitarios o se tocan muros (detecta automáticamente necesidad de licencia urbanística), preferencias estéticas. Toda la llamada se transcribe y se extraen entidades estructuradas.
|
||||
|
||||
5. **Paso 4 — Generación de imagen y documentos:** al colgar, el sistema combina foto + transcripción + configuración del reformista para generar (a) render IA antes/después con Replicate + ControlNet, (b) presupuesto desglosado por partidas con motor de cálculo + tabla del reformista, (c) PDF con branding del reformista listo para enviar.
|
||||
|
||||
6. **Paso 5 — Entrega al cliente + envío al reformista:** el cliente recibe en su WhatsApp el render + presupuesto + PDF en menos de 60 segundos tras la llamada, junto con un CTA *"Quiero presupuesto definitivo con visita gratuita"*. El reformista recibe en su panel el lead completo (datos + foto + transcripción + render + presupuesto generado) + notificación por email. **Opcional v1.5:** validación del reformista antes de que el cliente reciba el presupuesto.
|
||||
|
||||
7. **Pasos siguientes (v1.5):** seguimiento automático del lead por WhatsApp (recordatorios, agenda visita), confirmación de cita, y entrega del presupuesto final firmado tras la visita.
|
||||
|
||||
---
|
||||
|
||||
### **3. Requisitos del MVP (El "Qué")**
|
||||
|
||||
*Tres funciones esenciales para que el demo final del 11 de junio funcione.*
|
||||
|
||||
- **Funcionalidad 1: Captura del lead + subida de fotos + disparo de llamada de voz.**
|
||||
Landing pública minimalista con 2 pasos: (1) formulario de captura (nombre + teléfono + email + opt-in LSSI-CE + RGPD) y (2) subida de 2-4 fotos. Al completar se dispara una llamada saliente del agente de voz desde un número fijo provincial en menos de 2 minutos. Mensaje SMS/WhatsApp de aviso pre-llamada para subir la tasa de respuesta a ~70 %. (Owners: Carlos lead capture + Simon trigger + Antonio UI)
|
||||
|
||||
- **Funcionalidad 2: Agente de voz IA con script generado desde configuración + extracción de entidades.**
|
||||
Agente de voz construido con **Retell + ElevenLabs (voces premium en español)** + número fijo provincial vía Twilio España. Script generado automáticamente desde la configuración del reformista ("Reformas Ejemplo" hardcoded en MVP). El agente cualifica: tipo de reforma, m², calidad, presupuesto target, urgencia, cambios estructurales (detecta licencia urbanística), preferencias estéticas. Al colgar, transcripción completa y extracción de entidades en JSON estructurado vía GPT-4o. Tope de duración: 8 minutos. (Owners: Carlos voice agent + Simon orquestación)
|
||||
|
||||
- **Funcionalidad 3: Generación automática de render + presupuesto + entrega por WhatsApp + panel reformista.**
|
||||
Pipeline post-llamada: GPT-4o Vision analiza las fotos + extracción de la transcripción → Replicate (SDXL + ControlNet interior) genera render antes/después → motor de cálculo determinista construye presupuesto desglosado con la tabla validada de Goyo + factor zona + extras + licencia si aplica → PDF generado con branding del reformista → envío automático al cliente vía **WhatsApp Business API** + email al reformista + lead visible en panel mínimo protegido por token. (Owners: Simon pipeline IA + Goyo motor presupuesto + Carlos WhatsApp + Antonio panel)
|
||||
|
||||
---
|
||||
|
||||
### **4. Conexión con los Siguientes Entregables**
|
||||
|
||||
*Alineación con el cronograma oficial del Hackathon.*
|
||||
|
||||
- **Para la Landing Page (Entrega: 28 de mayo):**
|
||||
Gancho principal: ***"Recibe tu presupuesto de reforma en 5 minutos. Te llamamos en menos de 2 minutos."*** Subhead: *"Deja tu teléfono, sube una foto de tu cocina o baño, y te llamará nuestro asesor para personalizar tu presupuesto. Al colgar recibirás por WhatsApp el render de tu nueva reforma + presupuesto desglosado. Con la marca de [Tu reformista de confianza]."* La landing irá dirigida en formato split: una versión para **reformistas** (compra de SaaS, CTA "Empieza gratis 14 días") y otra versión embebible que **el reformista pone en su web** (cliente final completa los 2 pasos). CTA principal del reformista: prueba gratuita. CTA principal del cliente final: *"Llámame en 2 minutos"*.
|
||||
|
||||
- **Para el MVP Técnico (Entrega: 11 de junio):**
|
||||
|
||||
- **Frontend + Backend:** Next.js 14 (App Router + Server Actions + API Routes en un único proyecto y deploy en Vercel). Se descarta el backend Nest.js separado para ahorrar tiempo en 3 semanas.
|
||||
- **UI:** Tailwind + shadcn/ui.
|
||||
- **Agente de voz:** **Retell.ai** (latencia ~500-800 ms, function calling, integraciones limpias) + **ElevenLabs** voces premium en español (las más naturales del mercado actual).
|
||||
- **Telefonía:** **Zadarma** para números fijos provinciales (proveedor español/europeo, más barato y específico ES que Twilio).
|
||||
- **WhatsApp:** **WhatsApp Business API o Evolution API** (Evolution self-hosted más económico). Mensajes de aviso pre-llamada, entrega del render + PDF post-llamada, y nurturing en v1.5.
|
||||
- **IA Visual:** **Nano Banana 2 o Image 2** (Google Gemini). Rápidos, económicos y con buena edición image-to-image.
|
||||
- **IA Texto:** GPT-4o (Vision para foto + chat para presupuesto + extracción de entidades de la transcripción).
|
||||
- **DB + Storage:** **Postgres + S3** (stack agnóstico, sin lock-in de proveedor).
|
||||
- **Email transaccional:** **SMTP** (genérico, sin lock-in).
|
||||
- **Analytics:** PostHog (funnel completo + grabación de sesión).
|
||||
|
||||
---
|
||||
|
||||
### **5. Alcance Estricto (Regla de Oro)**
|
||||
|
||||
- **QUEDA DENTRO:**
|
||||
|
||||
- Landing con formulario de captura (paso 1) y subida de fotos (paso 2).
|
||||
- Opt-in LSSI-CE explícito para llamada + RGPD + aviso de grabación.
|
||||
- **Aviso SMS/WhatsApp pre-llamada** ("En 2 minutos te llama Reformas Ejemplo").
|
||||
- **Llamada saliente del agente de voz** desde número fijo provincial en <2 min tras completar landing.
|
||||
- **Cualificación conversacional** de 3-5 min con extracción estructurada (tipo reforma, m², calidad, presupuesto target, urgencia, cambios estructurales, preferencias).
|
||||
- Detección de necesidad de licencia urbanística desde la conversación (sin sub-flujo UI dedicado, lo razona el agente).
|
||||
- Generación automática post-llamada: render IA antes/después + presupuesto desglosado por partidas con la tabla validada de Goyo + factor zona + extras.
|
||||
- **Entrega por WhatsApp** al cliente final con render + PDF presupuesto + CTA visita gratuita.
|
||||
- Email + notificación al panel del reformista con lead completo (transcripción + entidades + render + presupuesto).
|
||||
- Panel mínimo del reformista protegido por token con lista de leads y todos sus artefactos.
|
||||
- Branding básico "Reformas Ejemplo" hardcoded como demo agnóstica.
|
||||
- Plan B para demo: vídeo grabado de una llamada real + presupuesto generado el día previo, por si la demo en vivo falla.
|
||||
|
||||
- **QUEDA FUERA (v1.5 o posterior):**
|
||||
|
||||
- **Configurador multi-tenant** del reformista (en MVP usamos "Reformas Ejemplo" hardcoded).
|
||||
- **Validación opcional del reformista** antes de que el cliente reciba el presupuesto (workflow de aprobación).
|
||||
- **Nurturing y seguimiento del lead** por WhatsApp hasta concertar cita.
|
||||
- 3 versiones simultáneas Básico/Medio/Premium con selección granular por elemento.
|
||||
- Slider de presupuesto target con auto-ajuste.
|
||||
- **Doble nomenclatura** asistida por IA (feature killer B2B, v2).
|
||||
- **"Valora tu presupuesto justo"** (feature killer Fase 2 marketplace B2C).
|
||||
- **Sello "Precio Justo Certificado"** (puente Fase 1 ↔ Fase 2).
|
||||
- App móvil nativa, PDF con membrete custom (en MVP es un PDF genérico con branding básico), integraciones CRM, renders 3D fotorrealistas, pasarela de pago activa (recogemos waitlist), asignación automática de leads en marketplace (Fase 2).
|
||||
|
||||
---
|
||||
|
||||
### **Anexo — Visión de producto a 18 meses**
|
||||
|
||||
- **Fase 1 — B2B SaaS (mes 0-9, foco del hackathon):** widget+landing embebida en webs de reformistas, agente de voz con script generado por configuración, suscripción mensual 29-79-199 € por tier. Esta fase construye paralelamente la base de reformistas con histórico de precisión para el sello "Precio Justo Certificado".
|
||||
|
||||
- **Fase 2 — Marketplace B2C + Valorador (mes 9-18):** landing pública con *"Valora tu presupuesto justo"* — el propietario sube el presupuesto que le dio otro reformista, la IA lo evalúa en banda vs mercado (sin nombrar al emisor). Si está fuera de banda, ofrecemos *"segunda opinión gratuita con un certificado de tu zona"* → lead caliente canalizado a reformistas con sello. Comisión 50-150 €/lead.
|
||||
|
||||
---
|
||||
|
||||
### **Anexo — Validación de mercado (datos)**
|
||||
|
||||
- **78 %** de clientes acepta el primer presupuesto rápido que recibe, por encima incluso del precio final en obras < 15.000 € *(NexoraSuite)*.
|
||||
- Ticket medio de reforma en España: **10.000 – 50.000 €** (Madrid/Barcelona 700-1.100 €/m²).
|
||||
- **80 %** de clientes prefiere presupuestos con imágenes a presupuestos en texto plano *(Plan Reforma)*.
|
||||
- Hueco real verificado: **nadie en España combina captura de lead + llamada de agente de voz + render + presupuesto + branding + entrega por WhatsApp**. Tractable (chapa y pintura automoción, ~2.000M $/año procesados) demuestra que el modelo foto-IA-presupuesto con pagador B2B funciona industrialmente.
|
||||
|
||||
---
|
||||
|
||||
### **Anexo — Validación del insight crítico (entrevista a perfil dual B2C+B2B)**
|
||||
|
||||
1. **Falta de visualización es el mayor freno emocional** del cliente final. Una imagen rápida y creíble *"hace que tome la decisión así, rápido"*.
|
||||
2. **Showrooming es el dolor #1 del sector B2B.** Doble nomenclatura asistida por IA es el feature killer — irá en v2.
|
||||
3. **El cliente paga más por tranquilidad y buen asesoramiento.** La llamada del agente con voz natural y conocimiento del negocio del reformista entrega esa sensación de "atención profesional inmediata" que justifica el ticket alto y diferencia frente a marketplaces fríos como Habitissimo.
|
||||
|
||||
---
|
||||
|
||||
### **Anexo — Por qué este equipo entrega el MVP en 3 semanas**
|
||||
|
||||
- **Carlos** tiene experiencia amplia construyendo agentes de voz IA en producción y automatizaciones de WhatsApp.
|
||||
- **Simon** domina las automatizaciones de WhatsApp y orquestación de IA — el ecosistema completo lo conocemos in-house.
|
||||
- **Goyo** tiene los datos reales del sector de su contacto y aporta el contexto de dominio para que el script del agente sea creíble desde la primera llamada.
|
||||
- **Antonio** ejecuta UI y creativos sin bloqueos de comunicación con el equipo dev.
|
||||
|
||||
Voice agents son típicamente el bottleneck en MVPs de este tipo (3-4 semanas solo para que funcione decentemente). Como tenemos el conocimiento dentro del equipo, este eje **se convierte en ventaja competitiva**, no en riesgo. El stack Retell + ElevenLabs + Zadarma + Nano Banana 2 o Image 2 + GPT-4o + Evolution API / WhatsApp Business está validado y operativo en producción en otros proyectos del equipo.
|
||||
|
||||
---
|
||||
|
||||
*Documento elaborado el 21 de mayo de 2026 por el Equipo 1 (Reformix). Versión consolidada con arquitectura de agente de voz, captura inmediata del lead, entrega por WhatsApp, y narrativa de producto en dos fases.*
|
||||
BIN
docs/Esquema visual funnel.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
40
docs/Resumen Entrevista - Insights SaaS Reformas.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# **Análisis de Entrevista: Validando el SaaS de Reformas**
|
||||
|
||||
**Contexto:** Entrevista a un perfil dual. Por un lado, acaba de ser cliente final (B2C) realizando una reforma integral en su vivienda. Por otro lado, conoce desde dentro las operaciones de una empresa distribuidora de materiales y reformas (B2B) a la que ha asesorado en marketing.
|
||||
|
||||
## **1\. Perfil Particular (Cliente Final / B2C)**
|
||||
|
||||
### **🔴 Dolores Principales (Pain Points)**
|
||||
|
||||
* **Falta de capacidad de visualización (El mayor dolor):** El cliente promedio no tiene visión espacial ni imaginación. Si no ven cómo va a quedar su baño o cocina, dudan. Los programas 3D actuales que usan las grandes marcas son "obsoletos", lentos y el render final no se parece a la realidad de lo que han comprado.
|
||||
* **Miedo a los sobrecostes y la burocracia:** Hay un gran temor a lo que pueda surgir durante la obra (imprevistos) y pánico a la burocracia con los Ayuntamientos (licencias, normativas, multas). El cliente percibe que siempre se acaba pagando más de lo presupuestado.
|
||||
* **Inseguridad en la elección:** El proceso de elegir azulejos, grifería, etc., es abrumador. Miedo a elegir combinaciones que estéticamente no funcionen o que no agraden a su pareja.
|
||||
|
||||
### **🟢 Oportunidades**
|
||||
|
||||
* **Venta visual instantánea:** Si se le muestra al cliente una imagen realista de su espacio con los materiales elegidos de forma rápida, **"toma la decisión así, rápido"**. El efecto Wow es un acelerador de cierre de ventas definitivo.
|
||||
* **El valor de la "Tranquilidad":** El cliente está dispuesto a pagar un ticket mucho más alto (incluso elegir el presupuesto más caro) si la empresa le transmite confianza total, un buen asesoramiento previo (dedicarle horas para entender sus gustos) y se hace cargo de todos los problemas (incluyendo licencias).
|
||||
* **Filtro de gustos (Onboarding):** Oportunidad para crear un cuestionario inicial rápido (¿ducha o bañera? ¿minimalista o atrevido?) para acotar opciones y evitar que el cliente se abrume, tal y como hace un buen vendedor físico.
|
||||
|
||||
## **2\. Perfil Profesional (Empresas de Reformas y Distribuidores / B2B)**
|
||||
|
||||
### **🔴 Dolores Principales (Pain Points)**
|
||||
|
||||
* **"Showrooming" y robo de presupuestos (El dolor más sangrante):** El sector es descrito como "deshonesto". Un cliente va a una tienda, el vendedor invierte horas en asesorarle y diseñar su baño. Luego, el cliente coge ese presupuesto detallado (con los nombres exactos y referencias de los materiales) y se va a la competencia para que se lo dejen más barato.
|
||||
* **Márgenes destruidos por volumen:** Para llegar a los objetivos de ventas ("rappels") de los grandes fabricantes de cerámica, muchas empresas revientan los precios asumiendo obras a coste cero solo para sumar volumen de facturación, perjudicando al resto del sector.
|
||||
* **Pérdida de tiempo masiva creando presupuestos:** Para hacer un presupuesto a medida (porque cada baño tiene unas medidas y recortes diferentes), las empresas pierden muchísimo tiempo metiendo referencias una a una en sus sistemas.
|
||||
* **Inviabilidad de hacer 3D para obras pequeñas:** No les sale a cuenta (por tiempo y coste) hacer un render 3D o diseño complejo para la reforma de un solo baño, perdiendo impacto comercial en estas ventas menores.
|
||||
|
||||
### **🟢 Oportunidades (Features clave para el SaaS)**
|
||||
|
||||
* **Encriptación de Referencias (MUST-HAVE):** El SaaS debe generar presupuestos con un **sistema de doble nomenclatura**. Una referencia interna para que la empresa sepa qué pedir al proveedor, y un código genérico/externo de cara al cliente. Así el cliente no puede ir a otra tienda a pedir la "Cerámica Modelo X". Esta funcionalidad fue descrita como "canela fina" y resolvería uno de sus mayores problemas.
|
||||
* **Generación Paramétrica Rápida:** Reducir el tiempo de creación de presupuestos de horas a minutos.
|
||||
* **Renderizado de bajo esfuerzo (IA):** Poder ofrecer la previsualización del baño/cocina a clientes de reformas pequeñas sin necesidad de que la empresa gaste horas modelando en CAD/SketchUp.
|
||||
* **Ecosistema de Comisiones (Modelo de Negocio B2B2B):** Las empresas crecen organizando eventos y pagando comisiones (10% \- 15%) a arquitectos e interioristas que les traen clientes. El SaaS podría facilitar el envío de propuestas a través de estos intermediarios.
|
||||
|
||||
## **💡 Conclusión y Validación de la Idea Original**
|
||||
|
||||
La entrevista **valida rotundamente** la necesidad de tu SaaS, pero añade un matiz técnico que no tenías en el radar y que es vital para vender el software a los profesionales:
|
||||
|
||||
1. **Validación del Efecto WOW (IA):** Confirmado. La falta de visualización bloquea ventas y el software actual es malo. Tu solución de usar la foto del móvil \+ IA es un "game-changer".
|
||||
2. **El "Feature Killer" B2B:** Además de la velocidad y el render de IA, debes incluir obligatoriamente el **sistema de ocultación de referencias (nomenclatura doble)**. Si le dices a un reformista: *"Este programa te hace presupuestos en 5 minutos con foto IA, y además oculta los nombres de los azulejos para que el cliente no se vaya a la competencia con tu trabajo"* \-\> Tienes la venta cerrada.
|
||||
293
docs/funnel.md
Normal file
@@ -0,0 +1,293 @@
|
||||
# Reformix — Funnel completo (v2, sync con blueprint del 22-may)
|
||||
|
||||
Documento del funnel punta a punta para compartir con el equipo y/o reconstruir en Miro/FigJam.
|
||||
Stack actualizado: **Retell + ElevenLabs + Zadarma + Evolution API/WhatsApp Business + Nano Banana 2/Image 2 + GPT-4o + Postgres + S3 + SMTP**.
|
||||
|
||||
---
|
||||
|
||||
## 1. Vista global (ASCII — pegable en WhatsApp/Slack)
|
||||
|
||||
```
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
FUNNEL B2B (REFORMISTA) ──► FUNNEL B2C (CLIENTE FINAL)
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
|
||||
Ad / Outreach / Referido
|
||||
│
|
||||
▼
|
||||
Landing B2B Reformix Ads / SEO / Web reformista
|
||||
"Vende más reformas con IA" │
|
||||
│ ▼
|
||||
▼ ┌─────────────────────┐
|
||||
Demo del widget en landing │ 1. Landing reformista│
|
||||
│ │ "Presu en 5 min" │
|
||||
▼ │ + imagen │
|
||||
Signup trial 14d │ antes/después │
|
||||
│ └─────────┬───────────┘
|
||||
▼ │ ~40% completa
|
||||
Configura perfil + catálogo ▼
|
||||
(genera script del agente) ┌─────────────────────┐
|
||||
│ │ 2. FORM: nombre + │
|
||||
▼ │ tel + email + │
|
||||
Embebe widget en su web │ opt-in LSSI+RGPD │
|
||||
│ ─────────────────┐ └─────────┬───────────┘
|
||||
│ │ │ ~85% sube
|
||||
▼ │ ▼
|
||||
PAGA Pro 79€/mes │ ┌─────────────────────┐
|
||||
(15 leads incl + │ │ 3. Sube 2-4 fotos │
|
||||
2,5€/lead extra) │ │ (opcional DIN-A4) │
|
||||
│ │ └─────────┬───────────┘
|
||||
│ │ │
|
||||
│ │ ▼
|
||||
│ │ ┌─────────────────────┐
|
||||
│ │ │ 4. SMS + WhatsApp │
|
||||
│ │ │ pre-llamada │
|
||||
│ │ │ (Evolution API o │
|
||||
│ │ │ WA Business API) │
|
||||
│ │ └─────────┬───────────┘
|
||||
│ │ │ ~70% descuelga
|
||||
│ │ ▼
|
||||
│ │ ┌─────────────────────┐
|
||||
│ │ │ 5. LLAMADA AGENTE IA│
|
||||
│ configuración │ │ Retell+ElevenLabs │
|
||||
│ genera el ──────┼──────►│ Núm fijo provincial│
|
||||
│ script │ │ vía ZADARMA │
|
||||
│ │ │ 3-5 min cualif. │
|
||||
│ │ │ Detecta licencia │
|
||||
│ │ └─────────┬───────────┘
|
||||
│ │ │ ~85% completa
|
||||
│ │ ▼
|
||||
│ │ ┌─────────────────────┐
|
||||
│ │ │ 6. Pipeline (60s): │
|
||||
│ │ │ • GPT-4o Vision │
|
||||
│ │ │ • Nano Banana 2 / │
|
||||
│ │ │ Image 2 render │
|
||||
│ │ │ • Motor presupuesto│
|
||||
│ │ │ • PDF branding │
|
||||
│ │ └─────────┬───────────┘
|
||||
│ │ │
|
||||
│ │ ├──────┐
|
||||
│ │ ▼ ▼
|
||||
│ Email + ┌───────┴───┐ ┌──────────┐ ┌──────────┐
|
||||
│ panel ◄─┤ 8. LEAD │ │ 7a.Whats │ │7b.Cliente│
|
||||
│ reform. │ caliente │ │ App al │ │ recibe │
|
||||
│ (SMTP) │ al panel │ │ cliente │ │ render+ │
|
||||
│ │ (transcr+ │ │ render+ │ │ PDF en │
|
||||
│ │ entidades │ │ PDF + │ │ <60s tras│
|
||||
│ │ +render+ │ │ CTA │ │ colgar │
|
||||
│ │ presu+ │ │ "visita │ └────┬─────┘
|
||||
│ │ datos) │ │ gratis" │ │ ~25%
|
||||
│ └─────┬─────┘ └──────────┘ ▼
|
||||
│ │ ┌──────────┐
|
||||
│ │ │ Cliente │
|
||||
│ ▼ │ pide │
|
||||
│ Reformista ◄──────────────────┤ visita │
|
||||
│ hace visita └──────────┘
|
||||
│ │ ~30% cierra
|
||||
│ ▼
|
||||
│ Cliente firma contrato + obra
|
||||
│ │
|
||||
│ ▼
|
||||
│ Reformista introduce PRECIO FINAL en panel
|
||||
│ │
|
||||
│ ▼
|
||||
│ [alimenta métrica precisión →
|
||||
│ sello "Precio Justo Certificado"]
|
||||
│
|
||||
▼
|
||||
Recurrencia mensual / Churn / Sello / Overage 2,5€/lead
|
||||
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
UPSELL
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
La persona recibe una llamada con peticiones y pasa directamente al
|
||||
sistema de presupuestos (skip wizard, callback inmediato).
|
||||
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
FASE 2 (mes 9+) — VALORADOR + MARKETPLACE B2C
|
||||
═══════════════════════════════════════════════════════════════════════
|
||||
|
||||
Propietario con presupuesto recibido de otro reformista
|
||||
│
|
||||
▼
|
||||
Sube presupuesto al valorador "Precio Justo"
|
||||
│
|
||||
▼
|
||||
IA evalúa vs base de datos histórica de Fase 1
|
||||
│
|
||||
▼
|
||||
┌────────────────────┬─────────────────────┐
|
||||
│ Dentro banda ±15% │ Fuera de banda │
|
||||
│ "razonable" │ "pide 2ª opinión" │
|
||||
│ CTA suave │ CTA fuerte │
|
||||
└────────────────────┴──────────┬──────────┘
|
||||
│ ~12-18%
|
||||
▼
|
||||
Lead caliente → Reformista
|
||||
certificado de su zona
|
||||
│
|
||||
▼
|
||||
Comisión 50-150€/lead
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Mermaid (renderiza en GitHub, Notion, VSCode con extensión, Obsidian)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
%% B2B Reformista
|
||||
subgraph B2B["🏢 FUNNEL B2B — Reformista"]
|
||||
A1[Ad / Outreach / Referido] --> A2[Landing B2B Reformix]
|
||||
A2 --> A3[Demo widget en landing]
|
||||
A3 --> A4[Signup trial 14d]
|
||||
A4 --> A5[Configura perfil + catálogo]
|
||||
A5 --> A6[Sistema genera<br/>script del agente]
|
||||
A6 --> A7[Embebe widget en su web]
|
||||
A7 --> A8[💰 Paga Pro 79€/mes<br/>15 leads incl + 2,5€/lead extra]
|
||||
end
|
||||
|
||||
%% B2C Cliente final
|
||||
subgraph B2C["🏠 FUNNEL B2C — Cliente final del reformista"]
|
||||
C1[Ads / SEO / Web del reformista]
|
||||
C1 --> C2[1. Landing del reformista<br/>+ imagen antes/después]
|
||||
C2 -->|~40% completa form| C3[2. Form: nombre + tel + email<br/>opt-in LSSI + RGPD]
|
||||
C3 -->|~85%| C4[3. Sube 2-4 fotos<br/>opcional DIN-A4]
|
||||
C4 --> C5[4. SMS + WhatsApp pre-llamada<br/>Evolution API / WA Business]
|
||||
C5 -->|~70% descuelga| C6[5. Llamada agente IA<br/>Retell + ElevenLabs<br/>Núm fijo provincial vía ZADARMA<br/>3-5 min cualificación<br/>Detecta licencia urbanística]
|
||||
C6 -->|~85% completa| C7[6. Pipeline post-llamada 60s<br/>GPT-4o Vision +<br/>Nano Banana 2 / Image 2 render +<br/>Motor presupuesto +<br/>PDF con branding]
|
||||
C7 --> C8a[7a. Cliente recibe por WhatsApp:<br/>render + PDF + CTA visita]
|
||||
C7 --> C8b[7b. Lead caliente al panel<br/>del reformista + email SMTP]
|
||||
C8a -->|~25% pide visita| C9[Cliente solicita visita gratuita]
|
||||
end
|
||||
|
||||
%% Conexiones
|
||||
A7 -.widget activo en su web.-> C1
|
||||
A6 -.configuración aprende el script.-> C6
|
||||
C8b --> R1[Reformista hace visita]
|
||||
C9 --> R1
|
||||
R1 -->|~30% cierra| R2[Cliente firma contrato y obra]
|
||||
R2 --> R3[Precio final en panel<br/>→ sello Precio Justo]
|
||||
R3 --> A8
|
||||
|
||||
%% Upsell
|
||||
C2 -.upsell.-> US[Persona recibe llamada con peticiones<br/>y pasa directamente al sistema de presupuestos]
|
||||
US --> C7
|
||||
|
||||
%% Fase 2
|
||||
R3 -.alimenta dataset.-> F1
|
||||
subgraph F2["🔮 FASE 2 (mes 9+) — Valorador + Marketplace"]
|
||||
F1[Propietario con<br/>presupuesto de otro reformista]
|
||||
F1 --> F2a[Sube presupuesto al valorador]
|
||||
F2a --> F3[IA evalúa vs base histórica]
|
||||
F3 --> F4{Veredicto}
|
||||
F4 -->|Dentro ±15%| F5[Razonable]
|
||||
F4 -->|Fuera de banda| F6[CTA segunda opinión gratuita]
|
||||
F6 -->|~12-18%| F7[Lead → reformista certificado de zona]
|
||||
F7 --> F8[Comisión 50-150€]
|
||||
end
|
||||
|
||||
style A8 fill:#10b981,color:#fff
|
||||
style C6 fill:#f59e0b,color:#000
|
||||
style C7 fill:#8b5cf6,color:#fff
|
||||
style C8a fill:#22d3ee,color:#000
|
||||
style F7 fill:#10b981,color:#fff
|
||||
style US fill:#fbbf24,color:#000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Para reconstruir en Miro / FigJam (5 min)
|
||||
|
||||
Crea **3 swimlanes verticales** (carriles) de izquierda a derecha:
|
||||
|
||||
### Carril 1 — REFORMISTA (B2B SaaS) — color azul
|
||||
|
||||
1. Ad / Outreach / Referido
|
||||
2. Landing B2B "Vende más reformas con IA"
|
||||
3. Demo widget en landing
|
||||
4. Signup trial 14 días
|
||||
5. Configura perfil + catálogo (genera script del agente)
|
||||
6. Embebe widget en su web (→ conecta con cliente final)
|
||||
7. **PAGA Pro 79 €/mes** (15 leads incluidos + 2,5 €/lead extra) — verde grande
|
||||
8. Recurrencia / Churn / Sello "Precio Justo"
|
||||
|
||||
### Carril 2 — CLIENTE FINAL del reformista — color naranja
|
||||
|
||||
Bloque "Acquisition":
|
||||
- Ads / SEO / Web del reformista (3 burbujas convergiendo)
|
||||
|
||||
Bloque "Captura":
|
||||
1. Landing del reformista — *"Presupuesto en 5 minutos"* + **imagen antes/después** *"Envíanos tu foto y ve cómo quedará tu reforma en 5 minutos"*
|
||||
2. **FORM** — nombre + tel + email + opt-in LSSI/RGPD ← **40 % drop**
|
||||
3. Sube 2-4 fotos (opcional DIN-A4) ← **15 % drop**
|
||||
4. **SMS + WhatsApp pre-llamada** (Evolution API / WhatsApp Business API)
|
||||
5. **LLAMADA AGENTE IA** (caja grande amarilla) — núm fijo provincial vía **Zadarma** / **Retell + ElevenLabs** / 3-5 min ← **30 % drop**
|
||||
6. **Pipeline post-llamada 60 s** — GPT-4o Vision + **Nano Banana 2 / Image 2** + Motor presupuesto + PDF
|
||||
7. **DOBLE OUTPUT** (dos cajas en paralelo):
|
||||
- 7a: **WhatsApp** al cliente con render + PDF + CTA "visita gratuita"
|
||||
- 7b: Email **SMTP** + lead caliente al panel del reformista
|
||||
|
||||
Bloque "Conversión real":
|
||||
8. Cliente pide visita gratuita ← **75 % drop**
|
||||
9. Reformista hace visita
|
||||
10. Cliente firma contrato ← **70 % drop**
|
||||
11. **PRECIO FINAL en panel** (alimenta sello)
|
||||
|
||||
**Upsell extra (caja amarilla flotante):** *"La persona recibe una llamada con peticiones y pasa directamente al sistema de presupuestos"* — skip wizard, callback inmediato.
|
||||
|
||||
### Carril 3 — FASE 2 (mes 9+) — color púrpura, marcado "futuro"
|
||||
|
||||
1. Propietario con presupuesto recibido (de otro reformista)
|
||||
2. Sube al valorador "Precio Justo"
|
||||
3. IA evalúa vs base histórica
|
||||
4. **Decisión (rombo)**: dentro banda ±15 % → "razonable" / fuera de banda → CTA segunda opinión
|
||||
5. Lead canalizado a reformista certificado de su zona
|
||||
6. **Comisión 50-150 €**
|
||||
|
||||
### Conexiones cruzadas (flechas punteadas)
|
||||
|
||||
- Carril 1 paso 5 (configuración) ⇢ Carril 2 paso 5 (llamada agente) — *"El agente conoce su catálogo"*
|
||||
- Carril 1 paso 6 (embebe widget) ⇢ Carril 2 paso 1 (landing) — *"Widget activo en su web"*
|
||||
- Carril 2 paso 11 (precio final) ⇢ Carril 3 paso 3 (base histórica) — *"Alimenta el dataset"*
|
||||
- Carril 3 paso 5 (lead certificado) ⇢ Carril 1 paso 8 (recurrencia) — *"Cierra el círculo"*
|
||||
|
||||
### Métricas clave en cada paso (post-its)
|
||||
|
||||
| Step | Métrica objetivo |
|
||||
|---|---|
|
||||
| Landing → form | > 40 % |
|
||||
| Form → fotos | > 85 % |
|
||||
| Fotos → llamada descolgada | > 70 % |
|
||||
| Llamada → completada | > 85 % |
|
||||
| Completada → recepción WhatsApp | > 95 % |
|
||||
| WhatsApp → solicita visita | > 25 % |
|
||||
| Visita → firma | > 30 % |
|
||||
| Tiempo total cliente (form → WhatsApp con render) | **< 7 min** |
|
||||
| Touchless rate (sin retoque del reformista) | **> 80 %** |
|
||||
| Precisión presupuesto (estimado vs final firmado) | **±15 % en > 70 % casos** |
|
||||
|
||||
---
|
||||
|
||||
## 4. Stack técnico actualizado (sync con blueprint del 22-may)
|
||||
|
||||
| Capa | Servicio |
|
||||
|---|---|
|
||||
| Frontend + Backend | Next.js 14 (App Router + Server Actions + API Routes) → Vercel |
|
||||
| UI | Tailwind + shadcn/ui |
|
||||
| Agente de voz | **Retell.ai** + **ElevenLabs** voces premium ES |
|
||||
| Telefonía | **Zadarma** (números fijos provinciales) |
|
||||
| WhatsApp | **WhatsApp Business API o Evolution API** |
|
||||
| Render IA | **Nano Banana 2 o Image 2** (Google Gemini) |
|
||||
| Análisis foto + presupuesto + extracción entidades | GPT-4o (Vision + Chat) |
|
||||
| Base de datos | **Postgres** |
|
||||
| Storage | **S3** (AWS / R2 / MinIO) |
|
||||
| Email transaccional | **SMTP** |
|
||||
| PDF | react-pdf o Puppeteer |
|
||||
| Analytics | PostHog |
|
||||
|
||||
---
|
||||
|
||||
## 5. Tagline para colocar arriba del Miro
|
||||
|
||||
> *"Un mercado de reformas más justo. El cliente final recibe en 5 minutos lo que antes le costaba 2 visitas y 2 semanas. El reformista honesto se diferencia automáticamente."*
|
||||
7
docs/ideas iniciales.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
- Centrarse en pocas features pero que funcionen bien
|
||||
- Tampoco ir al resultado preciso, hay que lograr el efecto WoW
|
||||
- Leads a 1,5€
|
||||
- Efecto de imagen/video del antes y después
|
||||
- Entrega de PDF personalizado
|
||||
- Enviando una foto con un dina4 averiguar medidas realistas
|
||||
324
docs/investigacion-competencia-internacional.md
Normal file
@@ -0,0 +1,324 @@
|
||||
# Investigación de competencia internacional — Reformix
|
||||
|
||||
**Fecha:** 21 de mayo de 2026
|
||||
**Objetivo:** Mapear el panorama competitivo de Reformix (widget embebible de presupuesto IA + render para reformas en España) cruzando tres bloques: competencia directa internacional, herramientas de visualización IA y analogías de presupuesto automático en otros nichos.
|
||||
**Metodología:** ~30 búsquedas WebSearch + cruces con G2, Capterra, Trustpilot, SoftwareAdvice, SaaSWorthy y webs oficiales.
|
||||
|
||||
---
|
||||
|
||||
## Resumen ejecutivo
|
||||
|
||||
El mercado mundial de software de presupuesto con IA para contratistas está en plena explosión y se ha bifurcado en tres categorías muy claras: (1) **Estimating tools B2B** que generan presupuestos detallados a partir de fotos/planos (Handoff AI, BuildFolio, Buildxact, Togal); (2) **Visualizadores AI embedibles** que generan render + capturan lead (See It Done, Renoworks Pro, GeoQuote); y (3) **All-in-one platforms** que mezclan ambos (Houzz Pro). En España existen actores nacionales con calculadora online (Homik, Plan Reforma, Presupuestor, PresupuestaIA, Habitissimo), pero **ninguno** combina hoy widget embebible + render IA + flujo experto de licencia urbanística + valorador de presupuesto del propietario bajo el branding del reformista. La analogía más fuerte de otros nichos es **Tractable / Solera Audatex** (chapa y pintura de automoción), donde la combinación foto-IA-presupuesto ya genera ~2.000 millones USD anuales en valoración de daños y donde el pagador es B2B (aseguradoras y talleres). Pricing realista para autónomo/empresa pequeña española: **29-99 €/mes** está alineado con el mercado (BuildFolio $29, Foyr Neo $29, Handoff $39, Reimagine $29-49). El hueco específico está en la **integración total española** (precios m² regionales, normativa autonómica de licencia, valorador "precio justo" como gancho B2C que canaliza leads al reformista pagador).
|
||||
|
||||
---
|
||||
|
||||
## Bloque 1 — Competencia directa internacional
|
||||
|
||||
Foco: herramientas que ofrecen render + presupuesto + branding del contratista + captura de lead embebido como widget. Es el espacio core de Reformix.
|
||||
|
||||
### Tabla maestra de competidores
|
||||
|
||||
| Nombre | URL | Pricing público | Target | Widget vs App vs API | Features clave | ¿Junta render+presupuesto+branding+lead? | Operativo 2026 | Notas |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| **See It Done** | seeitdone.ai | Sí (planes flexibles, exactos no públicos; Pro con white-label) | Contractors (B2B) | **Widget embebible** (WP, Wix, Squarespace, custom) | Foto → before/after en segundos; branding completo (logo, colores); embed con 1 línea de código; mobile responsive; reclama 3x más leads | **Render + branding + lead: SÍ. Presupuesto: NO (sólo visual)** | Sí | Es lo más parecido a Reformix en formato, pero les falta la pieza de presupuesto desglosado y la capa local española |
|
||||
| **BuildFolio** | build-folio.com | **Free / $29-39/mes Pro** | Contractors (B2B) | App + Widget AI Photo-to-Quote | Lead capture (50/mes en Free), AI photo-to-quote en <60s con price book propio (Good/Better/Best), QuickBooks sync, SMS automation, financing widget, invoicing | **Presupuesto + lead: SÍ. Render: NO** | Sí | Pricing similarísimo al de Reformix. Ataca el segmento "contractor pequeño" que es nuestro target |
|
||||
| **RenoCalc** | renocalcapp.com / renocalc.com.au | "Primer presupuesto gratis", planes pagos no públicos | Builders/Renovators | Web app | IA escanea floor plan → detecta habitaciones, mide, genera presupuesto con materiales + mano de obra; 12 oficios; Excel en vivo; 150+ países con tarifas locales (UK, UAE, USA, AUS) | **Presupuesto: SÍ (muy detallado). Render: NO. Lead capture: parcial** | Sí | El más fuerte en presupuesto detallado a partir de plano. No es widget para web de contractor |
|
||||
| **Handoff AI** | handoff.ai | **$39 Starter / $119 Business / $299 Pro** | Remodelers + Handymen (B2B) | iOS, Android, desktop web | AI estimates desde texto/voz/foto/PDF, entrenado en 100k+ obras residenciales + 60M SKUs, costes diarios por ciudad US, CRM, invoicing, integraciones QuickBooks | Presupuesto + CRM, **no widget público ni render** | Sí | Líder de mercado en US para remodelers. Reclama estimaciones dentro de $100 de bids manuales. Compite indirectamente |
|
||||
| **Buildxact** | buildxact.com | **$199 Foundation / $399 Pro / $599 Master /mes** (-15% anual) | Builders/Remodelers medianos (B2B) | Web app + Blu AI assistant | Takeoff, estimating, scheduling, project mgmt, connect con dealers locales para precios en tiempo real, Blu AI integrado | **No widget. No render avanzado** | Sí | Demasiado caro y demasiado ERP para nuestro target |
|
||||
| **Houzz Pro** | houzz.com/pro | **$55 Starter / $100-200 Standard / $250-400 Pro** (anual) | Designers + Contractors | All-in-one platform | 3D floor plans, AI render (AutoMate), CRM, lead gen desde Houzz marketplace, proposals, AI replies a leads | **SÍ junta todo, pero NO en widget embebible del contractor** — todo vive en Houzz | Sí | Competidor más serio en visión amplia. Su marketplace propio (Houzz) es donde concentran los leads, no en webs del contractor |
|
||||
| **Renoworks Pro** | renoworkspro.com / renoworks.com | Pricing personalizado (anual/mensual, no público) | Contractors exteriores principalmente | Web + Lead Pod dashboard | AI Instant Design + 3D Model Design con 300+ brands/SKUs, EagleView, Lead Pod con todo el contexto del lead, integración con Angi Leads | **SÍ junta render + lead + branding. Presupuesto desglosado: limitado a productos** | Sí | Fortísimo en exteriores (siding, roofing) — no interiores. Reportan +300% upsell |
|
||||
| **JobTread** | jobtread.com | **$199/mes mensual o $159/mes anual** + $20/usuario extra | Builders/Remodelers (B2B) | Web app | Project mgmt, estimating, CRM. No es AI-first | No widget, no render | Sí | ERP competidor de Houzz Pro/Buildxact |
|
||||
| **JobNimbus** | jobnimbus.com | **$225-$550/mes** + $20-75/usuario | Roofers principalmente, contractors | Web app + CRM | Pipeline, estimating, no AI-first | No widget de propietario | Sí | Líder roofing CRM US |
|
||||
| **Contractor Foreman** | contractorforeman.com | Desde **$49/mes** | Small contractors | Web/mobile app | Project mgmt, estimating, no AI-first ni render | No widget | Sí | Opción "low cost" pero sin IA |
|
||||
| **GeoQuote** | geoquote.ai | **$199 Growth / $299 Off-season / $999 Peak / $499 one-time** | Roofers + Solar (B2B) | **Widget embebible** | Homeowner introduce dirección → satélite Google Solar API → estimate en <60s usando tarifa del contractor → SMS verify → AI books appointment | **Presupuesto + lead + appointment: SÍ. Render: NO (foto satélite). Branding: SÍ** | Sí | **Modelo análogo casi exacto a Reformix pero para tejados/solar.** Confirma que el formato widget-en-web-del-contractor con quote instantáneo funciona |
|
||||
| **XBuild** | x.build | No público (custom) | Contractors | Plataforma | AI estimating, takeoff | No widget propietario | Sí | Competidor de Handoff |
|
||||
| **Togal.AI** | togal.ai | **~$299/mes/user anual** | Estimators profesionales | App | Floor plan takeoff con 98% accuracy en 12 min | No widget, no render homeowner | Sí | Demasiado pro/enterprise |
|
||||
| **Kreo** | kreo.net | Desde **$35/mes** Caddie AI | Estimators | App | AI takeoff barato | No widget, no render | Sí | El más barato del estimating puro |
|
||||
| **Reimagine Home** | reimaginehome.ai | **$14 / $29 / $49 / $99/mes** | Homeowners + interior designers | Web app + API enterprise | Render IA de espacios, virtual staging, API para integradores | Sólo render, B2C principalmente | Sí | Competidor en pieza de render. Su API podría ser proveedor técnico, no competidor directo del modelo |
|
||||
| **Modsy** | modsy.com | — | Homeowners | Web app | Diseño interior + lista de compra | — | **NO — cerró julio 2022** | Caso de estudio: B2C puro de diseño no llegó a unit economics |
|
||||
| **Decoratify** | — | — | — | — | — | Sin información clara — | No verificable; Decorilla (distinto) sigue activa |
|
||||
| **Decorilla** | decorilla.com | **$299-$2.595 por habitación** | Homeowners | Web app | Servicio híbrido AI+diseñador humano, shopping list | B2C servicio, no software para contractor | Sí | Modelo B2C de "diseño full-service". No es competidor directo de Reformix |
|
||||
| **Planner 5D** | planner5d.com | Desde **$4.99/mes** | Mass consumer + pros | App | 3D floor plan + AI Designer | Sin presupuesto desglosado profesional | Sí | Demasiado consumer |
|
||||
|
||||
### Hallazgos críticos del Bloque 1
|
||||
|
||||
1. **See It Done es nuestro competidor más directo en formato**, pero les falta presupuesto desglosado, normativa española y valorador. Reclaman 3× conversión, lo que valida la tesis del widget-en-web-del-contractor.
|
||||
2. **GeoQuote demuestra el modelo "widget que pide datos → genera quote → captura lead" con éxito en roofing/solar**, exactamente la misma arquitectura que proponemos para reformas. Pricing 199-999€/mes equivalente.
|
||||
3. **BuildFolio es el referente más cercano a nuestro pricing target** (29-39 $/mes) y confirma que ese punto de precio es viable para microcontratistas si la IA aporta valor inmediato (60s a quote).
|
||||
4. **Handoff AI** es el líder estadounidense para remodelers a $39-119/mes y ha facturado en serio con esa estructura — exactamente el rango Reformix.
|
||||
5. **Houzz Pro es el rival sistémico**: tiene render + lead + presupuesto + branding pero todo dentro de Houzz, no embebido en la web del contractor. Cobran $55-400/mes. Si entran al mercado español con su widget propio, sería el riesgo #1.
|
||||
6. **Modsy cerró en 2022** — lección importante: B2C puro de diseño interior no llegó a unit economics rentables. Reforzar B2B SaaS como modelo principal.
|
||||
|
||||
---
|
||||
|
||||
## Bloque 2 — AI visualizer / render para interiores (la pieza WOW)
|
||||
|
||||
Foco: candidatos a usarse como **motor de render técnico** detrás de Reformix o, en su caso, competidores en la pieza visual.
|
||||
|
||||
### Tabla de visualizadores AI
|
||||
|
||||
| Herramienta | URL | Pricing | API | Calidad render (reviews) | Posición vs Reformix |
|
||||
|---|---|---|---|---|---|
|
||||
| **Reimagine Home** | reimaginehome.ai | $14 / $29 / $49 / $99/mes (créditos) | **Sí** (enterprise, custom) | Photo-realistic alta; muy positivo en reviews | **Potencial proveedor técnico** o referencia. No compite por lead capture del reformista |
|
||||
| **Spacely AI** | spacely.ai | **Free / $15 Starter / $45 Studio / $120 Business** + Enterprise API | **Sí** (enterprise.spacely.ai) | Buena; orientado a designers y B2B | **Proveedor técnico candidato** para Reformix. Pricing API competitivo, casos B2B con builders documentados |
|
||||
| **RoomGPT** | roomgpt.io | Free / **$15/mes** Basic | No público | Aceptable, salidas free de menor calidad | Competidor B2C masivo, sin lead capture pro |
|
||||
| **Collov AI** | collov.ai | **$21 / $49 / $79/mes + Enterprise** ($0.27/imagen) | **Sí (Premium ~$59/mes incluido)** | Buena, marketing real estate | **Proveedor técnico candidato.** Tiene Virtual Staging API |
|
||||
| **Decorilla** | decorilla.com | $299-$2.595/habitación | No | Premium (diseñador real + IA) | No es competidor — modelo distinto |
|
||||
| **ArchiVinci** | archivinci.com | Hasta **$79/mes** | No público | Bueno en exteriores y arquitectónico | Especializado en arquitectura, podría inspirar UX render |
|
||||
| **Planner 5D** | planner5d.com | Desde **$4.99/mes** | No | Diseño 3D + AI Designer | Mass-market; no compite en widget contractor |
|
||||
| **Foyr Neo** | foyr.com | **$29 Basic / $55 Standard / $99 Premium** | No público (sólo app) | Render photorealistic en minutos | Activo en 2026. Sin presupuesto integrado |
|
||||
| **DecorAI** | app.decorai.io | Planes ilimitados interior/exterior | No público | Bueno B2C | Competidor B2C |
|
||||
| **HomeGPT** | homegpt.app | Free + premium | No | Aceptable | B2C lead |
|
||||
| **Renovate AI** | studio.renovateai.app | Free + paid | No | Aceptable | B2C |
|
||||
| **Ideal House** | ideal.house | Free + paid | No | Bueno | B2C |
|
||||
| **Pixelcut** | pixelcut.ai | Free + paid | Parcial | Aceptable | Editor general con función render |
|
||||
| **AI Smart Decor** | aismartdecor.com | Variable | No | Aceptable | B2C |
|
||||
|
||||
### Hallazgos críticos del Bloque 2
|
||||
|
||||
- **El mercado de visualizadores AI puros es commodity**: hay docenas de tools que generan render desde foto a precio de 14-99 €/mes. Es una **batalla de capa fina**.
|
||||
- **El verdadero foso defensivo está en la integración** (render + presupuesto + lead + normativa + branding), no en el render por sí mismo.
|
||||
- **Estrategia técnica recomendada**: usar Spacely API, Collov API o Reimagine API como motor (precio variable por imagen ~$0.10-0.50) y construir encima la lógica de presupuesto + flow + branding + lead. Eso reduce riesgo de ingeniería y nos enfoca en el valor diferencial.
|
||||
- El mercado de AI interior design **alcanzó $3.28B en 2025 y se proyecta $15B en 2033** (CAGR ~21%), validando demanda.
|
||||
|
||||
---
|
||||
|
||||
## Bloque 3 — Presupuestos automáticos con IA en OTROS nichos (las analogías clave)
|
||||
|
||||
Este es el bloque más valioso porque demuestra que **el modelo "foto → IA → presupuesto → pagador profesional" ya funciona a escala industrial** en otros sectores.
|
||||
|
||||
### 3.1 Automoción / chapa y pintura — LA ANALOGÍA MÁS FUERTE
|
||||
|
||||
| Player | URL | Modelo | Pagador | Pricing | Lecciones para Reformix |
|
||||
|---|---|---|---|---|---|
|
||||
| **Tractable** | tractable.ai | Foto del coche dañado → IA computer vision → estimación de reparación en segundos | **B2B**: aseguradoras + talleres + flotas | Custom enterprise (contratos por volumen) | ~$2B en reparaciones procesadas/año, +1M clientes. Demuestra que foto-IA-presupuesto es industrial y escalable. Admiral Seguros: 90% estimaciones touchless, 98% en <15 min |
|
||||
| **Solera Audatex (Qapter)** | claims.solera.com / audatex.us | Foto → IA → line-by-line estimate en minutos. 4.5B+ imágenes entrenamiento, 88% vehículos | **B2B**: aseguradoras + talleres globales | Enterprise custom (líder mundial) | Más estimates al día que históricamente en una semana. Es la "incumbente" — peso de datasets gigantes es el moat |
|
||||
| **CCC ONE** | cccis.com | Estimating colisión, parts pricing, workflow | B2B taller | $200-500/usuario/mes | Modelo B2B alto ticket, distinto al nuestro |
|
||||
| **Mitchell Cloud** | mitchell.com | Estimating + insurer connectivity | B2B | $150/usuario/mes | Idem |
|
||||
|
||||
**Lección operativa #1 (la más importante del informe):** En auto body, **quien paga es la aseguradora/taller, NO el dueño del coche**. El propietario sólo es el origen del input (la foto). El presupuesto B2C cero coste para el cliente, pero monetizado vía SaaS B2B. **Eso es exactamente lo que proponemos en Reformix**: el propietario sube foto gratis, el reformista paga la suscripción.
|
||||
|
||||
**Lección operativa #2:** Tractable demuestra que el **valor de la IA aumenta exponencialmente con volumen de datos histórico**. Reformix debería diseñarse desde el día 1 para capturar cada presupuesto, cada foto, cada deal cerrado/perdido, para entrenar un modelo propio que se vuelva un moat con el tiempo.
|
||||
|
||||
**Lección operativa #3:** El "touchless rate" (90% de estimaciones sin intervención humana) es la métrica norte. Si Reformix llega al 80% de presupuestos generados sin que el reformista tenga que retocar, hemos ganado.
|
||||
|
||||
### 3.2 Dental — analogía B2B clínica
|
||||
|
||||
| Player | URL | Modelo | Pagador | Pricing |
|
||||
|---|---|---|---|---|
|
||||
| **Pearl AI** | hellopearl.com | Análisis radiografía → detección + estimación tratamiento + breakdown coberturas | **B2B** clínicas dentales + aseguradoras | **~$300/mes Second Opinion / ~$800/mes bundle full** + setup $1.500/$500 |
|
||||
| **Overjet** | overjet.com | AI radiografía + insurance benefits → estimate pre-tratamiento con cobertura | **B2B** clínicas + aseguradoras (Dental Clarity Network) | Custom enterprise. Reportan +10-20% case acceptance |
|
||||
|
||||
**Lección:** Pearl/Overjet validan que **un B2B pagador (clínica) acepta pagar $300-800/mes por una IA que mejora aceptación de presupuesto (case acceptance) en +10-20%**. Para Reformix, esto ancla un techo razonable: si el reformista percibe que el widget aumenta su conversión de leads en 15-20%, está dispuesto a pagar entre 29 y 199 €/mes según tamaño.
|
||||
|
||||
### 3.3 Mudanzas — analogía B2B SMB
|
||||
|
||||
| Player | URL | Modelo | Pagador | Pricing |
|
||||
|---|---|---|---|---|
|
||||
| **Yembo** | yembo.ai | Vídeo de la casa → IA inventario + cube sheet + weight + foto evidencia | **B2B**: empresas de mudanzas | Custom (uso, prepaid + overage). No publica |
|
||||
| **HomeSurvey.ai** | homesurvey.ai | Vídeo → AI inventory + move summary (3 escenarios), audit de move-day | **B2B**: movers | **$15/survey, sin mínimos ni seats**. 6.000+ users, $3B+ mudanzas procesadas |
|
||||
|
||||
**Lección operativa #4 (muy poderosa):** HomeSurvey demuestra un modelo **pay-per-use** ($15 por encuesta) sin seats ni mínimos. **Para Reformix podría funcionar un híbrido**: suscripción base 29 €/mes (incluye N presupuestos) + paquetes adicionales por encima. Esto reduce fricción de adopción en autónomos.
|
||||
|
||||
**Lección operativa #5:** Yembo y HomeSurvey demuestran que **el cliente final (el que se muda) no paga**, paga la moving company porque le ahorra desplazamientos a hacer presupuestos in-situ. **Mismo principio en Reformix**: el reformista paga porque le ahorra horas de visitas no convertidas y eleva la calidad del lead.
|
||||
|
||||
### 3.4 Paisajismo / jardinería
|
||||
|
||||
| Player | URL | Modelo | Pagador | Pricing |
|
||||
|---|---|---|---|---|
|
||||
| **QuoteIQ** | myquoteiq.com | MapMeasure Pro + AI Estimator | B2B contractors | **$29.99-$699/mes** |
|
||||
| **SatQuote** | satquote.com | Satélite + AI medición + quote | B2B | Variable |
|
||||
| **SiteRecon** | siterecon.ai | Takeoff puro con verificación humana | B2B | ~$200+/mes |
|
||||
| **LandscapioAI** | landscapioai.com | Foto → diseño + estimaciones | B2C+B2B | Free + paid |
|
||||
| **BuildFolio** | build-folio.com | Mismo $29/mes pero para landscaping | B2B | $29-39/mes |
|
||||
|
||||
**Lección:** Mismo pricing range que Reformix (29-199 €/mes para SMB). Confirma que la disposición a pagar de SMB en oficios manuales es estable.
|
||||
|
||||
### 3.5 Seguros generales / propiedad
|
||||
|
||||
| Player | URL | Modelo | Pagador | Pricing |
|
||||
|---|---|---|---|---|
|
||||
| **Plnar** | plnar.ai | Smartphone → 3D digital twin + medidas + repair estimate | **B2B**: aseguradoras propiedad | **Plnar Pro $9.99/user/mes** + 3D billing por sq.ft |
|
||||
| **Yembo Insurance** | yembo.ai/insurance | Self-inspection by homeowner via app | B2B aseguradoras | Custom |
|
||||
| **Sprout.ai** | sprout.ai | Claim automation end-to-end | B2B aseguradoras | Custom |
|
||||
|
||||
**Lección operativa #6:** Plnar muestra que **$9.99/user/mes + uso variable** es un modelo viable en sectores con muchos usuarios profesionales. Para Reformix, si crecemos a equipos de 10+, este modelo escalonado tiene sentido.
|
||||
|
||||
### 3.6 Construcción residencial (general)
|
||||
|
||||
Esto ya está en el Bloque 1 pero merece mención cruzada:
|
||||
|
||||
- **Togal.AI** $299/mes/usuario para estimators (alto ticket, target enterprise)
|
||||
- **Handoff AI** $39-299/mes (target SMB)
|
||||
- **STACK** $1.899-2.999/año
|
||||
- **Buildxact** $199-599/mes
|
||||
- **Kreo** $35/mes (entrada)
|
||||
|
||||
**Conclusión combinada Bloque 3:** Los 6 nichos confirman que el modelo "foto/vídeo del cliente → IA → presupuesto → contratista paga SaaS" es **validado, repetible y rentable**. El precio para autónomo/SMB se sitúa consistentemente entre 29-99 €/mes para entrada y 199-599 €/mes para empresas medianas.
|
||||
|
||||
---
|
||||
|
||||
## Bloque adicional — Panorama español
|
||||
|
||||
Actores locales identificados:
|
||||
|
||||
| Player | URL | Tipo | Pricing | Notas |
|
||||
|---|---|---|---|---|
|
||||
| **Homik** | homik.es | Calculadora B2C con IA (algoritmo + 6.300 presupuestos ejecutados) | **Gratis al usuario final**, monetizan vía 80+ constructoras adheridas | Reclaman 97% precisión. Compite indirectamente — son marketplace, no widget para el reformista |
|
||||
| **Plan Reforma** | planreforma.com | Calculadora + marketplace + Stimat (generador BC3) | Gratis al usuario + B2B Stimat | +200.000 cálculos desde 2012. Datos de mercado fuertes |
|
||||
| **Presupuestor** | presupuestor.com | IA generador de presupuesto obra (PDF profesional, 10 min) | Primer presupuesto free, planes pagos no públicos | Target = reformista pro |
|
||||
| **PresupuestaIA** | presupuestaia.es | ERP construcción + IA | Prueba 7 días, planes no claros | ERP integral |
|
||||
| **Budquo** | budquo.app | IA presupuestos arquitectos/promotores | No público | Target enterprise |
|
||||
| **Metrokubiko** | metrokubiko.com | Free + paid (agente IA Laura) | Free tier | Generalista |
|
||||
| **BuildGets** | buildgets.com | IA presupuestos obra + BC3 + PDF | No público | Target pro |
|
||||
| **Presupuesto.online** | presupuesto.online | IA sobre mediciones existentes | No público | Para arquitectos |
|
||||
| **Habitissimo** | habitissimo.es | Marketplace + estudios precios | Lead pricing al contractor | Histórico líder marketplace ES — +22% solicitudes 2025 vs 2024 |
|
||||
| **Cronoshare** | cronoshare.com | Marketplace + free para autónomos | Free pro + pago por lead premium | Idem |
|
||||
| **Vendomia** | vendomia.com | ERP reformas | **Desde 13,5 €/usuario/mes** | Verifactu español, no IA-first |
|
||||
| **Kubysoft** | kubysoft.com | ERP construcción | **49-99 €/mes** | ERP, no IA-first |
|
||||
| **Holded (construcción)** | holded.com | ERP general | **15-199 €/mes** | Genérico, deductible |
|
||||
| **STEL Order** | stelorder.com | Gestión obras | **36 €/mes + 18 €/user** | Generalista |
|
||||
| **Zucchetti / Solmicro** | zucchetti.es | ERP construcción | **17-46 €/mes** | Genérico |
|
||||
| **TobeStudio (analizar presupuesto)** | tobestudio.es | **Análisis de presupuesto** entregado en 24h por humanos | B2C pago | **MUY RELEVANTE**: confirma demanda B2C por "valorar presupuesto recibido". Reformix Fase 2 (valorador) tendría hueco |
|
||||
| **Calculaby** | calculaby.com | Calculadora + comparador | Free | Competidor lead B2C |
|
||||
|
||||
### Hallazgos críticos del panorama español
|
||||
|
||||
1. **Ningún actor español junta los 5 elementos (widget embebible del reformista + render + presupuesto + branding + lead + flow licencia + valorador).** Homik, Plan Reforma y Cronoshare son marketplace agregadores (compiten por lead, NO son el widget del reformista). Presupuestor/PresupuestaIA/Budquo son herramientas internas del reformista, no widgets de captura.
|
||||
2. **Existe demanda B2C confirmada por valoración de presupuestos** (TobeStudio cobra por análisis en 24h hecho por humanos). Esto valida la Fase 2 marketplace "Valora tu presupuesto justo".
|
||||
3. **Pricing local 13,5-99 €/mes está confirmado para ERPs sin IA**. Una propuesta con IA puede legítimamente situarse en el rango alto (49-99 €/mes) por diferenciación.
|
||||
4. **El autónomo español tiene cuota RETA ~88-206 €/mes en 2026** (mínima/típica), por lo que cualquier SaaS adicional debe justificar ROI muy claro. Reformix necesita prometer (y demostrar) +1 deal cerrado al mes para justificar 49-99 €/mes.
|
||||
|
||||
---
|
||||
|
||||
## Conclusiones — Respuestas directas a las 5 preguntas
|
||||
|
||||
### 1. ¿Existe ya un competidor que haga EXACTAMENTE lo nuestro?
|
||||
|
||||
**No, no se ha encontrado ningún competidor que combine todos los elementos en España o internacionalmente:**
|
||||
|
||||
| Elemento | Mejor competidor en ese eje | Pero les falta |
|
||||
|---|---|---|
|
||||
| Render IA embebido | See It Done | Presupuesto, normativa, valorador |
|
||||
| Presupuesto IA en widget | GeoQuote (roofing), BuildFolio | Render fotorealista de interior, valorador, normativa española |
|
||||
| Plataforma all-in-one con render+presupuesto+lead | Houzz Pro | Pero todo está en Houzz (marketplace), no como widget en la web del reformista; tampoco hay flujo experto licencia ni valorador |
|
||||
| Calculadora reforma España | Homik, Plan Reforma | Pero son marketplace B2C; no son widget del reformista, no hay render IA, no hay licencia, no hay branding profesional |
|
||||
| Valorador "precio justo" | TobeStudio | Pero es humano y manual; no IA, no integrado con widget del reformista |
|
||||
|
||||
**Conclusión inequívoca: el espacio está abierto.** La combinación "widget del reformista + render IA + presupuesto desglosado + branding + lead + sub-flujo licencia + valorador B2C como gancho" no la ofrece nadie de forma integrada en España. See It Done + BuildFolio juntos serían lo más cercano, pero ninguno es localizado, ninguno tiene render+presupuesto unidos, y ninguno tiene la pieza de valorador.
|
||||
|
||||
### 2. ¿Cuál es la analogía más fuerte de otro nicho y qué lecciones trae?
|
||||
|
||||
**Tractable + Solera Audatex (chapa y pintura automoción) es la analogía más fuerte.** Razones:
|
||||
|
||||
1. **Modelo idéntico**: cliente final sube foto → IA genera estimación → quien paga es el profesional (taller) o la aseguradora, no el cliente final.
|
||||
2. **Escala probada**: ~$2.000M USD en reparaciones procesadas anualmente por Tractable. Solera procesa más estimates en un día que históricamente en una semana.
|
||||
3. **Métricas norte aplicables a Reformix**:
|
||||
- **Touchless rate** (% de presupuestos sin intervención humana del reformista): objetivo 80%+.
|
||||
- **Time-to-quote**: <15 minutos (Admiral Seguros, 98% bajo 15 min). Reformix promete <60s.
|
||||
- **Volume of training data**: el moat está en datos históricos. Diseñar Reformix para capturar y entrenar desde el día 1.
|
||||
4. **Monetización**: B2B SaaS + revenue per claim/quote procesado para grandes cuentas. Para Reformix Fase 1: suscripción 29-99 €/mes. Fase 2 (marketplace): podría introducir pay-per-validation o porcentaje.
|
||||
5. **Time-to-market**: Tractable nació 2014, lleva 12 años construyendo. **El reformista en España no espera tanto** — la ventana de oportunidad es ahora porque hay muchos players nuevos pero ninguno consolidado.
|
||||
|
||||
Analogía secundaria muy útil: **HomeSurvey.ai en mudanzas con su pricing $15/survey sin mínimos** — sugiere que un modelo híbrido (29 €/mes base + N presupuestos premium adicionales) podría reducir fricción de adopción.
|
||||
|
||||
### 3. ¿Qué pricing es realista para reformista español autónomo o pequeña empresa (≤10 emp)?
|
||||
|
||||
**Recomendación pricing con 3 tramos:**
|
||||
|
||||
| Tramo | Target | Precio | Incluye | Justificación |
|
||||
|---|---|---|---|---|
|
||||
| **Reformix Starter** | Autónomo (0-1 empleados, <500k €/año facturación) | **29 €/mes** | Widget embebible, 20 presupuestos/mes, branding básico, hasta 100 leads/mes | Igualar BuildFolio Pro $29, Foyr Neo $29, RoomGPT $15; por debajo del umbral psicológico de 30€. Recordar que la cuota RETA es ya 88-206 €/mes |
|
||||
| **Reformix Pro** | Empresa pequeña (2-10 empleados) | **79 €/mes** | Todo Starter + presupuestos ilimitados, hasta 5 usuarios, sub-flujo experto licencia urbanística, white-label completo, integraciones (Holded, Stel, Verifactu), prioridad de soporte | Anchored a Handoff Business $119 y Houzz Standard $100-200. Sweet spot del mercado |
|
||||
| **Reformix Business** | Empresa mediana (>10 emp) o multi-localización | **199 €/mes + add-ons** | Todo Pro + usuarios ilimitados, API, multi-localización, custom price book, dashboard analytics, lead routing | Por debajo de Buildxact Foundation $199 y Houzz Pro $250+ pero con la pieza IA diferencial |
|
||||
|
||||
**Add-on Fase 2 marketplace** (cuando exista): comisión sobre validaciones B2C (2-5 €/análisis) o suscripción premium reformista (+20 €/mes para aparecer en marketplace de "reformistas validados precio justo").
|
||||
|
||||
**Justificación cuantitativa:** Un autónomo reformista con margen del 15% sobre obra promedio de 25.000 € gana ~3.750 €/obra. Si Reformix le aporta 1 obra extra al año (suelo conservador) → ROI = 3.750 € / (49 €×12) = 6.4x. Si aporta 1 obra extra al trimestre → ROI = 25.5x. Es vendible.
|
||||
|
||||
### 4. ¿Qué hueco específico hay aún sin cubrir?
|
||||
|
||||
**El hueco real, basado en este barrido, es la "estación profesional española integrada":**
|
||||
|
||||
1. **Sub-flujo experto de licencia urbanística** — Nadie internacional tiene esto porque es problema 100% local (cada CCAA y Ayuntamiento tiene normativa distinta). Reformix puede ofrecer un guiado tipo "tu reforma necesita comunicación previa / declaración responsable / licencia menor / licencia mayor según código postal X" + plantillas y documentación adjunta automática. Este es un foso defensivo gigante porque exige curación legal continua que un competidor americano nunca hará.
|
||||
|
||||
2. **Render fotorealista DENTRO del widget embebible del reformista** — See It Done lo hace pero sin presupuesto; BuildFolio hace presupuesto pero sin render; Houzz Pro lo tiene todo pero solo en su marketplace propio. Hueco real: render+presupuesto+branding en una sola pieza embebida en la web del reformista.
|
||||
|
||||
3. **Valorador "Precio Justo" B2C como gancho de adquisición** — TobeStudio prueba que hay demanda B2C pagada por análisis manual en 24h. Si Reformix ofrece análisis instantáneo gratis (calificación en banda vs mercado, sin nombrar al emisor) atrae tráfico B2C masivo que se canaliza a los reformistas pagadores como lead premium. **Es el mecanismo de adquisición que Tractable nunca pudo tener porque el consumidor de seguros no busca activamente "valorar mi reparación".** En reformas SÍ — el dueño que recibe presupuesto siempre quiere segunda opinión. Es un "Glassdoor de los presupuestos".
|
||||
|
||||
4. **Precios m² localizados a nivel provincia/comunidad autónoma** — Plan Reforma tiene la base de datos, pero su widget no está integrado bajo branding del reformista. Reformix puede licenciar o construir su propio dataset (similar a HomeSurvey 6.000+ usuarios, $3B+ mudanzas → datos propios).
|
||||
|
||||
5. **Cumplimiento Verifactu y normativa fiscal española** — Vendomia ya lo tiene en ERP, ningún actor extranjero. Reformix Pro debería integrarlo desde el día 1 para no dejar puerta abierta a competidor local.
|
||||
|
||||
### 5. ¿Cuáles son los 3 mayores riesgos competitivos a vigilar en los próximos 12 meses?
|
||||
|
||||
**Riesgo #1 — Houzz Pro entra fuerte en España con widget propio embebible.** Hoy concentran leads en su marketplace, pero tecnológicamente ya tienen render IA + presupuesto + CRM + lead capture. Si liberan un widget para web del contractor en EU/ES, son **el competidor más peligroso**. **Mitigación**: velocidad de entrada, branding 100% del reformista (no "powered by Houzz"), localización profunda licencias, integración Verifactu. Vigilar lanzamientos en pro.houzz.com y eventos KBIS/Cersaie.
|
||||
|
||||
**Riesgo #2 — See It Done o BuildFolio añaden la pieza que les falta y se internacionalizan a España.** Cualquiera de los dos podría:
|
||||
- See It Done añade módulo de presupuesto + traducción ES → ataque frontal.
|
||||
- BuildFolio añade render fotorealista + EU expansion → ataque frontal.
|
||||
Ambos están bien financiados (See It Done seed visible, BuildFolio con tracción). **Mitigación**: profundidad localización ES (licencias, IVA, Verifactu, precios CCAA), partnership con Habitissimo/Plan Reforma para datos, lock-in vía integración con ERPs españoles, y construcción del valorador B2C como moat de adquisición que ellos no replican fácilmente.
|
||||
|
||||
**Riesgo #3 — Player español existente (Homik, Plan Reforma o Habitissimo) pivota a ofrecer widget embebible del reformista con IA.** Homik tiene 6.300+ presupuestos ejecutados + 80 constructoras adheridas. Plan Reforma tiene Stimat (generador BC3) + 200k+ cálculos históricos. Cualquiera podría desarrollar widget B2B en 6-12 meses. **Mitigación**: velocidad de mercado (first-mover en widget pro), ventaja en render fotorealista (ellos no lo tienen), ventaja en UX nativa móvil para reformista, posible partnership con uno de ellos (data licensing) para neutralizar al resto.
|
||||
|
||||
**Riesgos menores a monitorizar:**
|
||||
- OpenAI / Anthropic lanzan plantillas verticales tipo "GPT for renovations" que comoditizan la IA generativa (mitigación: el valor está en datos + UX + branding, no en el modelo).
|
||||
- Aseguradoras españolas (Mapfre, Mutua Madrileña) lanzan herramientas propias para reformistas afiliados.
|
||||
- IKEA/Leroy Merlin lanzan widget propio integrado con su catálogo (ya tienen Roomvo en algún producto).
|
||||
|
||||
---
|
||||
|
||||
## Apéndice — Métricas clave y fuentes citadas
|
||||
|
||||
**Mercado:**
|
||||
- AI interior design market: **$3.28B (2025) → $15B (2033)** CAGR ~21%.
|
||||
- AI in insurance: **$14.99B (2025) → $246.3B (2035)** CAGR 32.3%.
|
||||
- Habitissimo: **+22% solicitudes de presupuesto** 2025 vs 2024.
|
||||
- Licencias reformas residenciales ES: **+18.6%** según fuentes de mercado.
|
||||
|
||||
**Pricing benchmarks confirmados:**
|
||||
- BuildFolio Pro $29-39/mes
|
||||
- Foyr Neo $29-99/mes
|
||||
- Handoff $39-299/mes
|
||||
- Reimagine $14-99/mes
|
||||
- Houzz Pro $55-400/mes
|
||||
- Buildxact $199-599/mes
|
||||
- GeoQuote $199-999/mes
|
||||
- Vendomia (ES) 13,5 €/usuario/mes
|
||||
- Holded (ES) 15-199 €/mes
|
||||
- Plnar Pro $9.99/user/mes
|
||||
- HomeSurvey $15/survey
|
||||
- Pearl AI $300-800/mes
|
||||
|
||||
**URLs maestras de competidores verificadas operativas en mayo 2026:**
|
||||
- https://seeitdone.ai/
|
||||
- https://build-folio.com/
|
||||
- https://handoff.ai/
|
||||
- https://www.buildxact.com/
|
||||
- https://www.houzz.com/pro
|
||||
- https://www.renoworks.com/
|
||||
- https://renocalcapp.com/
|
||||
- https://geoquote.ai/
|
||||
- https://www.reimaginehome.ai/
|
||||
- https://www.spacely.ai/
|
||||
- https://collov.ai/
|
||||
- https://tractable.ai/
|
||||
- https://www.claims.solera.com/
|
||||
- https://hellopearl.com/
|
||||
- https://www.overjet.com/
|
||||
- https://yembo.ai/
|
||||
- https://homesurvey.ai/
|
||||
- https://plnar.ai/
|
||||
- https://homik.es/
|
||||
- https://planreforma.com/
|
||||
- https://presupuestor.com/
|
||||
- https://www.habitissimo.es/
|
||||
- https://www.cronoshare.com/
|
||||
- https://tobestudio.es/
|
||||
|
||||
**Cerrado/no operativo verificado:**
|
||||
- Modsy (cerrado julio 2022) — referencia útil para no replicar modelo B2C puro.
|
||||
|
||||
---
|
||||
|
||||
*Informe elaborado el 21 de mayo de 2026 — Reformix research.*
|
||||
180
mvp/b2b/landing_reformix.html
Normal file
1
mvp/b2c/CLAUDE.md
Normal file
@@ -0,0 +1 @@
|
||||
@AGENTS.md
|
||||
100
mvp/b2c/README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Reformix — Landing Page
|
||||
|
||||
> Landing page pública de **Reformix**, la plataforma que conecta a propietarios con reformistas de confianza. Presupuesto en 5 minutos, render por WhatsApp. Construida con **Next.js + TypeScript + Tailwind CSS v4**.
|
||||
|
||||
## 🚀 Inicio rápido
|
||||
|
||||
```bash
|
||||
# Instalar dependencias
|
||||
npm install
|
||||
|
||||
# Iniciar servidor de desarrollo
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Abre [http://localhost:3000](http://localhost:3000) en tu navegador para ver el resultado.
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Stack tecnológico
|
||||
|
||||
| Capa | Tecnología |
|
||||
|---|---|
|
||||
| Framework | Next.js (App Router) |
|
||||
| Lenguaje | TypeScript 5 |
|
||||
| Estilos | Tailwind CSS v4 (`@import "tailwindcss"` + `@theme`) |
|
||||
| Componentes | React 19 (Server + Client Components) |
|
||||
| Fuente | Inter (Google Fonts, variable) |
|
||||
|
||||
---
|
||||
|
||||
## 📁 Arquitectura del proyecto
|
||||
|
||||
```text
|
||||
landing-page/
|
||||
├── src/
|
||||
│ ├── app/
|
||||
│ │ ├── globals.css # Design system: @theme tokens + @layer utilities
|
||||
│ │ ├── layout.tsx # Root layout con fuente Inter y meta tags
|
||||
│ │ └── page.tsx # Composición de página — solo imports de componentes
|
||||
│ │
|
||||
│ └── components/
|
||||
│ ├── Navbar/ # Barra de navegación (actualmente comentada)
|
||||
│ ├── Hero/ # Sección principal: headline + LeadForm interno
|
||||
│ ├── ReformaSlider/ # Comparador antes/después interactivo (drag)
|
||||
│ ├── Features/ # Sección "Cómo funciona" — 3 pasos numerados
|
||||
│ ├── Pricing/ # Tabla de servicios: Presupuesto · Reforma · Integral
|
||||
│ ├── ContactForm/ # Formulario de contacto con validación y testimonial
|
||||
│ └── Footer/ # Links, redes sociales y copyright
|
||||
```
|
||||
|
||||
### Convención de componentes
|
||||
|
||||
- Cada componente vive en su propia carpeta `ComponentName/ComponentName.tsx`.
|
||||
- Los sub-componentes de uso exclusivo (ej. `LeadForm`) se definen en el mismo archivo del padre, **no** como archivos separados.
|
||||
- `page.tsx` solo importa componentes de primer nivel — sin JSX estructural inline.
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Design System
|
||||
|
||||
Definido en `globals.css` mediante el bloque `@theme` de Tailwind v4:
|
||||
|
||||
- **Colores:** Escala negro/blanco de alto contraste. Sin acentos de color innecesarios.
|
||||
- **Tipografía:** Inter variable — pesos 400 a 900, tracking ajustado para headlines impactantes.
|
||||
- **Animaciones:** Entrada por scroll con `IntersectionObserver` + clase `reveal`. Micro-interacciones en hovers de cards y botones.
|
||||
- **Responsive:** Mobile-first. Grid de 1 columna en móvil, 2–3 en desktop.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 Secciones de la landing
|
||||
|
||||
| Sección | Descripción |
|
||||
|---|---|
|
||||
| **Hero** | Headline + formulario de captación de lead (nombre, email, empresa, teléfono) |
|
||||
| **ReformaSlider** | Comparador antes/después con drag handle — 3 espacios: Cocina, Baño, Salón |
|
||||
| **Features** | Explicación del proceso en 3 pasos: llama → foto → presupuesto |
|
||||
| **Pricing** | 3 niveles de servicio con toggle mensual/anual y features detalladas |
|
||||
| **ContactForm** | Formulario completo con datos de contacto y testimonial de cliente real |
|
||||
| **Footer** | Links de navegación, redes sociales, estado operativo y copyright |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Scripts disponibles
|
||||
|
||||
```bash
|
||||
npm run dev # Desarrollo con Turbopack (hot reload)
|
||||
npm run build # Build de producción optimizado
|
||||
npm run start # Servidor de producción con la build generada
|
||||
npm run lint # ESLint — análisis estático del código
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Repositorio
|
||||
|
||||
GitHub: [McGregory99/reformix-hackaton](https://github.com/McGregory99/reformix-hackaton)
|
||||
|
||||
---
|
||||
|
||||
*Desarrollado para el hackathon interno de Reformix.*
|
||||
|
Before Width: | Height: | Size: 391 B After Width: | Height: | Size: 391 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 385 B After Width: | Height: | Size: 385 B |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
48
negocio/README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Reformix — Resumen ejecutivo
|
||||
|
||||
> SaaS para profesionales de reformas en España. El widget embebido en su web convierte una foto del cliente en render IA + presupuesto orientativo + lead pre-cualificado en menos de 60 segundos.
|
||||
|
||||
## Qué es el negocio
|
||||
|
||||
Reformix vende una herramienta de conversión a empresas de reformas. El widget hace que el cliente final del reformista visualice cómo quedará su cocina o baño y reciba un presupuesto desglosado **antes** de la visita técnica. El reformista paga suscripción mensual (**29 / 79 / 199 €** según tier, validado con benchmarks internacionales: Handoff, Houzz Pro, Buildxact) por uso del widget, panel de leads, flujo experto de licencia urbanística y branding propio. ARPU objetivo ~82 €.
|
||||
|
||||
**Visión a 18 meses (dos fases):**
|
||||
|
||||
- **Fase 1 (mes 0-9):** B2B SaaS al reformista. Captación con ads + outreach. Genera MRR y construye paralelamente la base de reformistas con histórico de precisión que serán el **lado oferta** del marketplace de Fase 2.
|
||||
- **Fase 2 (mes 9-18):** Marketplace B2C con **"Valora tu presupuesto justo"** — el propietario sube el presupuesto que le dio otro reformista, la IA lo evalúa en banda vs mercado (sin nombrar al emisor) y, si está fuera de banda, le ofrece segunda opinión gratuita con un reformista **certificado** de su zona. Comisión 50-150 €/lead.
|
||||
|
||||
## Cuánto dinero se necesita para arrancar
|
||||
|
||||
- **Bootstrap (modo realista hackathon):** **2.500-5.000 €** entre los 4 fundadores. Cubre cuentas técnicas, dominio, primer mes de ads, consulta legal y constitución SL.
|
||||
- **Punto en el que conviene levantar pre-seed (opcional):** mes 6-9 si hay ≥ 50 cuentas y MRR > 2.500 €. Ronda recomendada: **150-300 K€ con valoración 1,5-2,5 M€**.
|
||||
|
||||
## Cuándo es rentable
|
||||
|
||||
- **Sin sueldos:** break-even a 9-10 cuentas Pro (~550 € MRR), alcanzable en mes 3-4 escenario base.
|
||||
- **Con sueldos modestos (4 fundadores × 1.500 €):** break-even a 180-220 cuentas Pro, alcanzable en mes 10-12 escenario base.
|
||||
- **Fase 2 encendida (mes 9-12):** ingresos combinados estimados ~57 K€/mes hacia mes 24, ARR ~680 K€.
|
||||
|
||||
## Tres mayores riesgos
|
||||
|
||||
1. **Render IA poco creíble en producción** (alta probabilidad, alto impacto). Mitigación: probar 10+ modelos antes de cerrar, fallback a renders pre-generados, gating de calidad.
|
||||
2. **STIMAT o un grande añade render IA** (media probabilidad, alto impacto). Mitigación: velocidad de ejecución + sello "Precio Justo Certificado" como moat sostenible.
|
||||
3. **Detección errónea de necesidad de licencia urbanística** (media probabilidad, medio impacto, alto riesgo reputacional). Mitigación: validación con aparejador, disclaimer claro, lista cerrada de triggers.
|
||||
|
||||
## Próximos 3 pasos concretos
|
||||
|
||||
1. **HOY:** Entregar el blueprint del hackathon ([Equipo 1 - Hackaton ... v2 Reformix.md](../Equipo%201%20-%20Hackaton%20_%20SIH%20_%2005-06_2026%20-%20v2%20Reformix.md)).
|
||||
2. **22-27 may:** Landing live el 28-may. Copy + creativos + demo del widget embebido. Activación de ads Meta + Google con 400-550 € de budget inicial.
|
||||
3. **29 may - 11 jun:** Desarrollo del MVP siguiendo el roadmap día a día ([roadmap.md](roadmap.md)). Demo el 11-jun.
|
||||
|
||||
## Índice de documentos
|
||||
|
||||
- [modelo-negocio.md](modelo-negocio.md) — modelo, unit economics, competencia, narrativa.
|
||||
- [operaciones.md](operaciones.md) — stack, proveedores IA, infraestructura.
|
||||
- [equipo.md](equipo.md) — roles del equipo de 4 y plan de contratación.
|
||||
- [legal.md](legal.md) — forma jurídica, RGPD, T&C, IVA, normativa de licencias.
|
||||
- [plan-financiero.md](plan-financiero.md) — proyecciones 3 escenarios, costes, break-even.
|
||||
- [roadmap.md](roadmap.md) — roadmap de negocio por fases con hitos y KPIs.
|
||||
- [riesgos.md](riesgos.md) — matriz de riesgos y planes de contingencia.
|
||||
- [datos/costes-desglosados.md](datos/costes-desglosados.md)
|
||||
- [datos/proveedores.md](datos/proveedores.md)
|
||||
- [datos/metricas-kpi.md](datos/metricas-kpi.md)
|
||||
123
negocio/datos/costes-desglosados.md
Normal file
@@ -0,0 +1,123 @@
|
||||
# Costes desglosados (tablas detalladas)
|
||||
|
||||
## 1. Costes fijos mensuales — Fase 0 (mes 0-2, sin sueldos)
|
||||
|
||||
| Concepto | € / mes | Notas |
|
||||
|---|---|---|
|
||||
| Vercel Pro | 20 | Bandwidth y serverless functions holgados |
|
||||
| Postgres managed (Neon) + S3 (R2) | 25 | DB + 100 GB storage (fotos, audio, renders) |
|
||||
| Replicate base | 30 | Tests + primeros usuarios |
|
||||
| OpenAI base | 20 | GPT-4o + Vision con uso bajo |
|
||||
| SMTP | 0 | Servidor propio o free tier |
|
||||
| Dominio reformix.es | 1 | 12 € / año |
|
||||
| Google Workspace | 9 | 4 cuentas × 2,30 € (oferta startup) |
|
||||
| PostHog | 0 | Free 1M eventos |
|
||||
| Crisp Chat o equivalente | 0 | Free tier |
|
||||
| GitHub Team | 4 | 4 € por seat × 1 (organización) |
|
||||
| Asesoría gestor mensual | 60 | Cuota base Quipu / gestor local |
|
||||
| Buffer 10 % | 17 | |
|
||||
| **Total fijo** | **186 €/mes** | |
|
||||
|
||||
## 2. Costes de adquisición — Fase 0-1
|
||||
|
||||
| Canal | Budget mes | Métrica objetivo | Notas |
|
||||
|---|---|---|---|
|
||||
| Meta Ads (FB + IG) | 250-500 | CPC < 1,20 € | Targeting B2B en España, audiencias custom |
|
||||
| Google Ads (Search) | 150-300 | CPC < 1,50 € intent alto | Keywords con intención |
|
||||
| Outreach + LinkedIn | 0 + tiempo | 50 mensajes/sem | Goyo activa su red |
|
||||
| Content SEO | 0 + tiempo | 2 posts/mes (Simon) | Long-tail B2B |
|
||||
| **Total mes pre-clientes** | **400-800** | | |
|
||||
|
||||
## 3. Coste por lead procesado con voice agent + WhatsApp (validar con tests)
|
||||
|
||||
| Step | Servicio | Coste estimado |
|
||||
|---|---|---|
|
||||
| **Llamada agente de voz (5 min media)** | Retell.ai $0,10/min | ~0,50 € |
|
||||
| **Voces ElevenLabs (si facturadas aparte)** | ElevenLabs $0,15/1k caracteres | ~0,10-0,30 € |
|
||||
| **Telefonía Zadarma fijo provincial (5 min)** | ~$0,01-0,02/min saliente | ~0,05-0,10 € |
|
||||
| **SMS pre-llamada** | ~$0,04/SMS | ~0,04 € |
|
||||
| **WhatsApp Business API / Evolution (aviso + entrega)** | $0,03-0,05/conversación | ~0,07 € |
|
||||
| GPT-4o transcripción extracción entidades | GPT-4o chat | ~0,02 € |
|
||||
| Vision análisis foto | GPT-4o Vision | ~0,01 € |
|
||||
| Generación render | **Nano Banana 2 / Image 2** | ~0,01-0,03 € |
|
||||
| Generación presupuesto + extracción | GPT-4o chat | ~0,01 € |
|
||||
| Email transaccional | SMTP | <0,001 € |
|
||||
| Almacenamiento foto + audio + render | Postgres + S3 | <0,01 €/lead |
|
||||
| **Total medio por lead procesado** | **~0,90-1,20 €** | |
|
||||
|
||||
(Estimación ligeramente más baja que con Twilio España + Replicate por el cambio a Zadarma + Nano Banana 2.)
|
||||
|
||||
## 4. Análisis de margen por tier (pricing actualizado del blueprint)
|
||||
|
||||
| Tier | Precio | Leads incluidos | COGS base (leads × 1,10 €) | Margen bruto base | Overage | Coste overage | Margen overage / lead |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| **Starter** | 29 € | 5 | ~5,50 € | **81 %** | 3 €/lead | 1,10 € | 63 % por lead extra |
|
||||
| **Pro** | 79 € | 15 | ~16,50 € | **79 %** | 2,5 €/lead | 1,10 € | 56 % por lead extra |
|
||||
| **Business** | 199 € | 50 | ~55 € | **72 %** | 2 €/lead | 1,10 € | 45 % por lead extra |
|
||||
|
||||
Margen bruto sano en todos los tiers, incluso en uso pesado con overage. El cambio del modelo de pricing (leads incluidos limitados + overage) **alinea coste real con valor cobrado y elimina el riesgo de margen negativo** que existía con la propuesta inicial de leads "ilimitados" en Pro 79 €.
|
||||
|
||||
## 4. Costes legales y constitución (one-time)
|
||||
|
||||
| Concepto | € | Plazo |
|
||||
|---|---|---|
|
||||
| Constitución SL + notaría + Registro Mercantil | 800-1.500 | Mes 1 |
|
||||
| Plantillas T&C / Privacidad / Cookies / Aviso Legal con abogado | 500-800 | Mes 1-2 |
|
||||
| Contrato encargado de tratamiento | 200-400 | Mes 2 |
|
||||
| Registro marca OEPM (1 clase) | 150 + 25 publicación | Mes 2-3 |
|
||||
| Registro marca OEPM (clase adicional) | 95 | Mes 2-3 |
|
||||
| **Total** | **~1.770-2.970** | |
|
||||
|
||||
## 5. Costes legales recurrentes
|
||||
|
||||
| Concepto | € / mes | Notas |
|
||||
|---|---|---|
|
||||
| Gestor fiscal y contable | 60-120 | Quipu o gestor local |
|
||||
| Asesoría legal puntual | 50 (provisión) | Consultas | |
|
||||
| Seguro RC profesional | 80 | Activar mes 6+ |
|
||||
| Ciberseguro básico | 40-80 | Activar mes 12+ |
|
||||
| **Total mes maduro** | **~230-330** | |
|
||||
|
||||
## 6. Sueldos (escenarios)
|
||||
|
||||
### Modo bootstrap (mes 0-9)
|
||||
|
||||
- 4 fundadores con sueldo simbólico o cero. Compensación en equity.
|
||||
- Cuando MRR > 6.000 € pasan a 1.500 €/mes (o equivalente).
|
||||
|
||||
### Modo con pre-seed (mes 9+)
|
||||
|
||||
| Rol | € bruto / mes | Notas |
|
||||
|---|---|---|
|
||||
| Fundador (× 4) | 2.500-3.500 | Sueldo de mercado entrante |
|
||||
| CSM part-time | 1.200-1.800 | Mes 6-9 |
|
||||
| Growth marketer | 2.000-2.800 | Mes 9-12 |
|
||||
| Dev senior | 3.000-4.500 | Mes 12-15 |
|
||||
| Sales SDR + comisión | 2.200 + variable | Mes 15-18 |
|
||||
|
||||
Con coste de Seguridad Social patronal (~30 % adicional sobre bruto).
|
||||
|
||||
## 7. Resumen — coste total mes 12 escenario base con pre-seed activada
|
||||
|
||||
| Capítulo | € / mes |
|
||||
|---|---|
|
||||
| Sueldos (4 founders × 3.000 € + CSM 1.500 € + growth 2.500 €) | 16.000 |
|
||||
| SS patronal aprox. 30 % | 4.800 |
|
||||
| Infraestructura escalada | 250 |
|
||||
| IA (proporcional al volumen) | 600 |
|
||||
| Ads | 3.500 |
|
||||
| Legal + fiscal mensual | 280 |
|
||||
| Seguros | 120 |
|
||||
| Otros (oficina virtual, gastos varios, buffer 10 %) | 2.500 |
|
||||
| **Total** | **~28.050 €/mes** |
|
||||
|
||||
Con MRR 10.000 € → necesitamos **18.000 € adicionales/mes** que vienen del runway de la pre-seed. Aguanta ~10-15 meses con 200-300 K€ levantados, suficiente para llegar a Fase 2.
|
||||
|
||||
## 8. Comparativa con y sin pre-seed (12 meses)
|
||||
|
||||
| Escenario | Cash inicial | Mes break-even | MRR mes 12 | Equity diluido |
|
||||
|---|---|---|---|---|
|
||||
| Bootstrap puro | 5.000 € | mes 18-24 | ~10.000 € | 0 % |
|
||||
| Con pre-seed 200 K€ | 205.000 € | mes 14-18 | ~15-25.000 € | 12-15 % |
|
||||
|
||||
Bootstrap es viable pero más lento. Pre-seed acelera al doble pero diluye. Decisión por tomar en mes 6-9 según tracción real.
|
||||
166
negocio/datos/metricas-kpi.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# Dashboard de KPIs por fase
|
||||
|
||||
## North Star Metric
|
||||
|
||||
**MRR del SaaS B2B + comisiones del marketplace B2C, neto de churn.**
|
||||
|
||||
A largo plazo lo que importa es ingreso recurrente generado por reformistas que cumplen el sello "Precio Justo Certificado" — es lo que sostiene Fase 2 y diferencia a Reformix de competencia genérica.
|
||||
|
||||
---
|
||||
|
||||
## Fase 0 — Hackathon (semanas 1-3)
|
||||
|
||||
### KPIs de demo y producto
|
||||
|
||||
| KPI | Target validación | Target éxito |
|
||||
|---|---|---|
|
||||
| Tiempo de generación del render IA | < 60 s | < 30 s |
|
||||
| Tasa de descuelgue de la llamada del agente | > 60 % | > 75 % |
|
||||
| Tasa de completar la llamada (llega al final) | > 75 % | > 90 % |
|
||||
| Latencia end-to-end (subida foto → resultado) | < 90 s | < 60 s |
|
||||
| Renders rechazados por equipo en QA | < 30 % | < 10 % |
|
||||
| Bugs críticos al cierre del 11-jun | 0 | 0 |
|
||||
|
||||
### KPIs de landing (28-may → 11-jun)
|
||||
|
||||
| KPI | Target validación (48 h) | Target éxito (2 sem) |
|
||||
|---|---|---|
|
||||
| CPC | < 1,20 € | < 0,80 € |
|
||||
| Landing → demo widget iniciado | > 25 % | > 40 % |
|
||||
| Demo widget completado | > 40 % (de iniciados) | > 60 % |
|
||||
| Pricing visto | > 20 % | > 35 % |
|
||||
| CPL (waitlist) | < 6 € | < 3 € |
|
||||
| CPL (demo book) | < 35 € | < 20 € |
|
||||
| Sesión media | > 80 s | > 150 s |
|
||||
| Signups trial | 15 absolutos | 40 absolutos |
|
||||
|
||||
---
|
||||
|
||||
## Fase 1 — Validación (mes 0-3 post-hackathon)
|
||||
|
||||
### KPIs de negocio
|
||||
|
||||
| KPI | Target mes 1 | Target mes 3 |
|
||||
|---|---|---|
|
||||
| Cuentas pagantes | 5 | 25 |
|
||||
| MRR (€) | 250 | 1.250 |
|
||||
| ARPU (€) | 50 | 50 |
|
||||
| Conversión trial → pago | 20 % | 25 % |
|
||||
| Churn mensual | 10 % | 8 % |
|
||||
| CAC promedio | < 250 € | < 200 € |
|
||||
| LTV/CAC | > 2× | > 3× |
|
||||
| NPS (a primer mes) | > 30 | > 40 |
|
||||
|
||||
### KPIs de uso
|
||||
|
||||
| KPI | Mes 1 | Mes 3 |
|
||||
|---|---|---|
|
||||
| Leads procesados / mes / cliente medio | 8 | 15 |
|
||||
| Time-to-first-lead (signup → primer lead procesado) | < 7 días | < 24 h |
|
||||
| % de leads marcados como "ganados" por el reformista | n.d. (empezamos a medir) | > 5 % |
|
||||
| % de leads ganados con precio final introducido | 0 | > 30 % |
|
||||
|
||||
---
|
||||
|
||||
## Fase 2 — Tracción y v1.5 (mes 3-6)
|
||||
|
||||
### KPIs de producto
|
||||
|
||||
| KPI | Mes 6 |
|
||||
|---|---|
|
||||
| Wizard v1.5 (3 versiones + slider + NL + m² auto) en producción | Sí |
|
||||
| Adopción de v1.5 vs MVP por nuevos signups | > 60 % |
|
||||
| Drop-off en wizard v1.5 | < 50 % |
|
||||
| % de reformistas que activan doble nomenclatura asistida | > 30 % |
|
||||
|
||||
### KPIs de negocio
|
||||
|
||||
| KPI | Mes 6 |
|
||||
|---|---|
|
||||
| Cuentas pagantes | 70 |
|
||||
| MRR | 3.500 € |
|
||||
| Churn mensual | < 6 % |
|
||||
| CAC | < 180 € |
|
||||
| LTV/CAC | > 4× |
|
||||
| 5 testimonios reales (presupuesto cumplido en ±10 %) | Sí |
|
||||
|
||||
---
|
||||
|
||||
## Fase 3 — Pre-marketplace (mes 6-9)
|
||||
|
||||
| KPI | Mes 9 |
|
||||
|---|---|
|
||||
| Cuentas pagantes | 150 |
|
||||
| MRR | 7.500 € |
|
||||
| Reformistas elegibles para sello | > 30 |
|
||||
| Precisión del valorador interno (test sintético) | > 70 % en banda ±15 % |
|
||||
| Partner aparejador / arquitecto firmado | 1 |
|
||||
|
||||
---
|
||||
|
||||
## Fase 4 — Marketplace B2C encendido (mes 9-12)
|
||||
|
||||
### KPIs del valorador
|
||||
|
||||
| KPI | Mes 12 Fase 2 |
|
||||
|---|---|
|
||||
| Cobertura de extracción de presupuesto (sin intervención manual) | > 80 % |
|
||||
| Acuerdo con panel de reformistas senior sobre veredictos | > 85 % |
|
||||
| Valoraciones por mes | 5.000 |
|
||||
| Conversión valoración → solicitud segunda opinión | > 12 % |
|
||||
| Asignación efectiva (lead recibe respuesta < 24 h) | > 80 % |
|
||||
| NPS del valorador | > 50 |
|
||||
|
||||
### KPIs marketplace
|
||||
|
||||
| KPI | Mes 12 Fase 2 |
|
||||
|---|---|
|
||||
| Reformistas con sello "Precio Justo Certificado" | > 50 |
|
||||
| Cobertura geográfica capitales españolas | > 70 % |
|
||||
| Comisión por lead media | 75 € |
|
||||
| Revenue marketplace mensual | 27.000 € |
|
||||
| Revenue combinado (SaaS + marketplace) mensual | 57.000 € |
|
||||
|
||||
---
|
||||
|
||||
## Fase 5 — Escala (mes 12-18)
|
||||
|
||||
| KPI | Mes 18 |
|
||||
|---|---|
|
||||
| ARR combinado | > 500 K€ |
|
||||
| Cuentas pagantes SaaS | > 400 |
|
||||
| Equipo | 6-8 personas |
|
||||
| Partnerships con marcas materiales | 1-2 firmadas |
|
||||
| Mención en prensa sectorial | > 5 medios |
|
||||
|
||||
---
|
||||
|
||||
## KPIs de salud del producto (transversal a todas las fases)
|
||||
|
||||
| KPI | Target |
|
||||
|---|---|
|
||||
| **Precisión presupuesto** (delta estimado ↔ final firmado) | > 70 % en banda ±15 % desde mes 6 |
|
||||
| Uptime del widget | > 99,5 % |
|
||||
| Latencia mediana del pipeline post-llamada (colgar → WhatsApp entregado) | < 60 s |
|
||||
| Coste IA por lead procesado | < 0,20 € |
|
||||
| Margen bruto sobre ARPU | > 75 % |
|
||||
|
||||
---
|
||||
|
||||
## Dashboard recomendado en PostHog
|
||||
|
||||
**Dashboard "Reformix North Star" — actualización diaria:**
|
||||
|
||||
1. MRR + variación 7 días.
|
||||
2. Nuevas cuentas activadas (signup → first lead processed).
|
||||
3. Churn de los últimos 30 días.
|
||||
4. Funnel completo: visit landing → form paso 1 → fotos subidas → SMS/WhatsApp pre-llamada → llamada descolgada → llamada completada → render+presupuesto generado → WhatsApp entregado → cliente pide visita → reformista marca ganado → precio final introducido.
|
||||
5. CAC por canal (Meta, Google, outreach, referido).
|
||||
6. Distribución de precisión (histograma del delta estimado ↔ final).
|
||||
7. Reformistas elegibles para sello vs reformistas con sello activo.
|
||||
|
||||
**Frecuencia de review:**
|
||||
- Diario: nuevos signups, MRR, errores críticos.
|
||||
- Semanal: funnel completo, CAC, churn.
|
||||
- Mensual: cohort analysis, LTV/CAC actualizado, decisiones de pricing.
|
||||
- Trimestral: revisión de hipótesis del plan financiero y ajuste de objetivos.
|
||||
142
negocio/datos/proveedores.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# Proveedores y partners
|
||||
|
||||
> Lista de proveedores ya seleccionados o candidatos por categoría. Mínimo 2-3 alternativas por categoría crítica para no depender de un único proveedor.
|
||||
|
||||
## Categoría: IA visual (render del espacio)
|
||||
|
||||
| Proveedor | Modelo | Coste / imagen | Calidad | Disponibilidad | Notas |
|
||||
|---|---|---|---|---|---|
|
||||
| **Google Gemini** ⭐ | **Nano Banana 2 / Image 2** | ~0,01-0,03 € | Alta, image-to-image rápido, buen control de edición | API pública (Gemini API) | **Primario decidido** |
|
||||
| Replicate | SDXL + ControlNet interior | ~0,02 € | Alta, preserva geometría | API pública | Fallback / alternativa |
|
||||
| OpenAI DALL-E 3 HD | DALL-E 3 | ~0,08 € | Muy alta artística | API estable | Fallback de calidad |
|
||||
| Stability AI API | SDXL Turbo | ~0,01 € | Buena, rápido | API directa | Alternativa coste-eficiente |
|
||||
| Together AI | Flux Pro / Schnell | ~0,005-0,03 € | Variable | API en crecimiento | Para optimización futura |
|
||||
| Self-host en Modal.com | SDXL fine-tune propio | ~0,005 € + 20 €/mes idle | Custom | Requiere ML ops | Año 2 si volumen alto |
|
||||
|
||||
**Estrategia:** Nano Banana 2 / Image 2 primario por velocidad + coste. Replicate como segundo proveedor con switch automático. Reevaluar self-host en mes 6 si COGS > 15 % de ARPU.
|
||||
|
||||
## Categoría: IA de texto y vision (presupuesto + análisis foto)
|
||||
|
||||
| Proveedor | Modelo recomendado | Coste input/output (M tokens) | Notas |
|
||||
|---|---|---|---|
|
||||
| **OpenAI** ⭐ | GPT-4o + GPT-4o Vision | 2,50 € / 10 € (1M tokens) | Primario, fácil de usar |
|
||||
| Anthropic | Claude 3.5 Sonnet | 3 € / 15 € | Bueno para razonamiento estructurado, fallback |
|
||||
| Google | Gemini 1.5 Pro | 1,25 € / 5 € | Coste bajo, contexto largo |
|
||||
| Mistral | Mistral Large 2 | 2 € / 6 € | Alternativa europea, GDPR friendly |
|
||||
|
||||
**Estrategia:** OpenAI primario con multi-proveedor wrapper (Vercel AI SDK) para poder cambiar en <1 día si hace falta.
|
||||
|
||||
## Categoría: hosting y deploy
|
||||
|
||||
| Proveedor | Pro plan | Notas |
|
||||
|---|---|---|
|
||||
| **Vercel** ⭐ | 20 $/mes/seat | Integración nativa Next.js, edge functions, deploys git |
|
||||
| Cloudflare Pages | 5 $/mes | Más barato, menos integrado con Next.js full |
|
||||
| Railway | 5-20 $/mes | Alternativa para servicios separados |
|
||||
| Fly.io | 5-30 $/mes | Edge global, requiere más ops |
|
||||
|
||||
## Categoría: base de datos y storage
|
||||
|
||||
| Proveedor | Plan | Notas |
|
||||
|---|---|---|
|
||||
| **Postgres + S3-compatible** ⭐ | Variable según opción | Stack agnóstico decidido en el blueprint |
|
||||
| Postgres self-hosted (Hetzner/Contabo + Coolify) | ~10-20 €/mes | Total control, sin lock-in |
|
||||
| Postgres managed (Neon Pro) | 19 $/mes | Serverless, escalable |
|
||||
| Postgres managed (Supabase Pro) | 25 $/mes | + Auth + RLS bundle |
|
||||
| S3 (Cloudflare R2) | $0,015/GB egress free | El más barato para volumen |
|
||||
| S3 (AWS) | Estándar | Más caro pero estándar de facto |
|
||||
| S3 (MinIO self-hosted) | 0 € extra (mismo VPS) | Total control si self-host |
|
||||
|
||||
**Estrategia:** Postgres + S3 agnóstico (definido en blueprint). Decisión final entre Neon/Supabase/self-hosted la toma el equipo según conveniencia operativa en setup del MVP.
|
||||
|
||||
## Categoría: telefonía (números fijos provinciales España)
|
||||
|
||||
| Proveedor | Coste por minuto saliente | Notas |
|
||||
|---|---|---|
|
||||
| **Zadarma** ⭐ | ~$0,01-0,02/min | **Primario decidido.** Proveedor español/europeo, números fijos provinciales económicos, soporte SIP estándar. |
|
||||
| Twilio España | ~$0,03/min | Caro pero universal, integraciones por todos lados |
|
||||
| Vonage | ~$0,02-0,03/min | Alternativa |
|
||||
| Telnyx | ~$0,015/min | Barato, moderno, requiere setup técnico mayor |
|
||||
|
||||
## Categoría: email transaccional
|
||||
|
||||
| Proveedor | Notas |
|
||||
|---|---|
|
||||
| **SMTP genérico** ⭐ | **Decidido en blueprint.** Servidor propio o cualquier proveedor SMTP estándar, sin lock-in. |
|
||||
| Resend | Si se prefiere DX moderna y templates React |
|
||||
| Postmark | Buen deliverability transaccional |
|
||||
| Amazon SES | Más barato a escala (0,10 $/1.000 emails) |
|
||||
| Mailgun | Veterano, robusto |
|
||||
|
||||
## Categoría: WhatsApp
|
||||
|
||||
| Proveedor | Coste | Notas |
|
||||
|---|---|---|
|
||||
| **WhatsApp Business API (oficial vía Meta)** | $0,03-0,05/conversación | Oficial, sin riesgo TOS, requiere aprobación de plantillas |
|
||||
| **Evolution API** (Baileys-based, self-hosted) | ~0 € + hosting | Open-source, más económico, riesgo TOS Meta — viable en MVP / mercado early-stage |
|
||||
| Twilio WhatsApp | $0,005-0,1 por conversación | Wrapper sobre WhatsApp Business API |
|
||||
| MessageBird | Variable | Wrapper sobre WhatsApp Business API |
|
||||
| WATI | $49-99/mes según plan | Plataforma completa con CRM |
|
||||
|
||||
**Estrategia:** Evolution API como primaria por coste y control (Carlos y Simon tienen experiencia). WhatsApp Business API oficial preparada como respaldo cuando el volumen lo justifique y se quiera eliminar el riesgo TOS.
|
||||
|
||||
## Categoría: pasarela de pago
|
||||
|
||||
| Proveedor | Comisión | Notas |
|
||||
|---|---|---|
|
||||
| **Stripe** ⭐ | 1,4 % + 0,25 € | Estándar de facto. Suscripciones, SCA, SEPA |
|
||||
| Adyen | Variable, ~1,2 % | Más enterprise, peor self-serve |
|
||||
| Mollie | 1,8 % + 0,25 € | Alternativa europea, buen soporte SEPA |
|
||||
| PayPal | 2,9 % + 0,35 € | Caro pero útil para algunos B2B prefieren |
|
||||
|
||||
## Categoría: analytics y observabilidad
|
||||
|
||||
| Servicio | Proveedor recomendado | Plan |
|
||||
|---|---|---|
|
||||
| **Product analytics** | PostHog Cloud EU | Free 1M eventos, después 0,000248 €/evento |
|
||||
| Session replay | Incluido en PostHog | |
|
||||
| Error monitoring | Sentry | Free 5K errores/mes |
|
||||
| Performance / RUM | Vercel Analytics | Incluido en plan Pro |
|
||||
| Marketing analytics | Plausible | 9 $/mes 10K visitas, alternativa europea a Google Analytics |
|
||||
|
||||
## Categoría: comunicación interna
|
||||
|
||||
| Herramienta | Plan |
|
||||
|---|---|
|
||||
| Slack | Free (suficiente) |
|
||||
| Notion | Free → Plus 8 $/mes/seat cuando crezca |
|
||||
| Loom | Free 25 vídeos / Pro 12,50 $/mes |
|
||||
| Linear | Free → Standard 8 $/mes/seat |
|
||||
|
||||
## Categoría: gestoría y fiscal
|
||||
|
||||
| Proveedor candidato | Coste | Servicios |
|
||||
|---|---|---|
|
||||
| **Quipu** | 60-90 €/mes | Software + asesoría online, popular en SaaS |
|
||||
| Holded | 25-99 €/mes | Software ERP español |
|
||||
| Sage One | 9-25 €/mes | Solo software, asesoría aparte |
|
||||
| Gestor local | 80-150 €/mes | Trato personal, mejor para temas complejos |
|
||||
|
||||
## Categoría: legal
|
||||
|
||||
| Necesidad | Proveedor candidato | Coste |
|
||||
|---|---|---|
|
||||
| Plantillas T&C / Privacidad | Iurelab, ETICAS, Audens | 500-800 € one-time |
|
||||
| Constitución SL | Notaría local + gestor | 800-1.500 € |
|
||||
| Registro marca | OEPM directo o gestor | 150 € + 25 € publicación / clase |
|
||||
| Asesoría puntual | Iurelab, abogado SaaS freelance | 100-150 €/hora |
|
||||
|
||||
## Categoría: aparejador / arquitecto técnico (consultoría para flujo de licencia)
|
||||
|
||||
- Contacto recomendado: red de Goyo (sector). Buscar 1-2 aparejadores que validen el flujo a cambio de 75-100 €/hora.
|
||||
- Alternativa: COAATs provinciales (Colegio Oficial de Aparejadores y Arquitectos Técnicos) ofrecen consultas a no colegiados.
|
||||
|
||||
## Partnerships estratégicos (Fase 2-3)
|
||||
|
||||
| Categoría | Potenciales |
|
||||
|---|---|
|
||||
| Marcas de materiales | Porcelanosa, Roca, Leroy Merlin, Bricomart (Pro). Comisión en marketplace 3-5 %. |
|
||||
| Plataformas inmobiliarias | Idealista, Fotocasa (afiliación leads de reforma post-compra). |
|
||||
| Asociaciones del sector | CNC (Confederación Nacional de la Construcción), ANERR (Asociación Nacional de Empresas de Rehabilitación y Reforma). |
|
||||
| Bancos / financiación | Cofidis Pay, Sequra (financiación para el cliente final del reformista). |
|
||||
| Plataformas de seguros hogar | Mapfre, Mutua Madrileña (renovación + reforma). |
|
||||
84
negocio/equipo.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Equipo y plan de contratación
|
||||
|
||||
## Equipo fundador (4 personas, ya formado)
|
||||
|
||||
| Rol principal | Persona | Background | Lo que aporta |
|
||||
|---|---|---|---|
|
||||
| **Producto + Voice agents + WhatsApp + Coordinación** | **Carlos** | 20 años web, 10 fullstack, especialización funnels y growth, **experiencia amplia en agentes de voz IA en producción** y **automatizaciones de WhatsApp** | Producto, copy, analytics, coordinación, **agente de voz (Retell + ElevenLabs)**, lead capture |
|
||||
| **Tech lead + IA visual + SEO + WhatsApp** | **Simon** | Fullstack senior 5+ años, SEO técnico, automatización IA, **automatizaciones de WhatsApp Business API** | Frontend Next.js, pipeline IA visual, orquestación de WhatsApp, SEO Fase 2 |
|
||||
| **Motor de presupuesto + Dominio + Contactos sector** | **Goyo** | Dev fullstack ~5 años startup espacial, creador de contenido, contactos reformas | Tabla de precios, motor de cálculo, validación con reformistas reales, storytelling |
|
||||
| **Diseño UI/UX + Creativos** | **Antonio** | UI/UX y diseño visual | Diseño de la landing + panel reformista, creativos de ads, pulido de demo |
|
||||
|
||||
Modo bootstrap: sueldos diferidos hasta MRR ~6.000 €. Equity: por definir (recomendación: 25 % cada uno con vesting 4 años, 1 año cliff).
|
||||
|
||||
## Distribución de ownership por área
|
||||
|
||||
| Área | Owner | Backup |
|
||||
|---|---|---|
|
||||
| Estrategia de producto | Carlos | Goyo |
|
||||
| **Agente de voz IA (Retell + ElevenLabs)** | **Carlos** | Simon |
|
||||
| **Automatización WhatsApp Business** | **Simon** | Carlos |
|
||||
| Frontend & UI | Antonio | Simon |
|
||||
| Backend & IA visual | Simon | Goyo |
|
||||
| Motor de presupuesto | Goyo | Carlos |
|
||||
| Landing & growth | Carlos | Antonio |
|
||||
| SEO técnico | Simon | — |
|
||||
| Contactos sector reformas | Goyo | — |
|
||||
| Atención al cliente | Carlos (rotativo) | Goyo |
|
||||
| Legal & fiscal | Carlos (gestor externo) | — |
|
||||
|
||||
## Ventaja competitiva del equipo
|
||||
|
||||
El bottleneck habitual en MVPs con agente de voz es justamente el agente: 3-4 semanas para que funcione decentemente sin equipo experimentado. Carlos tiene **experiencia amplia en producción** con agentes de voz IA, y Simon + Carlos cubren **WhatsApp automation** in-house. Esto convierte la arquitectura voice + WhatsApp — que para otros equipos sería un riesgo de ejecución alto — en **una ventaja competitiva del equipo**. Permite cumplir el calendario de 3 semanas con margen y diferenciarse de competencia internacional que no tiene esta integración (See It Done, BuildFolio, Houzz Pro no llaman al cliente).
|
||||
|
||||
## Externalización en Fase 0-1 (mes 0-6)
|
||||
|
||||
| Servicio | Proveedor candidato | Coste | Frecuencia |
|
||||
|---|---|---|---|
|
||||
| Gestoría fiscal y contable | Llevarmecuentas / Quipu / gestor local | 60-150 €/mes | Mensual |
|
||||
| Asesoría legal puntual (T&C, RGPD, contratos) | Iurelab / abogado freelance especializado en SaaS | 500-1.500 € one-time | Puntual |
|
||||
| Consultor aparejador (validación flujo licencia) | Contacto del sector (Goyo) | 75-100 € | Una sesión inicial + revisiones |
|
||||
| Diseño branding (logo, paleta, manual de marca) | Antonio + AI (Midjourney, Recraft) | 0-300 € | Una vez |
|
||||
|
||||
## Plan de contratación (mes 6+)
|
||||
|
||||
### Primer hire (mes 6-9, con pre-seed o si MRR > 4.000 €)
|
||||
|
||||
- **Customer Success Manager part-time** — 1.200-1.800 €/mes.
|
||||
- Razón: cuando lleguemos a 50+ cuentas, Carlos no puede sostener el soporte solo sin sacrificar producto.
|
||||
- Perfil: 2-3 años en CS de SaaS B2B, español nativo, conocimiento del sector reformas o construcción ideal.
|
||||
|
||||
### Segundo hire (mes 9-12)
|
||||
|
||||
- **Growth Marketer** — 2.000-2.800 €/mes.
|
||||
- Razón: optimizar ads, content, SEO B2C de Fase 2, partnerships.
|
||||
- Perfil: experiencia probada con ads Meta + Google en B2B SaaS, conocimiento SEO, capacidad de iterar copy.
|
||||
|
||||
### Tercer hire (mes 12-15)
|
||||
|
||||
- **Dev fullstack senior** — 3.000-4.500 €/mes.
|
||||
- Razón: liberar a Simon de operación día a día y abrir espacio para fase 2 marketplace.
|
||||
- Perfil: Next.js + TypeScript + Postgres senior, autosuficiente, experiencia con productos B2C high-traffic.
|
||||
|
||||
### Cuarto hire (mes 15-18, si Fase 2 está encendida)
|
||||
|
||||
- **Sales SDR / Inside Sales** — 2.200-2.800 € + comisión.
|
||||
- Razón: cerrar cuentas Business y partnerships con asociaciones del sector.
|
||||
- Perfil: inside sales SaaS B2B, conocimiento del sector construcción o reformas, capacidad de hacer outbound bien.
|
||||
|
||||
## Cultura y principios de trabajo
|
||||
|
||||
1. **Honestidad radical con el cliente:** los presupuestos son orientativos, lo decimos. La banda del valorador no acusa a nadie. Las cifras se cumplen o se explica por qué no.
|
||||
2. **Velocidad de iteración:** hacemos pequeño, medimos, ajustamos. Releases semanales mínimo.
|
||||
3. **Data-driven:** ningún feature se decide por intuición sin un experimento o métrica que lo respalde. PostHog está en todo.
|
||||
4. **Async by default:** un único standup semanal de 30 min. El resto: Slack + Loom + Notion. Respeta horarios.
|
||||
5. **Compartir el upside:** todos los hires post-fundadores reciben equity (ESOP 10-15 %).
|
||||
|
||||
## Perfiles críticos — ¿qué pasa si no encontramos?
|
||||
|
||||
| Si no llega... | Plan B |
|
||||
|---|---|
|
||||
| CSM en mes 6-9 | Contratar VA (asistente virtual) español a 600-900 €/mes para tareas operativas + Carlos sigue front-line CS. |
|
||||
| Growth marketer | Subcontratar agencia especializada en B2B SaaS por 2.500-4.000 €/mes (Mayple, Markee, agencias españolas). |
|
||||
| Dev senior | Contratar dev junior fullstack + mentorship semanal de Simon. Más barato pero más overhead. |
|
||||
| Sales SDR | Carlos asume ventas Enterprise/Business; mantenemos self-serve para Starter/Pro. |
|
||||
164
negocio/legal.md
Normal file
@@ -0,0 +1,164 @@
|
||||
# Legal y compliance
|
||||
|
||||
> Este documento es **orientativo** y refleja decisiones operativas razonables para un SaaS B2B en España (2026). Cualquier paso con implicación fiscal o societaria debe validarse con asesoría profesional antes de ejecutar.
|
||||
|
||||
## Forma jurídica recomendada
|
||||
|
||||
**Sociedad Limitada (SL)** con sede en España.
|
||||
|
||||
- Capital social mínimo: **3.000 €** (desembolso íntegro al constituir), tradicionalmente el más común. Desde 2022 existe la **SLNE de formación sucesiva** con capital social desde 1 €, válida para arrancar sin desembolso inicial — recomendada solo si el bootstrap es muy ajustado.
|
||||
- Reparto de participaciones inicial sugerido: 25 % cada uno de los 4 fundadores, con **pacto de socios** que regule vesting (4 años, 1 año cliff), no compete, drag-along y derechos de información.
|
||||
- Coste de constitución: **800-1.500 €** (notaría + registro mercantil + asesoría inicial).
|
||||
- Tiempo: 2-4 semanas.
|
||||
|
||||
## Alta de IAE y epígrafes
|
||||
|
||||
- IAE: **epígrafe 845 — Explotación electrónica por cuenta de terceros** o **epígrafe 763 — Programación, consultoría, otras TI**. El gestor confirmará el más apropiado.
|
||||
- Alta en el censo IVA + retenciones (modelo 036).
|
||||
- Régimen general de IVA: **21 %** sobre la suscripción. Servicios prestados a otras empresas españolas → factura con IVA. A empresas UE con NIF intracomunitario → exención con inversión sujeto pasivo. A particulares no aplica todavía (Fase 1 es B2B).
|
||||
|
||||
## Cumplimiento RGPD (Reglamento UE 2016/679 + LOPDGDD)
|
||||
|
||||
Reformix procesa datos personales del lead final (nombre, teléfono, email) y datos del propietario del SaaS (reformista). Compliance imprescindible desde el día 1.
|
||||
|
||||
### Documentos obligatorios
|
||||
|
||||
- **Política de Privacidad** publicada en la landing y dentro del widget.
|
||||
- **Términos y Condiciones** del SaaS (relación con el reformista) y de uso del widget (relación con el cliente final del reformista).
|
||||
- **Política de Cookies** con banner consentimiento (categorías técnicas / analíticas / marketing).
|
||||
- **Aviso Legal** con identificación de la sociedad, NIF, sede.
|
||||
- **Contrato de Encargado de Tratamiento** entre Reformix y el reformista, ya que actuamos como encargado para los datos del lead final.
|
||||
- **Registro de Actividades de Tratamiento** interno (artículo 30 RGPD).
|
||||
|
||||
### Bases legales del tratamiento
|
||||
|
||||
- **Datos del reformista (cliente SaaS):** ejecución del contrato (suscripción) + interés legítimo (marketing del propio servicio).
|
||||
- **Datos del lead final (cliente del reformista):** consentimiento explícito recogido en el widget + ejecución de tratativas precontractuales con el reformista.
|
||||
- **Datos en la foto subida:** la foto puede contener metadata, GPS, o personas. Política: la foto se procesa, se guarda hasta 12 meses, se borra automáticamente después. El widget incluye disclaimer claro.
|
||||
|
||||
### Encargados de tratamiento (sub-procesadores)
|
||||
|
||||
Hay que listarlos públicamente y comunicar cualquier cambio:
|
||||
|
||||
| Sub-encargado | Servicio | Ubicación datos |
|
||||
|---|---|---|
|
||||
| Postgres (Neon/managed o self-hosted Hetzner) | DB | UE (Frankfurt) — elegir región UE al setup |
|
||||
| S3 (Cloudflare R2) | Storage fotos + audio + renders | UE — configurar jurisdicción EU en R2 |
|
||||
| Vercel | Hosting | Multirregión (Frankfurt para europeos) |
|
||||
| Retell.ai | Agente de voz (procesa audio) | EEUU (SCC aplicables) |
|
||||
| ElevenLabs | TTS (voz) | EEUU (SCC) |
|
||||
| Zadarma | Telefonía | UE (proveedor europeo) |
|
||||
| Evolution API (self-hosted) | WhatsApp | UE (VPS propio en región EU) |
|
||||
| OpenAI | LLM + Vision | EEUU (SCC) |
|
||||
| Google (Nano Banana 2 / Image 2) | Render IA | EEUU (SCC) |
|
||||
| SMTP (proveedor a elegir) | Email | según proveedor — preferir UE |
|
||||
| Stripe | Pagos | EEUU (con SCC) |
|
||||
| PostHog | Analytics | UE Cloud (configurar región EU explícitamente) |
|
||||
|
||||
**Acción crítica:** PostHog cloud EU, Postgres región Frankfurt, R2 jurisdicción EU y Evolution API en VPS europeo — **configurarlas explícitamente** al setup para minimizar transferencias internacionales. Retell, ElevenLabs, OpenAI, Google y Stripe procesan en EEUU: documentar la transferencia y firmar SCC. **Nota:** el audio de la llamada lo procesa Retell (EEUU), un dato sensible — reflejarlo en la Política de Privacidad y el contrato de Encargado de Tratamiento.
|
||||
|
||||
### Plazos de conservación
|
||||
|
||||
- Datos del lead: 12 meses por defecto, prorrogable si el lead se convierte en cliente del reformista.
|
||||
- Datos de facturación: 6 años por imperativo fiscal.
|
||||
- Logs técnicos: 90 días.
|
||||
- Backups: 30 días rolling.
|
||||
|
||||
## Llamadas comerciales del agente de voz IA — LSSI-CE + RGPD
|
||||
|
||||
El agente de voz IA realiza una **llamada saliente** al cliente final del reformista en menos de 2 minutos tras dejar sus datos en la landing. Esto activa varias obligaciones legales en España.
|
||||
|
||||
### Consentimiento previo (LSSI-CE Art. 21 + RGPD)
|
||||
|
||||
- **Opt-in explícito y separado** en el formulario, no metido en una casilla común con la política de privacidad. Texto sugerido: *"Acepto recibir una llamada en los próximos 5 minutos de [Reformista] o de un asistente IA en su nombre para cualificar mi solicitud de presupuesto. Sé que esta llamada será grabada y transcrita para generar mi presupuesto."*
|
||||
- La casilla **no puede estar pre-marcada** (consentimiento informado y libre).
|
||||
- Almacenar timestamp + IP + user-agent del consentimiento en Postgres con retención 6 años (prueba ante AEPD si procede).
|
||||
|
||||
### Grabación de llamadas (RGPD + AEPD criterios)
|
||||
|
||||
- **Aviso al inicio de la llamada** con texto fijo del agente: *"Hola, soy el asistente virtual de [Reformista]. Te llamo para cualificar tu solicitud. Esta llamada va a ser grabada y transcrita para generar tu presupuesto. ¿Te parece bien que sigamos?"*
|
||||
- Si el cliente dice **NO**, el agente cuelga, el sistema registra la negativa, no se guarda nada de la conversación.
|
||||
- Base legal del tratamiento: consentimiento explícito + ejecución de medidas precontractuales solicitadas por el interesado.
|
||||
- Conservación de la grabación: máximo **12 meses**, después borrado automático con log.
|
||||
- Derecho de acceso, supresión, rectificación, portabilidad — accesibles desde un endpoint público + email.
|
||||
|
||||
### Inteligencia artificial transparente (AI Act EU + AEPD)
|
||||
|
||||
- Decir al cliente que es un **asistente virtual / IA**, no un humano. La AI Act exige transparencia cuando un humano interactúa con un sistema de IA.
|
||||
- El presupuesto entregado debe etiquetarse como **orientativo, generado por asistente IA**, con disclaimer de no vinculación.
|
||||
|
||||
### Horario de llamadas
|
||||
|
||||
- La normativa AEPD recomienda no llamar fuera de **lunes-viernes 9:00-21:00 y sábados 9:00-14:00**. El sistema debe respetar este horario por defecto; si el cliente rellena el formulario fuera de horario, la llamada se programa para el primer slot válido siguiente + se le avisa por SMS.
|
||||
|
||||
### Registro Robinson y listas de exclusión
|
||||
|
||||
- Antes de marcar, consultar el **Registro de Exclusión (Lista Robinson)** vía servicios como DataCentric o consultas API. Coste despreciable; el incumplimiento conlleva multa AEPD desde 30.000 €.
|
||||
- Si el número está en la lista, **no llamamos** — se le envía un email con el formulario asíncrono para que él pida la llamada explícitamente.
|
||||
|
||||
## WhatsApp Business — compliance
|
||||
|
||||
- Uso de la WhatsApp Business API requiere **aprobación de plantillas de mensaje** por Meta (24-48 h). Plantillas a registrar antes del lanzamiento: aviso pre-llamada, entrega de presupuesto, recordatorio de cita, follow-up.
|
||||
- **No iniciar conversación sin consentimiento previo** (mismo opt-in que la llamada cubre esto).
|
||||
- Marcar mensajes como categoría correcta (Utility / Marketing / Authentication) — afecta a coste por conversación.
|
||||
|
||||
## Protección al consumidor
|
||||
|
||||
La relación primaria es B2B (Reformix → reformista), donde la protección al consumidor no aplica con la misma fuerza. Pero el widget interactúa con el cliente final del reformista (B2C), y ahí sí hay obligaciones:
|
||||
|
||||
- **Texto claro de "presupuesto orientativo".** El cliente final no contrata nada con Reformix — solo se le presenta una estimación. Pero hay que evitar engaño: el render no es una promesa contractual.
|
||||
- **Derecho de desistimiento** del cliente final no aplica (no hay compra), pero sí derecho a borrar sus datos (acceso, rectificación, supresión, portabilidad).
|
||||
- **Email de confirmación al lead** explicando qué se hizo con sus datos y a qué reformista llegaron.
|
||||
|
||||
## Riesgo legal del flujo experto de licencia urbanística
|
||||
|
||||
**Importante.** El sub-flujo experto que indica si una obra requiere licencia urbanística manipula expectativas legales del cliente final. Si nos equivocamos, el cliente puede tener problemas con el ayuntamiento o multas.
|
||||
|
||||
### Salvaguardas obligatorias
|
||||
|
||||
1. **Disclaimer en pantalla** antes de entrar al flujo: *"La información que sigue es orientativa basada en normativa estatal. Las ordenanzas municipales prevalecen y pueden variar. Consulta con tu reformista o arquitecto técnico antes de iniciar la obra."*
|
||||
2. **No usamos terminología vinculante.** Nunca *"requiere"*, siempre *"puede requerir"*, *"normalmente requiere"*, *"recomendamos consultar"*.
|
||||
3. **Lista cerrada de triggers** revisada por aparejador y actualizada cada 6-12 meses.
|
||||
4. **Log de cada estimación** para defensa documental en caso de reclamación.
|
||||
5. **Seguro de Responsabilidad Civil profesional** (~600-1.200 €/año) cuando el volumen de uso supere unas 1.000 estimaciones/mes.
|
||||
|
||||
## Verifactu (sistema de facturación electrónica verificable)
|
||||
|
||||
A partir de 2026, la AEAT exige a las empresas en España emitir facturas a través de sistemas certificados que cumplan el Real Decreto 1007/2023 — el llamado **"Verifactu"**. Aplica a sociedades y autónomos en estimación directa (la mayoría de nuestros clientes).
|
||||
|
||||
**Implicación para Reformix:**
|
||||
|
||||
1. Si Reformix factura suscripciones a reformistas (B2B), nuestro propio sistema de facturación debe cumplir Verifactu. La forma rápida es **integrar la facturación con Stripe + Holded / Quipu** que ya están certificados. Coste 25-50 €/mes incremental.
|
||||
2. Para los reformistas que usan Reformix, **el valor añadido** es que el presupuesto generado por el widget pueda transformarse, con un click, en una factura Verifactu si el reformista la quiere emitir desde dentro de Reformix. Esto entra en Pro y Business (v1.5+) y nos diferencia frente a competidores extranjeros (Handoff, BuildFolio, See It Done) que **no van a localizar Verifactu en EU/ES** en corto plazo.
|
||||
3. **Hoja de ruta:** integración nativa con Holded API o Quipu API a partir de mes 4-6 (cuando los primeros Pro tengan tracción real).
|
||||
|
||||
Fuentes: Real Decreto 1007/2023 + AEAT publicación Q4 2024.
|
||||
|
||||
## Términos del SaaS
|
||||
|
||||
- **Modelo:** suscripción mensual o anual, prepago.
|
||||
- **Trial:** 14 días sin tarjeta. Si no convierte, datos del reformista borrados a los 90 días salvo solicitud de prórroga.
|
||||
- **Política de reembolsos:** prorrateo en suscripción anual si cancela antes de tiempo (devolución de meses no usados); no reembolso en suscripción mensual (el mes ya consumido se cobra).
|
||||
- **Cancelación:** 1 clic desde el panel, efectiva al final del periodo de facturación en curso.
|
||||
|
||||
## Otros temas legales
|
||||
|
||||
- **Propiedad intelectual:** el render generado es del cliente final del reformista. Reformix se reserva derecho de uso anonimizado para mejorar el modelo y para casos de uso comerciales no identificables.
|
||||
- **Marca:** registro de "Reformix" en OEPM (Oficina Española de Patentes y Marcas), clases 9 (software) y 42 (servicios SaaS). Coste ~150-300 € por clase. Recomendado en mes 1-3.
|
||||
- **No competición.** Pacto de socios incluye no competición durante 2 años post-salida en el mismo sector.
|
||||
- **Fiscal:** modelo 130 trimestral (autónomos en transición) y modelo 200 anual una vez constituida la SL. Pagos a cuenta del impuesto de sociedades.
|
||||
|
||||
## Hoja de ruta legal (lo que toca cuándo)
|
||||
|
||||
| Mes | Acción legal | Coste |
|
||||
|---|---|---|
|
||||
| 0 (HOY) | Reservar el nombre Reformix en RMC + dominio | 50-100 € |
|
||||
| 1 | Constitución SL + pacto de socios + alta IAE | 800-1.500 € |
|
||||
| 1 | Plantillas T&C + Privacidad + Cookies + Aviso Legal (con abogado) | 500-800 € |
|
||||
| 2 | Contrato encargado de tratamiento con reformistas | 200-400 € |
|
||||
| 2 | Configurar regiones EU en proveedores + documentar SCC | 0 € (interno) |
|
||||
| 3 | Registro marca OEPM | 150-300 € |
|
||||
| 6 | Seguro RC profesional + ciberseguro | 800-1.500 €/año |
|
||||
| 12 | Auditoría RGPD anual + revisión de sub-encargados | 600-1.200 € |
|
||||
|
||||
**Total año 1 estimado en legal/fiscal:** **3.000-5.000 €** (excluyendo asesoría mensual recurrente).
|
||||
101
negocio/modelo-negocio.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Modelo de negocio
|
||||
|
||||
## Propuesta de valor
|
||||
|
||||
**Para el reformista (Fase 1):**
|
||||
*"Tu cliente deja sus datos, sube una foto, recibe una llamada de tu asistente IA en menos de 2 minutos, y al colgar le llega por WhatsApp el render + presupuesto con tu marca. Tú recibes el lead caliente con toda la cualificación hecha."*
|
||||
|
||||
**Para el cliente final del reformista (Fase 1):**
|
||||
*"Pide tu presupuesto en 5 minutos sin moverte de casa. Te llamamos a los 2 minutos, te lo cualificamos al teléfono y te lo enviamos por WhatsApp con render incluido."*
|
||||
|
||||
**Para el propietario (Fase 2):**
|
||||
*"Un mercado de reformas más justo. Sube tu presupuesto y descubre si está dentro de banda. Si no, te ponemos en contacto gratis con un profesional certificado."*
|
||||
|
||||
## Fuentes de ingresos
|
||||
|
||||
| Fase | Fuente | Estimación |
|
||||
|---|---|---|
|
||||
| Fase 1 | Suscripción SaaS mensual (Starter 29 € / Pro 79 € / Business 199 €) + overage por lead extra | ARPU ~85-100 € (mix base + overage) |
|
||||
| Fase 1 | Setup fee opcional para onboarding asistido ("instalamos por ti") | 150 € one-time |
|
||||
| Fase 2 | Comisión por lead cualificado canalizado a reformista certificado | 50-150 €/lead |
|
||||
| Fase 2 | Suscripción mantenida (los certificados ya pagan SaaS) | continuidad |
|
||||
| Año 2-3 | API para CRMs y partners | 0,15 €/llamada |
|
||||
| Año 2-3 | Marketplace de materiales con comisión sobre proveedores (Porcelanosa, Roca…) | 3-5 % de transacción |
|
||||
|
||||
## Pricing tiers (validado contra benchmarks internacionales)
|
||||
|
||||
| Tier | Precio | Leads incluidos | Overage | Target | Benchmark |
|
||||
| ------------ | --------- | ------------------- | ---------------- | ---------------------------------------------- | --------------------------------------------- |
|
||||
| **Starter** | 29 €/mes | 5 leads procesados | 3 €/lead extra | Autónomo (0-1 emp) | BuildFolio Pro $29, Foyr Neo $29 |
|
||||
| **Pro** ⭐ | 79 €/mes | 15 leads procesados | 2,5 €/lead extra | Empresa pequeña (2-10 emp) | Handoff $39-119, Houzz Standard $100-200 |
|
||||
| **Business** | 199 €/mes | 50 leads procesados | 2 €/lead extra | Empresa mediana (>10 emp) o multi-localización | Buildxact Foundation $199, Houzz Pro $250-400 |
|
||||
|
||||
Cada lead incluye **llamada del agente de voz + render + presupuesto + entrega por WhatsApp**. El modelo overage alinea coste real con valor cobrado y mantiene margen sano (>70 %) incluso en uso pesado. **Upsell adicional:** la persona recibe una llamada con peticiones y pasa directamente al sistema de presupuestos.
|
||||
|
||||
- **Trial:** 14 días gratis sin tarjeta.
|
||||
- **Pago anual:** 2 meses gratis (descuento ~17 %).
|
||||
- **Add-on Fase 2 (cuando exista):** comisión sobre validaciones B2C (2-5 €/análisis) o premium reformista (+20 €/mes para aparecer en marketplace "reformistas validados precio justo").
|
||||
|
||||
**Justificación ROI:** un autónomo con margen 15 % sobre obra promedio de 25.000 € gana ~3.750 €/obra. Si Reformix le aporta 1 obra extra al año → ROI 6,4× (en plan Pro). Si aporta 1 obra extra al trimestre → ROI 25,5×.
|
||||
|
||||
**Modelo híbrido alternativo a explorar (mes 3-6):** suscripción base + pay-per-use estilo HomeSurvey.ai ($15/survey sin seats ni mínimos). Reduce fricción en autónomos cautelosos. Ej.: Starter 19 € + 1,50 €/presupuesto adicional sobre 10/mes incluidos.
|
||||
|
||||
## Unit economics (escenario base)
|
||||
|
||||
| Métrica | Valor | Notas |
|
||||
|---|---|---|
|
||||
| ARPU mensual | 50 € | Mix Pro 60 % / Starter 25 % / Business 15 % |
|
||||
| Churn mensual mes 1-6 | 8 % | Típico SaaS B2B SMB primer año |
|
||||
| Churn mensual estabilizado | 5 % (año 1) / 3 % (año 2+) | |
|
||||
| Retención media año 1 | 12-14 meses | |
|
||||
| LTV año 1 | ~625 € | ARPU × meses de vida |
|
||||
| LTV estabilizado | ~960-1.250 € | Año 2+ |
|
||||
| CAC objetivo | < 200 € | Para LTV/CAC ≥ 3,5× |
|
||||
| Margen bruto | ~70-78 % | Tras llamadas voice (~50-100 €/cuenta), IA + WhatsApp (~10 €/cuenta), infra (~2 €), Stripe (~1,8 €). Cae respecto a wizard puro por el coste de telefonía + agente, pero la conversión 3× compensa con margen. |
|
||||
| **LTV/CAC** | **6,4×** | Escenario base. Margen para subir ads. |
|
||||
| Payback period | 3,75 meses | CAC / (ARPU × margen) |
|
||||
|
||||
## Coste de IA por uso (validar con tests reales)
|
||||
|
||||
| Coste | Servicio | Valor |
|
||||
|---|---|---|
|
||||
| Render del espacio | Replicate SDXL + ControlNet interior | ~0,02 €/imagen |
|
||||
| Render fallback alta calidad | DALL-E 3 HD | ~0,08 €/imagen |
|
||||
| Análisis de la foto | GPT-4o Vision | ~0,01 €/llamada |
|
||||
| Generación del desglose | GPT-4o chat completions | ~0,01 €/llamada |
|
||||
| **Coste total por lead procesado** | **~0,05-0,15 €** | |
|
||||
|
||||
Cuenta Pro con 100 leads/mes → 5-15 € COGS / mes. Margen sano.
|
||||
|
||||
## Análisis competitivo (resumen)
|
||||
|
||||
| Competidor | Qué hace | Qué le falta vs Reformix |
|
||||
|---|---|---|
|
||||
| **STIMAT (planreforma.com)** | Líder español de presupuestos. Algoritmo propio, moodboards de materiales. | Back-office post-visita. Sin render del espacio, sin móvil, sin widget para captar leads en la web del reformista. |
|
||||
| **NexoraSuite** | Chatbot de captación y automatización. | Sin visual, sin render, sin foto. Solo texto y PDFs. |
|
||||
| **presupuestosdereformas.es** | Calculadora IA dirigida al propietario. | Los leads van al portal, no al reformista. Sin visualización del espacio. |
|
||||
| **RoomsGPT / ArchiVinci / Reimagine Home** | Render IA genérico para consumidor. | Sin presupuesto, sin branding del profesional, sin captura de lead. |
|
||||
| **Habitissimo / Reformly** | Marketplaces B2C con asignación de lead. | Sin render, sin valoración de presupuesto, leads fríos sin pre-cualificación. |
|
||||
|
||||
**El hueco:** nadie en España combina render + presupuesto + branding del profesional + captura de lead + flujo experto de licencia urbanística. Los moats sostenibles serán (1) la base de datos de precisión histórica que alimenta el valorador y el sello, y (2) la doble nomenclatura asistida por IA.
|
||||
|
||||
## Moat (defensa)
|
||||
|
||||
| Capa | Cómo defendemos |
|
||||
|---|---|
|
||||
| **Hoy (MVP)** | Únicos en España combinando los 4 ejes (render + presu + branding + lead). Hueco que se cierra con velocidad de ejecución. |
|
||||
| **Mes 3-6** | Doble nomenclatura asistida por IA. Convierte el SaaS en herramienta operativa que el reformista no quiere abandonar. |
|
||||
| **Mes 6-12** | Base de datos de precios reales del sector (seed de Goyo + cada presupuesto generado). Mejora con cada uso. Switching cost. |
|
||||
| **Año 2** | Sello "Precio Justo Certificado" + valorador. Marca = árbitro neutro del mercado. Difícil de replicar sin nuestra base de datos histórica. |
|
||||
| **Año 3** | Marketplace B2B2B con interioristas/arquitectos comisionados (validado en entrevista). |
|
||||
|
||||
## Mercado objetivo (TAM/SAM/SOM España)
|
||||
|
||||
| Capa | Estimación | Fuente / método |
|
||||
|---|---|---|
|
||||
| **TAM** — Total empresas españolas en CNAE de reformas (43.21, 43.31, 43.32, 43.39) | ~150.000 empresas + autónomos | DIRCE 2024 / INE |
|
||||
| **SAM** — Empresas con web propia (potencialmente embebibles el widget) | ~25-40.000 | Estimación. Tasa de digitalización del sector ~25 %. |
|
||||
| **SOM** año 1 | 0,2-0,5 % del SAM | 50-200 cuentas pagantes año 1 |
|
||||
| **SOM** año 3 | 2-4 % del SAM | 800-1.500 cuentas pagantes |
|
||||
|
||||
ARR año 3 base = 1.000 cuentas × 600 € ARR = **600 K€** SaaS + **300-600 K€** marketplace = **~900 K€-1,2 M€ ARR**.
|
||||
127
negocio/operaciones.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# 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** | **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. |
|
||||
| PDF | **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** | **WhatsApp** | 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 | Email | 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)
|
||||
|
||||
1. Reformista entra a la web, hace signup con email.
|
||||
2. 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).
|
||||
3. **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.
|
||||
4. Sistema genera la URL embebible del flujo + snippet `<iframe>`. Tutorial de instalación en WordPress / Wix / Squarespace.
|
||||
5. Plan Pro y Business: oferta de **onboarding asistido por videocall** (configuramos y probamos el agente por ti).
|
||||
6. 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)
|
||||
|
||||
1. Cliente completa formulario en landing del reformista (~30 s).
|
||||
2. 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.
|
||||
3. 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.
|
||||
4. 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.
|
||||
5. 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.md` en 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.
|
||||
126
negocio/plan-financiero.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# Plan financiero
|
||||
|
||||
## Hipótesis de partida (revisar trimestralmente)
|
||||
|
||||
| Variable | Hipótesis |
|
||||
|---|---|
|
||||
| Tier mix Pro / Starter / Business (validado con benchmarks) | 55 / 30 / 15 % |
|
||||
| Pricing tiers actualizados | 29 / 79 / 199 € |
|
||||
| **ARPU mensual** | **~82 €** (55×79 + 30×29 + 15×199 = 43,45 + 8,7 + 29,85) |
|
||||
| Churn mensual mes 1-6 | 8 % |
|
||||
| Churn mensual mes 7-12 | 5 % |
|
||||
| Churn mensual año 2+ | 3 % |
|
||||
| Conversión trial → pago | 25 % |
|
||||
| LTV año 1 | ~625 € |
|
||||
| LTV año 2+ | ~1.250 € |
|
||||
| CAC objetivo | < 200 € |
|
||||
| Coste IA + voz + WhatsApp / lead procesado | **0,90-1,20 €** (Retell ~0,50 + Zadarma ~0,07 + SMS+WhatsApp ~0,11 + GPT-4o ~0,03 + Nano Banana 2 ~0,02) |
|
||||
| Comisión Stripe | 1,4 % + 0,25 €/transacción |
|
||||
|
||||
## Costes fijos mensuales
|
||||
|
||||
### Fase 0 — pre-clientes (mes 0-2 post-hackathon)
|
||||
|
||||
| Concepto | € / mes | Notas |
|
||||
|---|---|---|
|
||||
| Vercel Pro | 20 | Plan base con bandwidth holgado |
|
||||
| Postgres managed (Neon) + S3 (R2) | 25 | DB + Storage para fotos, audio y renders |
|
||||
| Nano Banana 2 + OpenAI (base baja) | 50 | Tráfico de tests + primeros clientes |
|
||||
| SMTP | 0 | Servidor propio o free tier |
|
||||
| Dominio + Google Workspace | 10 | reformix.es + 4 cuentas |
|
||||
| PostHog | 0 | Free tier 1M eventos |
|
||||
| Asesoría legal/fiscal puntual | 50 | Provisión para consultas concretas |
|
||||
| **Total infra fija** | **155** | |
|
||||
| Ads de adquisición | 300-1.000 | Variable |
|
||||
| **Total fase 0** | **~455-1.155** | |
|
||||
|
||||
Punto de break-even sin sueldos: **9-10 cuentas Pro** (~550 € MRR).
|
||||
|
||||
### Fase 1 — con equipo (mes 6-12, modo bootstrap)
|
||||
|
||||
| Concepto | € / mes |
|
||||
|---|---|
|
||||
| 4 fundadores × 1.500 € (mínimo) | 6.000 |
|
||||
| Infraestructura escalada | 200 |
|
||||
| Replicate + OpenAI (con tráfico) | 300-600 |
|
||||
| Ads de adquisición | 1.500-3.000 |
|
||||
| Legal + fiscal mensual | 250 |
|
||||
| Seguros (RC profesional) | 80 |
|
||||
| Otros (buffer 10 %) | 800 |
|
||||
| **Total** | **9.130-11.330** |
|
||||
|
||||
Break-even con sueldos: **180-220 cuentas Pro pagantes** → objetivo realista mes 12.
|
||||
|
||||
## Proyecciones 3 escenarios — Fase 1 (SaaS B2B)
|
||||
|
||||
| Mes | Pesimista | Base | Optimista |
|
||||
|---|---|---|---|
|
||||
| 3 (jun-ago 2026) | 8 cuentas · MRR 400 € | 25 cuentas · 1.250 € | 50 cuentas · 2.500 € |
|
||||
| 6 | 25 · 1.250 € | 70 · 3.500 € | 150 · 7.500 € |
|
||||
| 12 | 60 · 3.000 € | 200 · 10.000 € | 500 · 25.000 € |
|
||||
| 18 | 120 · 6.000 € | 400 · 20.000 € | 900 · 45.000 € |
|
||||
| 24 | 200 · 10.000 € | 700 · 35.000 € | 1.500 · 75.000 € |
|
||||
|
||||
## Fase 2 — proyección rápida (marketplace + valorador)
|
||||
|
||||
Asumiendo encendido en mes 9-12 Fase 2 con ~200 reformistas certificados ya en el sistema:
|
||||
|
||||
| Variable | Hipótesis |
|
||||
|---|---|
|
||||
| Valoraciones de presupuesto / mes | 5.000 (mes 12 Fase 2) → 50.000 (mes 24) |
|
||||
| Conversión valoración → solicitud de segunda opinión | 12 % → 18 % con optimización |
|
||||
| Lead → cita aceptada por reformista | 60 % |
|
||||
| Comisión por lead cualificado | 75 € promedio |
|
||||
| **Revenue marketplace mes 12 Fase 2** | **5.000 × 12 % × 60 % × 75 € = 27.000 €/mes** |
|
||||
| Revenue total combinado mes 12 Fase 2 (SaaS + marketplace) | ~57.000 €/mes |
|
||||
|
||||
ARR combinado mes 24 post-hackathon ≈ **680 K€** en escenario base.
|
||||
|
||||
## Capital necesario
|
||||
|
||||
### Opción A — Bootstrap (recomendada para arrancar)
|
||||
|
||||
| Concepto | € |
|
||||
|---|---|
|
||||
| Constitución SL (capital social mínimo + notaría + registro) | 300-1.000 |
|
||||
| Asesoría legal + fiscal inicial | 500-1.000 |
|
||||
| Dominio + cuentas técnicas primer trimestre | 200 |
|
||||
| Primer mes de ads | 500 |
|
||||
| Consulta aparejador (validación licencia) | 75 |
|
||||
| Buffer 3 meses operación fase 0 | 1.500 |
|
||||
| **Total inversión inicial** | **~3.000-5.000 €** |
|
||||
|
||||
Repartido entre 4 fundadores = 750-1.250 € por cabeza. Asumible.
|
||||
|
||||
### Opción B — Pre-seed (opcional, mes 6-9 si hay tracción)
|
||||
|
||||
- **Trigger:** ≥ 50 cuentas pagantes + MRR > 2.500 € + churn estabilizado < 7 %.
|
||||
- **Tamaño:** 150-300 K€.
|
||||
- **Valoración:** 1,5-2,5 M€ post-money.
|
||||
- **Uso:** sueldos a mercado (4 × 2.500-3.500 €), growth marketer junior, ads agresivos, contratación de un sales SDR para Fase 2.
|
||||
- **Aceleración:** time-to-Fase 2 de 18 → 9 meses.
|
||||
|
||||
## Sensibilidad — qué pasa si las hipótesis fallan
|
||||
|
||||
| Si... | Pasa que... | Acción |
|
||||
|---|---|---|
|
||||
| CAC > 300 € sostenido | LTV/CAC cae bajo 3× | Cortar ads, pivotar a outreach + content + referidos |
|
||||
| Churn > 12 % | LTV se desploma | Onboarding asistido, success calls mes 1, plan "instalamos por ti" |
|
||||
| Coste IA > 1 € por lead | Margen se come | Modelo más barato o fine-tune propio sobre Stable Diffusion |
|
||||
| Reformistas no completan onboarding | Sin data, sin sello, sin Fase 2 | Servicio asistido 30 días gratis en plan Pro+ |
|
||||
| Precisión del presupuesto cae bajo 60 % | Sin Fase 2 viable | Re-entrenar tabla por zonas y partidas; aparejador como partner |
|
||||
| 2 fundadores se desconectan | Velocity colapsa | Reducir scope a Starter + widget puro; subir precios; revisar equity vesting |
|
||||
|
||||
## Flujo de caja simplificado (escenario base, 24 meses)
|
||||
|
||||
| Mes | MRR | Costes fijos | Ads | Caja neta mes | Caja acumulada |
|
||||
|---|---|---|---|---|---|
|
||||
| 1 | 250 | 155 | 300 | -205 | -205 |
|
||||
| 3 | 1.250 | 155 | 500 | 595 | 1.300 |
|
||||
| 6 | 3.500 | 200 | 1.000 | 2.300 | 11.000 |
|
||||
| 9 | 6.000 | 1.500 (1 hire) | 1.500 | 3.000 | 24.000 |
|
||||
| 12 | 10.000 | 7.000 (sueldos) | 2.500 | 500 | 35.000 |
|
||||
| 18 | 20.000 | 10.000 | 4.000 | 6.000 | 75.000 |
|
||||
| 24 (Fase 2 on) | 57.000 | 18.000 | 8.000 | 31.000 | 220.000 |
|
||||
|
||||
Cifras orientativas. Asumen escenario base y disciplina de gasto. Si entra ronda pre-seed mes 6-9, las cifras de sueldos y ads se aceleran.
|
||||
76
negocio/riesgos.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Matriz de riesgos y planes de contingencia
|
||||
|
||||
> Riesgos ordenados por **impacto × probabilidad**. Cada riesgo tiene mitigación (qué hacemos para reducir la probabilidad) y contingencia (qué hacemos si ocurre).
|
||||
|
||||
## Riesgos de mercado y competencia
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| **M1** | **Houzz Pro entra a EU con widget embebible propio** (hoy concentran leads en su marketplace; tecnológicamente ya tienen render IA + presupuesto + CRM + lead capture) | Media | **Crítico** | Velocidad de entrada, branding 100 % del reformista (no "powered by"), localización profunda licencias, integración Verifactu. Vigilar lanzamientos en pro.houzz.com + eventos KBIS / Cersaie | Acelerar v2 doble nomenclatura, acelerar Fase 2 valorador, considerar partnership / adquisición |
|
||||
| **M2** | **See It Done o BuildFolio añaden la pieza faltante e internacionalizan a España** (See It Done ya tiene widget+render, BuildFolio ya tiene widget+presupuesto, cualquiera puede cerrar el gap) | Media | Alto | Profundidad localización ES (licencias, IVA, Verifactu, precios CCAA), partnership con Habitissimo / Plan Reforma para datos, lock-in con ERPs españoles, valorador B2C como moat de adquisición | Doblar inversión en datos locales y en el valorador, vender narrativa "español que entiende tu mercado" |
|
||||
| **M3** | **Player español (Homik, Plan Reforma o Habitissimo) pivota a widget B2B con IA** (Homik tiene 6.300+ presupuestos + 80 constructoras; Plan Reforma tiene Stimat + 200K+ cálculos; Habitissimo tiene marketplace consolidado) | Media | Alto | First-mover en widget pro, ventaja en render fotorealista (no lo tienen), UX nativa móvil mejor, posible partnership con uno de ellos (data licensing) para neutralizar al resto | Adquisición / integración con el ganador potencial, o defender con sello + doble nomenclatura |
|
||||
| M4 | STIMAT (planreforma.com) añade render IA | Media | Alto | Velocidad de ejecución, sello "Precio Justo Certificado" como moat sostenible | Acelerar v2 doble nomenclatura, pivotar narrativa al feature B2B |
|
||||
| M5 | Cambio regulatorio que limite IA generativa en presupuestos (AI Act EU) | Baja | Medio | Disclaimer claro de "presupuesto orientativo", trazabilidad de cada estimación, opt-in del usuario | Adaptar UX para cumplir requisitos de transparencia, modelar output como "asistencia humana" |
|
||||
| M6 | Demanda B2B menor de la esperada — reformistas no adoptan tech | Media | Alto | Onboarding asistido en Pro+, demos personalizadas primer trimestre, contenido formativo | Pivotar a vertical más receptiva (interioristas, arquitectos técnicos) o a Fase 2 marketplace antes |
|
||||
| M7 | OpenAI / Anthropic lanzan plantillas verticales tipo "GPT for renovations" que comoditizan la IA generativa | Media | Medio | Valor está en datos + UX + branding + localización, no en el modelo | Migrar a multi-proveedor wrapper, diferenciar en pieza de presupuesto desglosado por partidas |
|
||||
| M8 | Aseguradoras españolas (Mapfre, Mutua Madrileña) lanzan herramientas propias para reformistas afiliados | Baja | Medio | Atomicidad del producto, suscripción flexible, partnerships con aseguradoras como canal | Pivotar a partnership / OEM para esas aseguradoras |
|
||||
| M9 | IKEA / Leroy Merlin lanzan widget con catálogo propio integrado (ya tienen Roomvo) | Baja | Medio | Catálogo neutral y abierto, branding del reformista, no marca propia | Aliarnos con ellos como proveedores de catálogo, no como competidores |
|
||||
|
||||
## Riesgos técnicos
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| **V1** | **Voz robótica del agente rompe el efecto WOW** | Media | Alto | ElevenLabs voces premium en español (las más naturales del mercado), prompts cuidadosamente conversacionales, manejo de interrupciones, ensayos del equipo con su experiencia en voice agents | Cambiar voz a un perfil más cálido, ajustar pace y filler words, en último caso pivot a vídeo grabado para demo |
|
||||
| **V2** | **Tasa de respuesta a llamada < 40 %** | Media | Alto | SMS + WhatsApp pre-llamada con nombre del reformista y hora estimada, número fijo provincial (no móvil), reintento automático 30 min + 4 h | Fallback a flujo solo formulario + envío de presupuesto por WhatsApp sin llamada |
|
||||
| **V3** | **Coste de llamada se dispara si el agente alucina** | Media | Medio | Hard time-out 8 min, prompt de "termina educadamente si la conversación se desvía", monitoring de minutos por lead | Subir precios o limitar minutos por tier (10 min/lead máximo) |
|
||||
| **V4** | **Cliente está en Lista Robinson y nos llaman** | Baja | Crítico | Consulta Robinson antes de marcar, registro de consultas con timestamp | Compliance AEPD: notificación voluntaria, ajuste del proceso, multa potencial 30K€+ |
|
||||
| **W1** | **WhatsApp Business cuenta suspendida por Meta** (rates altos, plantillas rechazadas, quejas de spam) | Baja | Alto | Plantillas aprobadas pre-launch, rate limit conservador, opción opt-out en cada mensaje | Cuenta de backup con segundo número, transición a alternativo (MessageBird) en 24 h |
|
||||
| T1 | Render IA poco creíble en producción (artefactos, distorsiones) | Alta | Alto | Probar 10+ modelos antes de cerrar, fallback DALL-E 3 HD, gating de calidad (no entregar si confianza < umbral), 10-20 renders pre-generados para demo | Mostrar moodboard de materiales en lugar de render real, prometer "render manual gratuito en 24 h" en plan Pro |
|
||||
| T2 | Demo del 11-jun falla en vivo (llamada real fallida) | Media | Crítico | **Vídeo pre-grabado de una llamada real del día anterior** como plan B, datos pre-cargados, script ensayado 3 veces, conectividad redundante (4G + WiFi) en la presentación | Mostrar el vídeo grabado + slides explicativas; el jurado entiende que es demo de hackathon |
|
||||
| T3 | Coste IA + telefonía escala más rápido que ingresos | Media | Alto | Rate-limit por reformista, cache de renders por hash, monitor de coste/lead en tiempo real | Cobrar overage por llamada extra, subir precios planes, time-out agresivo |
|
||||
| T4 | Retell, ElevenLabs, Replicate u OpenAI caída prolongada | Baja | Alto | Multi-proveedor con fallback automático (Retell↔Vapi, ElevenLabs↔Cartesia, Replicate↔DALL-E) | Página de incidencias, comunicación proactiva, créditos de compensación |
|
||||
| T5 | Brecha de seguridad / leak de grabaciones de audio | Baja | Crítico | HTTPS, encriptación at-rest, rate limiting, dependencias auditadas, secrets en vault, mínimo privilegio | Plan de respuesta a incidentes 72 h, notificación AEPD obligatoria, comunicación clientes, oferta de borrado |
|
||||
|
||||
## Riesgos de presupuesto y precisión
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| P1 | Presupuesto estimado desvía >30 % del precio real firmado | Alta | Alto | Tabla de Goyo validada por 5+ reformistas reales, rangos amplios (no precios fijos), disclaimer claro, bucle de aprendizaje continuo (capturar precio final en panel) | Subir banda de error mostrada, ajustar pesos por zona / partida, contratar aparejador como advisor |
|
||||
| P2 | Detección errónea de necesidad de licencia urbanística | Media | Medio | Lista cerrada de triggers validada por aparejador, disclaimer "consulta con tu reformista" en cada salida del flujo, terminología prudente ("puede requerir") | Externalizar el dictamen a un perfil técnico partner (aparejador) en v1.5, retirar el flag y dejar solo informativo |
|
||||
| P3 | Valorador (Fase 2) da veredictos inconsistentes | Media | Alto | No lanzar valorador hasta tener 5.000+ presupuestos reales en dataset, validación cruzada con 5 reformistas senior | Marcar la herramienta como "beta", limitar a 1 categoría (solo baño) hasta estabilizar |
|
||||
| P4 | Reformistas no capturan precio final firmado | Alta | Medio | UX simple para introducirlo, recordatorios automáticos, incentivo (acelera sello), peticiones manuales primeros 50 | Capturar el dato manualmente por WhatsApp con primeros clientes, gamificar |
|
||||
|
||||
## Riesgos financieros
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| F1 | CAC > 300 € sostenido en ads | Media | Alto | 3 creativos A/B + 3 copys de landing A/B, optimización semanal, mix de canales (Meta + Google + outreach) | Cortar ads, pivotar a outreach 1:1 con red de Goyo + contenido SEO de Simon, modelo de referido (15-20 % comisión primer año) |
|
||||
| F2 | Churn > 12 % mensual | Media | Alto | Onboarding asistido en Pro+, success call mes 1, contenido formativo, KPI "time-to-first-lead" | Plan "instalamos por ti" gratuito 30 días, contacto directo con churning users para entender, win-back con descuento |
|
||||
| F3 | No llega la pre-seed cuando se necesita | Baja | Medio | Bootstrap como plan A, pre-seed solo como aceleración opcional | Mantener equipo lean, sueldos diferidos, crecimiento orgánico más lento |
|
||||
| F4 | Coste fijo escala demasiado pronto (sueldos antes de MRR) | Media | Alto | Sueldos modestos hasta MRR > 6.000 €, hires conservadores, mucho self-service | Recortar gasto en ads primero, congelar hires, freelancers en lugar de empleados |
|
||||
|
||||
## Riesgos de equipo
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| E1 | Cofundador se desconecta o sale | Media | Alto | Pacto de socios con vesting 4 años + cliff 1, daily standup async, roles bien definidos | Activar cláusula de buyback de participaciones no vesteadas, redistribuir áreas, contratar reemplazo si critical |
|
||||
| E2 | Equipo de 4 con disponibilidad parcial durante el hackathon | Alta | Alto | Reparto claro de owners, daily standup async, checkpoint diario visible | Recortar scope agresivamente: priorizar render + lead, presupuesto a mano si hace falta |
|
||||
| E3 | Conflicto entre fundadores sobre dirección estratégica | Baja | Alto | Decisiones documentadas en este `negocio/`, pacto de socios con mecanismos de desempate (CEO por turno o voto cualificado) | Mediación externa, votación, en último caso buyout |
|
||||
|
||||
## Riesgos reputacionales
|
||||
|
||||
| # | Riesgo | Prob. | Impacto | Mitigación | Contingencia |
|
||||
|---|---|---|---|---|---|
|
||||
| R1 | Cliente final demanda por presupuesto inexacto que llevó a contratar (engaño) | Baja | Alto | Disclaimer en cada output, "presupuesto orientativo", T&C claras, propiedad del consejo es del reformista (Reformix solo entrega herramienta) | Seguro RC profesional desde mes 6, asesoría legal, documentación del flujo |
|
||||
| R2 | Reformista usa el widget para timar al cliente | Baja | Alto | Sistema de sello certificado depura abusos, reviews, métrica de precisión expone outliers | Suspender al reformista, comunicación pública del proceso de certificación, mejora del sistema |
|
||||
| R3 | Prensa negativa por "IA reemplaza al gremio" | Baja | Medio | Narrativa de "ayuda al profesional, no le reemplaza", testimoniales reales, contenido formativo | Carta pública, partnerships con asociaciones del sector, ronda de prensa con casos de éxito |
|
||||
|
||||
## Resumen — top 5 riesgos a vigilar de cerca
|
||||
|
||||
1. **T1 — Render IA poco creíble** (probabilidad alta + impacto alto).
|
||||
2. **P1 — Presupuesto se desvía mucho del real** (probabilidad alta + impacto alto).
|
||||
3. **F1 — CAC > 300 €** (probabilidad media + impacto alto).
|
||||
4. **F2 — Churn > 12 %** (probabilidad media + impacto alto).
|
||||
5. **M1 — STIMAT añade render IA** (probabilidad media + impacto alto).
|
||||
|
||||
Estos 5 deben revisarse en cada reunión semanal hasta que la métrica correspondiente esté en zona verde durante 8 semanas seguidas.
|
||||
109
negocio/roadmap.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Roadmap de negocio (18 meses)
|
||||
|
||||
> Roadmap **de negocio**, no técnico. Hitos operativos con dependencias, coste, métricas de éxito y riesgos por fase.
|
||||
|
||||
---
|
||||
|
||||
## Fase 0 — Hackathon (21-may → 11-jun-2026)
|
||||
|
||||
**Goal:** entregar blueprint + landing + MVP demo según calendario del hackathon.
|
||||
|
||||
| Hito | Fecha | Dependencias | Coste | Métrica éxito | Riesgo |
|
||||
|---|---|---|---|---|---|
|
||||
| Blueprint entregado | 21-may | Plan consolidado | 0 € | Documento aprobado | Bajo |
|
||||
| Landing live + ads activos | 28-may | Copy + creativos + analítica | 400-550 € ads | CPL waitlist < 6 € en 48 h | Medio |
|
||||
| MVP funcional end-to-end | 10-jun | Prompts IA, tabla precios, panel | 100-200 € infra | Demo completa < 60 s | Alto |
|
||||
| Demo MVP entregada | 11-jun | MVP + ensayo + plan B | 0 € | Demo pasa sin caer | Crítico |
|
||||
|
||||
---
|
||||
|
||||
## Fase 1 — Validación y arranque comercial (jun-ago 2026, mes 0-3 post-hackathon)
|
||||
|
||||
**Goal:** convertir interés generado durante el hackathon en primeros clientes pagantes y validar el modelo.
|
||||
|
||||
| Hito | Fecha objetivo | Dependencias | Coste | KPI éxito | Plan B |
|
||||
|---|---|---|---|---|---|
|
||||
| Constitución SL en España | 15-jul | Asesoría fiscal | 800-1.500 € | Notaría firmada, IAE alta | Operar como autónomo si retraso |
|
||||
| Stripe activado + tier de pago real | 30-jun | SL constituida | 0 € | 1ª transacción cobrada | Esperar SL para evitar bloqueo |
|
||||
| Primeros 10 clientes pagantes | 31-jul | Trial → conversión 25 % | Ads 1.500 € | ≥ 10 cuentas, MRR > 500 € | Pivotar a outreach 1:1 |
|
||||
| Onboarding asistido en Pro+ | 31-jul | Manual de instalación + Calendly | 0 € | < 24 h time-to-first-lead | Servicio premium pagado |
|
||||
| Bucle de captura "precio final firmado" en panel | 15-ago | Dev + UX | 0 € | 30 % de leads ganados con precio capturado | Onboarding manual del dato |
|
||||
| RGPD + T&C + Política Privacidad live | 30-jun | Plantilla legal | 200 € | Compliance audit interna pasa | Plantillas estándar adaptadas |
|
||||
|
||||
---
|
||||
|
||||
## Fase 2 — Producto v1.5 + tracción (sep-nov 2026, mes 3-6)
|
||||
|
||||
**Goal:** alcanzar 50 cuentas pagantes y construir el wizard completo (3 versiones B/M/P, slider, NL, m² automático).
|
||||
|
||||
| Hito | Fecha objetivo | Dependencias | Coste | KPI éxito | Riesgo |
|
||||
|---|---|---|---|---|---|
|
||||
| Wizard v1.5 (3 versiones, slider, NL, m² auto) | 30-sep | 4-6 sem dev | 1.500 € infra extra | Drop-off completar wizard < 50 % | Medio |
|
||||
| 50 cuentas pagantes | 31-oct | Ads 3.000 €/mes | 9.000 € total | MRR > 2.500 € | Bajo si Fase 1 va bien |
|
||||
| 5 testimonios reales (presupuesto cumplido en ±10 %) | 30-nov | Bucle de precio final | 0 € | 5 vídeos cortos publicados | Captura del dato sigue baja |
|
||||
| Doble nomenclatura asistida por IA (v2) | 30-nov | 3 sem dev | 0 € | 30 % de reformistas la activan | Adopción lenta |
|
||||
| Sistema de sello "Precio Justo Certificado" v0 | 30-nov | Bucle precio final + reviews | 0 € | 5 reformistas con sello | Insuficientes datos |
|
||||
|
||||
---
|
||||
|
||||
## Fase 3 — Pre-marketplace (dic 2026 - feb 2027, mes 6-9)
|
||||
|
||||
**Goal:** alcanzar 100-150 cuentas + valorador interno funcional.
|
||||
|
||||
| Hito | Fecha objetivo | Dependencias | KPI éxito |
|
||||
|---|---|---|---|
|
||||
| Decisión pre-seed o seguir bootstrap | 15-dic | MRR + tracción + churn | Decisión + carta de intención si aplica |
|
||||
| 100-150 cuentas pagantes | 28-feb | Ads + content + referidos | MRR > 5.000 € |
|
||||
| Prototipo interno del valorador (versión privada) | 31-ene | Base de datos histórica | Precisión banda ±15 % en > 70 % de tests con datos sintéticos |
|
||||
| Partner aparejador / arquitecto para flujo experto | 28-feb | Contacto + acuerdo | 1 partner firmado |
|
||||
| Versión multi-tenant con onboarding self-service | 31-ene | 4 sem dev | Reformista nuevo activo en < 30 min sin ayuda |
|
||||
|
||||
---
|
||||
|
||||
## Fase 4 — Encendido marketplace B2C (mar-jun 2027, mes 9-12)
|
||||
|
||||
**Goal:** activar la Fase 2 (Valora tu presupuesto + asignación a certificados).
|
||||
|
||||
| Hito | KPI éxito |
|
||||
|---|---|
|
||||
| Landing pública "Valora tu presupuesto justo" live | Tráfico SEO + ads B2C > 5.000 visitas/mes |
|
||||
| Sistema de matching lead ↔ reformista certificado por zona | < 2 h time-to-match medio |
|
||||
| 50+ reformistas con sello "Precio Justo Certificado" | Cobertura geográfica > 70 % capitales España |
|
||||
| Primer mes con ingresos de comisión marketplace | > 5.000 € comisión |
|
||||
| 5.000 valoraciones/mes (steady state mes 12 Fase 2) | NPS valorador > 50 |
|
||||
|
||||
---
|
||||
|
||||
## Fase 5 — Escala y diversificación (jul 2027 - mar 2028, mes 12-18 post-hackathon)
|
||||
|
||||
**Goal:** ARR combinado > 500 K€, equipo profesionalizado, valoración candidata a seed grande.
|
||||
|
||||
| Hito | KPI éxito |
|
||||
|---|---|
|
||||
| Equipo de 6-8 personas (4 founders + 1 growth + 1 dev + 1 customer success + 1 sales) | Cubre todas las áreas |
|
||||
| ARR combinado SaaS + marketplace > 500 K€ | Trayectoria hacia 1 M€ ARR |
|
||||
| Expansión vertical: cocinas completas + reforma integral (no solo baño/cocina aislados) | 30 % de leads son reforma integral |
|
||||
| Partnerships con marcas de materiales (Porcelanosa, Roca, Leroy Merlin) | 1-2 partnerships firmadas con comisión |
|
||||
| Posicionamiento de marca: prensa especializada + 1 podcast popular del sector | Mención en 5 medios sectoriales |
|
||||
|
||||
---
|
||||
|
||||
## Resumen — dependencias críticas
|
||||
|
||||
```
|
||||
Blueprint hoy
|
||||
│
|
||||
├── Landing 28-may ──────► Ads → primeros leads
|
||||
│ │
|
||||
│ └── MVP demo 11-jun ──────► Demo → tracción → primeros clientes
|
||||
│ │
|
||||
│ └── SL constituida → Stripe activo → MRR
|
||||
│ │
|
||||
│ └── Bucle precio final
|
||||
│ │
|
||||
│ └── Sello certificado → Fase 2
|
||||
│ │
|
||||
│ └── Valorador → comisiones
|
||||
```
|
||||
|
||||
Cada flecha es una dependencia. Si rompe cualquier eslabón temprano, los hitos posteriores se deslizan o cambian.
|
||||
413
specs.md
Normal file
@@ -0,0 +1,413 @@
|
||||
# Reformix — Specifications & Requirements
|
||||
|
||||
**Fecha:** 24-may-2026
|
||||
**Fuente:** Blueprint v2 (sync con Google Doc del 22-may) + sesiones de planificación 21-may → 24-may
|
||||
**Estado:** ☐ Pendiente aprobación del equipo
|
||||
**Versión:** 1.0
|
||||
|
||||
---
|
||||
|
||||
## Contexto
|
||||
|
||||
Reformix es un SaaS B2B para reformistas en España que entrega al cliente final del reformista, en menos de 5 minutos desde una landing, un **render IA antes/después** de su cocina o baño + un **presupuesto orientativo desglosado**, mediante un agente de voz IA que llama al cliente desde un número fijo provincial y la entrega final por WhatsApp. Este documento formaliza los Requisitos Funcionales (RF) y No Funcionales (RNF) usando **notación EARS** (Easy Approach to Requirements Syntax), con criterios de aceptación binarios y trazabilidad a plan → código → tests.
|
||||
|
||||
### Notación EARS (recordatorio)
|
||||
|
||||
| Patrón | Forma | Ejemplo |
|
||||
|---|---|---|
|
||||
| Ubicuo | *El sistema deberá [acción]* | El sistema deberá registrar timestamp de consentimiento. |
|
||||
| Evento | *Cuando [trigger], el sistema deberá [acción]* | Cuando el usuario envía el formulario, el sistema deberá persistir el lead en <2 s. |
|
||||
| Estado | *Mientras [estado], el sistema deberá [acción]* | Mientras una llamada esté activa, el sistema deberá grabar el audio. |
|
||||
| Opcional | *Donde [feature esté disponible], el sistema deberá [acción]* | Donde el cliente incluya un DIN-A4 en la foto, el sistema deberá estimar medidas reales. |
|
||||
| No deseado | *Si [condición no deseada], entonces el sistema deberá [acción]* | Si el teléfono está en Lista Robinson, entonces el sistema deberá cancelar la llamada y registrar el motivo. |
|
||||
|
||||
### Convención de IDs
|
||||
|
||||
- `RF-<superficie>-NN` — Requisitos Funcionales por superficie.
|
||||
- **A** = Landing B2B (ventas a reformistas)
|
||||
- **B** = Landing B2C (cliente final del reformista)
|
||||
- **C** = Funnel B2C (los 5 pasos del flujo de presupuesto)
|
||||
- **D** = Panel del reformista
|
||||
- `RNF-<categoría>-NN` — Requisitos No Funcionales transversales.
|
||||
|
||||
### Fases
|
||||
|
||||
| Fase | Fecha | Alcance |
|
||||
|---|---|---|
|
||||
| **F1 — Landings** | 28-may-2026 | Landings B2B + B2C live, tracking activo, ads activos |
|
||||
| **F2 — MVP** | 11-jun-2026 | Funnel B2C completo end-to-end (form → llamada → render → entrega WhatsApp) + Panel del reformista mínimo |
|
||||
| F1.5 | post-hackathon | Configurador multi-tenant, validación pre-envío, NL refinement, 3 versiones B/M/P, m² automático |
|
||||
| F2 (Producto) | mes 9+ | Marketplace B2C + valorador "Precio Justo" + sello certificado |
|
||||
|
||||
---
|
||||
|
||||
## Functional Requirements (RF)
|
||||
|
||||
### Superficie A — Landing B2B (ventas al reformista)
|
||||
|
||||
Objetivo: convertir tráfico de ads / outreach en pruebas gratuitas de 14 días y captar waitlist de features futuras.
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-A-01 | El sistema deberá mostrar un hero con headline *"Tus clientes verán su reforma antes de llamarte"* y CTA primario *"Empieza gratis 14 días"*. | Inspección DOM muestra `<h1>` con el texto y un `<button>`/`<a>` apuntando a `/signup`. | Alta | F1 |
|
||||
| RF-A-02 | El sistema deberá embeber una demo jugable del widget (con datos de "Reformas Ejemplo") accesible desde un CTA *"Pruébalo ahora"*. | Al hacer click se abre un iframe del widget B2C completo y se puede recorrer el flujo entero hasta recibir un render generado. | Alta | F1 |
|
||||
| RF-A-03 | El sistema deberá mostrar 3 tarjetas de pricing con tier Starter (29 €), Pro (79 €, destacado) y Business (199 €), con leads incluidos y overage por tier. | Las 3 tarjetas son visibles a 1280px y 375px, Pro tiene marcador visual de "recomendado", y los precios coinciden con el blueprint. | Alta | F1 |
|
||||
| RF-A-04 | El sistema deberá mostrar un bloque *"Próximamente — Doble nomenclatura"* con formulario de waitlist (solo email). | Submit del email persiste en tabla `waitlist_features` con tag `doble-nomenclatura` y muestra mensaje de confirmación. | Media | F1 |
|
||||
| RF-A-05 | El sistema deberá mostrar un formulario de signup trial (email + nombre + nombre de empresa + provincia + opt-in marketing). | Submit válido crea cuenta en `accounts` con status `trial`, redirige a `/onboarding` y envía email de bienvenida en <30 s. | Alta | F1 |
|
||||
| RF-A-06 | El sistema deberá disparar eventos de analítica (`landing_b2b_view`, `demo_widget_started`, `demo_widget_completed`, `pricing_view`, `signup_completed`, `waitlist_doble_nomenclatura`) a PostHog + Meta Pixel + GA. | Inspección de Network muestra los 6 eventos disparándose en el flujo correspondiente. | Alta | F1 |
|
||||
| RF-A-07 | El sistema deberá mostrar enlaces a Política de Privacidad, Política de Cookies, Aviso Legal y Términos y Condiciones en el footer. | Los 4 enlaces existen, devuelven HTTP 200 y contienen los textos legales mínimos del proyecto. | Alta | F1 |
|
||||
| RF-A-08 | El sistema deberá mostrar una FAQ con al menos 5 preguntas (calidad del render, precios "reales", personalización tabla precios, integración web, fin del trial). | DOM contiene `<details>` o componente FAQ con ≥ 5 entradas. | Media | F1 |
|
||||
| RF-A-09 | El sistema deberá mostrar un banner de consentimiento de cookies al primer acceso, con opciones granulares (técnicas / analíticas / marketing). | Antes de aceptar, no se cargan scripts de Meta Pixel ni GA. Tras aceptar, sí. | Alta | F1 |
|
||||
| RF-A-10 | Donde el visitante interactúe con la demo del widget, el sistema deberá mostrar un CTA contextual *"Quiero esto en mi web"* que pre-rellena el formulario de signup con la provincia detectada. | Tras completar la demo, aparece el CTA con cookie de tracking y al hacer click `/signup?provincia=X` se pre-rellena. | Media | F1 |
|
||||
|
||||
### Superficie B — Landing B2C (cliente final del reformista)
|
||||
|
||||
Objetivo: capturar inmediatamente el lead (teléfono) y sus fotos para disparar la llamada en <2 minutos.
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-B-01 | El sistema deberá mostrar un hero con headline *"Recibe tu presupuesto de reforma en 5 minutos. Te llamamos en menos de 2."* y un CTA primario *"Llámame en 2 minutos"*. | DOM muestra el `<h1>` con el texto y el CTA hace scroll/abre al paso 1 del formulario. | Alta | F1 |
|
||||
| RF-B-02 | El sistema deberá mostrar una imagen antes/después con copy *"Envíanos tu foto y ve cómo quedará tu reforma en 5 minutos"*. | DOM muestra un componente con dos imágenes (original + renderizada) y el texto. | Alta | F1 |
|
||||
| RF-B-03 | El sistema deberá mostrar branding del reformista (logo + nombre + provincia) en el header del widget. | DOM muestra `<img>` del logo cargado y nombre de empresa. En MVP, el branding es "Reformas Ejemplo" hardcoded. | Alta | F1 |
|
||||
| RF-B-04 | El sistema deberá mostrar un formulario de paso 1 con campos: nombre, teléfono (España), email, opt-in LSSI-CE (separado), opt-in RGPD, opt-in grabación. | Los 3 opt-ins son checkboxes independientes, no pre-marcados; el submit está deshabilitado si falta cualquiera. | Alta | F1 |
|
||||
| RF-B-05 | Cuando el formulario del paso 1 se envíe con datos válidos, el sistema deberá persistir el lead en estado `pending_photos` y avanzar al paso 2 en <2 s. | Inspección de DB: nuevo registro `leads` con status correcto. UI cambia a paso 2 antes de 2 s. | Alta | F1 |
|
||||
| RF-B-06 | El sistema deberá mostrar un componente de subida de fotos (paso 2) que acepte entre 2 y 4 imágenes JPG/PNG/HEIC. | UI rechaza con error inline si <2 o >4 fotos, o si el tipo MIME no es válido. | Alta | F1 |
|
||||
| RF-B-07 | Donde el cliente incluya un DIN-A4 visible en una foto, el sistema deberá detectarlo automáticamente e indicarlo como input al pipeline de medidas. | Test con foto que contiene DIN-A4: detección flag `has_din_a4 = true` en metadata del lead. Sin DIN-A4: `false`. | Media | F2 |
|
||||
| RF-B-08 | Cuando se complete el paso 2 (fotos subidas), el sistema deberá mostrar una pantalla de confirmación con cuenta atrás *"Te llamamos en <X> minutos desde <número provincial>"*. | UI muestra el número provincial real (no placeholder) y un timer visible. | Alta | F1 |
|
||||
| RF-B-09 | El sistema deberá mostrar un disclaimer claro *"El presupuesto que recibirás es orientativo. El presupuesto definitivo lo confirma tu reformista en visita gratuita"* en el paso 2 antes del envío. | Texto literal presente en DOM, visible sin scroll en el viewport del paso 2. | Alta | F1 |
|
||||
| RF-B-10 | Si el navegador del cliente bloquea cookies de tracking, entonces el sistema deberá seguir funcionando para captura de lead y envío de llamada (degradación). | Test con cookies bloqueadas: form + subida de fotos + disparo de llamada funcionan, solo se pierde la analítica. | Alta | F1 |
|
||||
|
||||
### Superficie C — Funnel B2C (los 5 pasos del flujo de presupuesto)
|
||||
|
||||
Objetivo: ejecutar el flujo punta a punta desde que el cliente sube fotos hasta que recibe el render + presupuesto por WhatsApp.
|
||||
|
||||
#### C.1 — Captura del lead
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-01 | El sistema deberá validar el formato del teléfono español (E.164 o nacional) antes de aceptar el lead. | Submit con `+34666...` o `666...` válido pasa; con `123` o vacío muestra error inline. | Alta | F1 |
|
||||
| RF-C-02 | El sistema deberá almacenar timestamp, IP y user-agent del consentimiento LSSI-CE y RGPD al crear el lead. | Inspección DB: registro `consents` con los 3 campos rellenos por lead. | Alta | F1 |
|
||||
| RF-C-03 | Si el teléfono del lead aparece en la Lista Robinson, entonces el sistema deberá cancelar la llamada saliente, registrar `robinson_blocked = true` y enviar email al cliente con un formulario asíncrono para que solicite la llamada explícitamente. | Test con número simulado en Robinson: no se dispara llamada, registro DB tiene flag, email enviado. | Alta | F2 |
|
||||
|
||||
#### C.2 — Subida y procesamiento de fotos
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-04 | El sistema deberá subir las fotos a S3 con cifrado at-rest y guardar las URLs en el registro del lead. | Inspección S3: objetos con `ServerSideEncryption=AES256` y bucket privado. DB: array `photo_urls` con N entradas. | Alta | F2 |
|
||||
| RF-C-05 | El sistema deberá ejecutar GPT-4o Vision sobre las fotos para extraer: tipo de espacio, materiales actuales detectados, condición de iluminación, dimensiones aproximadas. | Llamada API devuelve JSON con esos 4 campos en <8 s p95. | Alta | F2 |
|
||||
| RF-C-06 | El sistema deberá rechazar fotos > 10 MB y reescalar a un máximo de 2048 px en el lado mayor antes del procesamiento. | Test con foto 15 MB: rechazada con mensaje claro. Test con 4000 px: reescalada antes de enviar a Vision. | Alta | F2 |
|
||||
|
||||
#### C.3 — Pre-llamada (SMS + WhatsApp)
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-07 | Cuando el lead complete el paso 2, el sistema deberá enviar un SMS al cliente con el texto *"En 2 minutos te llama [Reformista] desde [número provincial] para tu presupuesto"* vía Zadarma. | Test E2E: SMS recibido en <30 s con el texto correcto y el número real. | Alta | F2 |
|
||||
| RF-C-08 | Cuando el lead complete el paso 2, el sistema deberá enviar un mensaje WhatsApp equivalente al SMS, vía Evolution API o WhatsApp Business API. | Test E2E: WhatsApp recibido en <30 s con el texto y desde un número Business. | Alta | F2 |
|
||||
| RF-C-09 | Si la hora local del cliente está fuera del horario permitido (lun-vie 9-21, sáb 9-14), entonces el sistema deberá programar la llamada para el siguiente slot válido y avisar por SMS/WhatsApp con la hora estimada. | Test E2E: form completado a las 23:00 → llamada programada al día siguiente 9:00 y avisos enviados. | Alta | F2 |
|
||||
|
||||
#### C.4 — Llamada del agente de voz
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-10 | Cuando se complete el paso 2 dentro del horario permitido, el sistema deberá disparar una llamada saliente del agente Retell desde un número fijo provincial Zadarma en ≤ 2 minutos. | Test E2E: tiempo entre submit y ringing del móvil < 120 s p95. | Alta | F2 |
|
||||
| RF-C-11 | Mientras la llamada esté activa, el sistema deberá grabar el audio en S3 con cifrado at-rest y retención máxima 12 meses. | Inspección S3: archivo de audio por llamada, cifrado, con metadata de retención. | Alta | F2 |
|
||||
| RF-C-12 | El sistema deberá iniciar la llamada con el aviso *"Hola, soy el asistente virtual de [Reformista]. Esta llamada va a ser grabada y transcrita para generar tu presupuesto. ¿Te parece bien que sigamos?"*. | Transcripción del primer turno del agente contiene literalmente esos componentes. | Alta | F2 |
|
||||
| RF-C-13 | Si el cliente responde "no" al aviso de grabación, entonces el sistema deberá colgar educadamente, borrar la grabación parcial y marcar el lead como `consent_revoked`. | Test E2E: respuesta "no" → llamada termina en <15 s, audio borrado, flag en DB. | Alta | F2 |
|
||||
| RF-C-14 | El sistema deberá generar el script del agente desde la configuración del reformista (tipos de reforma, opciones disponibles, tabla de precios, branding). | Cambiar configuración del reformista de "baño" a "cocina" cambia el primer prompt del agente sin redeploy. | Alta | F2 |
|
||||
| RF-C-15 | El agente deberá recopilar obligatoriamente: tipo de reforma, m² aproximados, calidad (B/M/P), presupuesto target, urgencia, cambios estructurales (sanitarios / muros / distribución), preferencias estéticas. | JSON de salida tras la llamada contiene los 7 campos no nulos en > 80 % de llamadas completadas. | Alta | F2 |
|
||||
| RF-C-16 | Si la duración de la llamada supera los 8 minutos, entonces el sistema deberá cerrar la conversación educadamente y proceder al pipeline con la info parcial. | Test E2E con timeout simulado: llamada cierra en ≤ 8:30 y pipeline arranca. | Alta | F2 |
|
||||
| RF-C-17 | Si el cliente no descuelga, entonces el sistema deberá reintentar la llamada a los 30 minutos y a las 4 horas (máximo 3 intentos en total). | Test E2E con simulación de no-answer: registros de 3 intentos con timestamps correctos. | Alta | F2 |
|
||||
| RF-C-18 | Cuando la llamada termine, el sistema deberá transcribir el audio y extraer las entidades estructuradas en JSON usando GPT-4o en <10 s p95. | Test con audio de 4 min: JSON estructurado disponible en DB en <10 s tras colgar. | Alta | F2 |
|
||||
|
||||
#### C.5 — Pipeline post-llamada y entrega
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-19 | Cuando se cierre la llamada y exista transcripción + fotos, el sistema deberá generar un render IA antes/después con Nano Banana 2 / Image 2. | Test E2E: archivo de imagen generado en S3, URL accesible en DB, en <30 s tras transcripción. | Alta | F2 |
|
||||
| RF-C-20 | Si la generación de render falla (timeout o error), entonces el sistema deberá reintentar con un proveedor alternativo (Replicate SDXL + ControlNet) y, si también falla, entregar un placeholder con disclaimer. | Test con Nano Banana caído: fallback ejecutado, render generado o placeholder visible. | Alta | F2 |
|
||||
| RF-C-21 | El sistema deberá calcular el presupuesto desglosado por partidas (demolición, alicatado, fontanería, electricidad, carpintería, mano de obra, extras, licencia si aplica) aplicando la tabla de precios del reformista y el factor multiplicador por zona. | Test con inputs conocidos: el desglose coincide con el cálculo manual ±1 €. | Alta | F2 |
|
||||
| RF-C-22 | Donde el agente haya detectado cambios estructurales (movimiento de sanitarios principales, derribo de muros, cambio de distribución), el sistema deberá sumar al presupuesto un rango estimado de licencia urbanística + proyecto técnico (300-1.500 €) e incluir mensaje informativo. | Test E2E con flag `structural_change=true`: presupuesto incluye partida `Licencia + Proyecto técnico` con rango. | Alta | F2 |
|
||||
| RF-C-23 | El sistema deberá generar un PDF del presupuesto con branding del reformista (logo, nombre, contacto, disclaimer orientativo) usando react-pdf o Puppeteer. | Test: PDF generado, abre sin errores, contiene los elementos visuales esperados. | Alta | F2 |
|
||||
| RF-C-24 | Cuando el render + PDF estén listos, el sistema deberá entregar al cliente por WhatsApp el render + PDF + CTA *"Quiero visita gratuita"* en <60 s tras finalizar la llamada. | Test E2E: tiempo entre colgar y recibir WhatsApp con los 3 elementos < 60 s p95. | Alta | F2 |
|
||||
| RF-C-25 | Cuando el lead esté procesado, el sistema deberá enviar un email vía SMTP al reformista con todos los artefactos (datos del cliente + transcripción + entidades + URL render + PDF) y crear el registro en su panel. | Test E2E: email recibido en <2 min y nuevo lead visible en panel del reformista. | Alta | F2 |
|
||||
| RF-C-26 | El sistema deberá tracear en PostHog los eventos del funnel (`b2c_landing_view`, `form_step1_completed`, `form_step2_completed`, `precall_sms_sent`, `precall_whatsapp_sent`, `call_started`, `call_completed`, `call_no_answer`, `render_generated`, `budget_generated`, `whatsapp_delivered`, `client_requested_visit`). | Inspección PostHog: los 12 eventos disparan en el flujo correspondiente con sus propiedades. | Alta | F2 |
|
||||
|
||||
#### C.6 — Upsell (path alternativo)
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-C-27 | Donde el cliente solicite *"callback inmediato"* desde la landing, el sistema deberá omitir la subida de fotos, disparar la llamada del agente y permitirle peticiones libres que se canalizan directamente al sistema de presupuestos. | Test E2E con callback inmediato: llamada disparada sin fotos, presupuesto generado solo a partir de la conversación. | Media | F2 |
|
||||
|
||||
### Superficie D — Panel del reformista
|
||||
|
||||
Objetivo: dar al reformista visibilidad de leads, capacidad de marcarlos y de cerrar el bucle de precisión introduciendo el precio final firmado.
|
||||
|
||||
| ID | Requisito (EARS) | Criterio de aceptación (binario) | Prioridad | Fase |
|
||||
|---|---|---|---|---|
|
||||
| RF-D-01 | El sistema deberá mostrar al reformista una lista de sus leads con columnas: fecha/hora, nombre cliente, teléfono, estado actual, presupuesto estimado, miniatura del render. | UI muestra tabla/cards con esas 6 columnas, ordenadas por fecha descendente por defecto. | Alta | F2 |
|
||||
| RF-D-02 | Cuando el reformista abra un lead, el sistema deberá mostrar todos los artefactos: datos personales, transcripción de la llamada, JSON de entidades extraídas, render generado, PDF descargable, audio reproducible. | UI de detalle muestra todos los 6 artefactos y todos son interactivos (descargar/reproducir). | Alta | F2 |
|
||||
| RF-D-03 | El sistema deberá permitir al reformista marcar el estado del lead entre: `Nuevo`, `Contactado`, `Visita agendada`, `Presupuesto enviado`, `Ganado`, `Perdido`. | Cambio de estado se persiste en DB y se refleja en la lista sin recargar página. | Alta | F2 |
|
||||
| RF-D-04 | Cuando el reformista marque un lead como `Ganado`, el sistema deberá pedirle el **precio final firmado** y calcular la delta vs estimado, almacenándolo en la tabla `precision_history`. | Test E2E: marcar `Ganado` abre modal de precio final; al guardar, registro creado con `estimated`, `final`, `delta_pct`. | Alta | F2 |
|
||||
| RF-D-05 | El sistema deberá proteger el panel mediante token único firmado (JWT) enviado por email tras la creación del lead o cuenta, con expiración 7 días renovable. | Test: acceso sin token devuelve 401; con token válido devuelve panel; con token expirado pide renovación por email. | Alta | F2 |
|
||||
| RF-D-06 | El sistema deberá notificar al reformista por email (SMTP) cada vez que se cree un nuevo lead, en <2 min desde la finalización de la llamada. | Test E2E: tiempo entre `whatsapp_delivered` y recepción de email < 2 min p95. | Alta | F2 |
|
||||
| RF-D-07 | El sistema deberá ofrecer al reformista un configurador de perfil con: nombre de empresa, logo, provincia/zona, tipos de reforma ofrecidos, opciones disponibles por tipo, tabla de precios editable, número WhatsApp Business propio (opcional). | UI con formulario completo; submit persiste en DB y regenera el script del agente. | Alta | F2 |
|
||||
| RF-D-08 | Cuando el reformista modifique la configuración, el sistema deberá regenerar el script del agente en <5 s y ofrecer una demo de prueba de la llamada con su nuevo script. | Test E2E: cambio de tipo de reforma de "baño" a "cocina" → primer prompt del agente cambia en <5 s; botón "Probar llamada" hace ringing al móvil del reformista. | Media | F2 |
|
||||
|
||||
---
|
||||
|
||||
## Non-Functional Requirements (RNF)
|
||||
|
||||
### Performance
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-PERF-01 | El sistema deberá servir las landings con First Contentful Paint < 2 s. | FCP p95 < 2 s en red 3G throttled (Lighthouse mobile). |
|
||||
| RNF-PERF-02 | El sistema deberá obtener score Lighthouse Performance ≥ 85 en las dos landings. | Lighthouse Performance score ≥ 85 (mobile y desktop). |
|
||||
| RNF-PERF-03 | Cuando el cliente complete el formulario y subida de fotos, el sistema deberá disparar la llamada en ≤ 2 minutos. | Tiempo `form_step2_completed` → `call_started` < 120 s p95. |
|
||||
| RNF-PERF-04 | Mientras se ejecute el pipeline post-llamada, el sistema deberá entregar render + presupuesto + PDF al WhatsApp del cliente en < 60 s tras colgar. | Tiempo `call_completed` → `whatsapp_delivered` < 60 s p95. |
|
||||
| RNF-PERF-05 | El sistema deberá completar el flujo end-to-end del cliente (landing → recibir WhatsApp con render) en < 7 minutos. | Tiempo `b2c_landing_view` → `whatsapp_delivered` < 7 min p95. |
|
||||
|
||||
### Security
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-SEC-01 | El sistema deberá forzar HTTPS en todas las rutas (HSTS activado). | Inspección de headers: `Strict-Transport-Security: max-age=31536000`. |
|
||||
| RNF-SEC-02 | El sistema deberá rate-limitar el formulario público de la landing B2C a 5 envíos/minuto por IP. | Test: 6 envíos en 60 s desde misma IP → 6º devuelve HTTP 429. |
|
||||
| RNF-SEC-03 | El sistema deberá almacenar todas las grabaciones de audio y fotos del cliente en S3 con cifrado at-rest AES-256. | Inspección S3: `ServerSideEncryption=AES256` en todos los objetos. |
|
||||
| RNF-SEC-04 | El sistema deberá almacenar secretos (API keys de Retell, ElevenLabs, OpenAI, etc.) en un secret manager, nunca en código ni env vars compartidas. | Audit del repo: 0 secretos hardcoded; variables vienen de Vercel env vars / vault. |
|
||||
| RNF-SEC-05 | Si se detecta intento de SQL injection o XSS en el formulario, entonces el sistema deberá rechazar el input y registrar el intento. | Test con payload conocido: rechazado con HTTP 400 y log de seguridad. |
|
||||
| RNF-SEC-06 | El sistema deberá proteger el panel del reformista con JWT con expiración 7 días renovable y rotación de secret cada 90 días. | Token expira a los 7 días reales; rotación de secret invalida tokens antiguos. |
|
||||
|
||||
### Usability
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-UX-01 | El sistema deberá ser usable a viewport 375 px (mobile) sin scroll horizontal. | Inspección visual en Chrome DevTools 375 px: ningún elemento sale del viewport. |
|
||||
| RNF-UX-02 | El sistema deberá cumplir WCAG 2.1 nivel AA en las landings. | Audit con axe-core o Lighthouse Accessibility ≥ 95. |
|
||||
| RNF-UX-03 | Cuando el cliente envíe el formulario con campos inválidos, el sistema deberá mostrar errores inline por campo en < 200 ms. | Test E2E: submit con email inválido → error visible bajo el campo en < 200 ms. |
|
||||
| RNF-UX-04 | El sistema deberá usar voces ElevenLabs premium en español con entonación natural y manejo de interrupciones. | Auditoría subjetiva del equipo: ≥ 4/5 en escala "suena humano" sobre 10 llamadas test. |
|
||||
| RNF-UX-05 | El sistema deberá soportar copia funcional de los datos del lead a portapapeles desde el panel del reformista (botón "Copiar teléfono", "Copiar email"). | UI tiene los botones; click copia el valor al portapapeles. |
|
||||
|
||||
### Reliability
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-REL-01 | El sistema deberá mantener uptime ≥ 99,5 % de las landings y del endpoint de captura de leads. | Status page tipo BetterStack reporta ≥ 99,5 % mensual. |
|
||||
| RNF-REL-02 | Si Nano Banana 2 / Image 2 falla, entonces el sistema deberá conmutar automáticamente a Replicate (SDXL + ControlNet) sin intervención. | Test simulando fallo: pipeline completa con fallback en < 90 s. |
|
||||
| RNF-REL-03 | Si Retell.ai cae, entonces el sistema deberá enviar al cliente un SMS/WhatsApp ofreciendo el formulario asíncrono y registrar el lead en estado `pending_retry`. | Test simulando fallo: cliente recibe mensaje y lead queda en cola. |
|
||||
| RNF-REL-04 | El sistema deberá ejecutar backups automáticos diarios de Postgres con retención 30 días. | Cron de backup configurado; restauración test ejecutada al menos 1 vez antes del lanzamiento. |
|
||||
| RNF-REL-05 | El sistema deberá usar una cola con reintentos exponenciales (1 s, 5 s, 30 s, 5 min) para todas las tareas asíncronas del pipeline. | Inspección de código: cola implementada con esta política. |
|
||||
|
||||
### Maintainability
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-MAINT-01 | El sistema deberá tener cobertura de tests ≥ 70 % en el motor de cálculo de presupuestos. | `vitest --coverage` sobre `src/budget/*` reporta ≥ 70 %. |
|
||||
| RNF-MAINT-02 | El sistema deberá traceaer eventos en PostHog que cubran el 100 % del funnel definido en RF-C-26. | Inspección del dashboard PostHog: los 12 eventos están instrumentados y disparan en producción. |
|
||||
| RNF-MAINT-03 | El sistema deberá documentar el formato del script del agente generado a partir de la configuración del reformista. | Archivo `docs/agent-script-format.md` describe el formato con ejemplo. |
|
||||
|
||||
### Budget
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-BUD-01 | El coste medio por lead procesado (llamada + render + presupuesto + entrega) deberá ser < 1,50 €. | Medición real sobre 100 leads test: media < 1,50 €. |
|
||||
| RNF-BUD-02 | El coste fijo de infraestructura mensual en fase 0 deberá ser < 200 €/mes (excluyendo ads). | Suma facturas Vercel + Postgres + S3 + ElevenLabs base + GPT-4o base + Zadarma fijo < 200 €/mes. |
|
||||
| RNF-BUD-03 | El margen bruto por tier deberá ser ≥ 70 % asumiendo uso completo de leads incluidos. | Cálculo: (Precio − COGS por leads incluidos) / Precio ≥ 0,70 para los 3 tiers. |
|
||||
|
||||
### Legal / Compliance
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-LEG-01 | El sistema deberá obtener consentimiento LSSI-CE explícito y separado para la llamada comercial. | Auditoría legal del formulario: opt-in en checkbox independiente, no pre-marcado. |
|
||||
| RNF-LEG-02 | Cuando se inicie una llamada, el sistema deberá avisar de la grabación al inicio. | Transcripción del primer turno del agente contiene el aviso. |
|
||||
| RNF-LEG-03 | El sistema deberá consultar la Lista Robinson antes de cada llamada saliente y registrar el resultado de la consulta. | Tabla `robinson_checks` con un registro por llamada intentada. |
|
||||
| RNF-LEG-04 | El sistema deberá conservar las grabaciones máximo 12 meses y borrarlas automáticamente al cumplir el plazo. | Cron de borrado configurado y verificado con audit. |
|
||||
| RNF-LEG-05 | Cuando el cliente hable con el agente, el sistema deberá identificarse como asistente virtual / IA (no humano), cumpliendo AI Act EU. | Auditoría del script: primera frase identifica al agente como "asistente virtual". |
|
||||
| RNF-LEG-06 | El sistema deberá respetar el horario de llamadas permitido en España: lunes-viernes 9-21h, sábados 9-14h, domingos no. | Test E2E: form completado fuera de horario → llamada programada para siguiente slot válido. |
|
||||
| RNF-LEG-07 | El sistema deberá publicar Política de Privacidad, Política de Cookies, Aviso Legal y T&C accesibles desde el footer de ambas landings. | URLs públicas devuelven HTTP 200 con contenido legal completo. |
|
||||
| RNF-LEG-08 | El sistema deberá ofrecer al cliente y al reformista mecanismos de ejercer derechos RGPD (acceso, rectificación, supresión, portabilidad) en < 30 días. | Endpoint o email accesible que tramita la solicitud; SLA documentado. |
|
||||
| RNF-LEG-09 | El sistema deberá firmar contrato de Encargado de Tratamiento con cada reformista antes de procesar leads para él. | Onboarding del reformista incluye paso de aceptación del contrato; registro en DB. |
|
||||
|
||||
### Scalability
|
||||
|
||||
| ID | Requisito (EARS) | Métrica |
|
||||
|---|---|---|
|
||||
| RNF-SCAL-01 | El sistema deberá soportar al menos 50 llamadas simultáneas durante el demo y la fase de validación. | Test de carga: 50 llamadas en paralelo sin degradación de latencia > 20 %. |
|
||||
| RNF-SCAL-02 | El sistema deberá soportar al menos 500 envíos de formulario por hora. | Test de carga: 500 submits/h sin errores HTTP 5xx. |
|
||||
|
||||
---
|
||||
|
||||
## Constraints
|
||||
|
||||
- **Stack obligado** (decidido):
|
||||
- Frontend + Backend: Next.js 14 (App Router + Server Actions + API Routes)
|
||||
- UI: Tailwind + shadcn/ui
|
||||
- Agente voz: Retell.ai + ElevenLabs (voces premium ES)
|
||||
- Telefonía: Zadarma (números fijos provinciales España)
|
||||
- WhatsApp: Evolution API (primario) o WhatsApp Business API (respaldo)
|
||||
- Render IA: Nano Banana 2 / Image 2 (primario) + Replicate SDXL + ControlNet (fallback)
|
||||
- IA Texto + Vision: GPT-4o (OpenAI)
|
||||
- DB: Postgres
|
||||
- Storage: S3 (AWS / Cloudflare R2 / MinIO)
|
||||
- Email: SMTP genérico
|
||||
- Deploy: Vercel
|
||||
- Analytics: PostHog (+ Meta Pixel + GA en landings)
|
||||
- **Equipo:** 4 personas (Carlos producto + voz + WhatsApp, Simon backend + IA + WhatsApp, Goyo motor presupuesto + dominio, Antonio UI/UX + creativos).
|
||||
- **Tiempo:** 3 semanas (24-may → 11-jun) hasta demo MVP.
|
||||
- **Geografía:** España. Idioma: castellano. Provincias prioritarias: Madrid + Barcelona + capitales > 100K hab.
|
||||
- **Budget bootstrap inicial:** 2.500-5.000 € entre los 4 fundadores.
|
||||
- **Demo del 11-jun:** "Reformas Ejemplo" hardcoded como reformista único. Multi-tenant real va a F1.5.
|
||||
|
||||
---
|
||||
|
||||
## Out of Scope (F1 + F2)
|
||||
|
||||
- **Configurador multi-tenant real** del reformista (hardcoded en MVP).
|
||||
- **Validación opcional del reformista** antes de que el cliente reciba el presupuesto.
|
||||
- **Nurturing y seguimiento del lead** por WhatsApp hasta concertar cita.
|
||||
- **3 versiones simultáneas Básico/Medio/Premium** con selección granular por elemento.
|
||||
- **Slider de presupuesto target** con auto-ajuste.
|
||||
- **Refinamiento por lenguaje natural** ("quiero ducha en vez de bañera").
|
||||
- **Cálculo automático preciso de m²** desde foto (en MVP usamos lo que indique el cliente + lo que infiera el agente).
|
||||
- **Doble nomenclatura** asistida por IA (feature killer B2B, post-hackathon v2).
|
||||
- **"Valora tu presupuesto justo"** (Fase 2 marketplace B2C, mes 9+).
|
||||
- **Sello "Precio Justo Certificado"** (puente Fase 1 ↔ Fase 2).
|
||||
- **App móvil nativa** (todo web responsive).
|
||||
- **PDF con membrete custom** (MVP entrega PDF genérico con branding básico).
|
||||
- **Integraciones CRM** (Holded, Stel, etc.).
|
||||
- **Renders 3D fotorrealistas** de alta fidelidad.
|
||||
- **Pasarela de pago activa** (en MVP solo waitlist + signup trial, sin cobro real).
|
||||
- **Verifactu integration** (legal F1.5).
|
||||
- **Asignación automática de leads en marketplace** (Fase 2).
|
||||
|
||||
---
|
||||
|
||||
## Traceability Matrix
|
||||
|
||||
> Plan, Code y Test se rellenan a medida que el proyecto avanza. Celdas vacías son señales: requirement sin Plan = olvidado en planificación; sin Test = no verificado.
|
||||
|
||||
### Landing B2B
|
||||
|
||||
| Requirement | Plan | Code | Test |
|
||||
|---|---|---|---|
|
||||
| RF-A-01 | — | — | — |
|
||||
| RF-A-02 | — | — | — |
|
||||
| RF-A-03 | — | — | — |
|
||||
| RF-A-04 | — | — | — |
|
||||
| RF-A-05 | — | — | — |
|
||||
| RF-A-06 | — | — | — |
|
||||
| RF-A-07 | — | — | — |
|
||||
| RF-A-08 | — | — | — |
|
||||
| RF-A-09 | — | — | — |
|
||||
| RF-A-10 | — | — | — |
|
||||
|
||||
### Landing B2C
|
||||
|
||||
| Requirement | Plan | Code | Test |
|
||||
|---|---|---|---|
|
||||
| RF-B-01 | — | — | — |
|
||||
| RF-B-02 | — | — | — |
|
||||
| RF-B-03 | — | — | — |
|
||||
| RF-B-04 | — | — | — |
|
||||
| RF-B-05 | — | — | — |
|
||||
| RF-B-06 | — | — | — |
|
||||
| RF-B-07 | — | — | — |
|
||||
| RF-B-08 | — | — | — |
|
||||
| RF-B-09 | — | — | — |
|
||||
| RF-B-10 | — | — | — |
|
||||
|
||||
### Funnel B2C
|
||||
|
||||
| Requirement | Plan | Code | Test |
|
||||
|---|---|---|---|
|
||||
| RF-C-01 | — | — | — |
|
||||
| RF-C-02 | — | — | — |
|
||||
| RF-C-03 | — | — | — |
|
||||
| RF-C-04 | — | — | — |
|
||||
| RF-C-05 | — | — | — |
|
||||
| RF-C-06 | — | — | — |
|
||||
| RF-C-07 | — | — | — |
|
||||
| RF-C-08 | — | — | — |
|
||||
| RF-C-09 | — | — | — |
|
||||
| RF-C-10 | — | — | — |
|
||||
| RF-C-11 | — | — | — |
|
||||
| RF-C-12 | — | — | — |
|
||||
| RF-C-13 | — | — | — |
|
||||
| RF-C-14 | — | — | — |
|
||||
| RF-C-15 | — | — | — |
|
||||
| RF-C-16 | — | — | — |
|
||||
| RF-C-17 | — | — | — |
|
||||
| RF-C-18 | — | — | — |
|
||||
| RF-C-19 | — | — | — |
|
||||
| RF-C-20 | — | — | — |
|
||||
| RF-C-21 | — | — | — |
|
||||
| RF-C-22 | — | — | — |
|
||||
| RF-C-23 | — | — | — |
|
||||
| RF-C-24 | — | — | — |
|
||||
| RF-C-25 | — | — | — |
|
||||
| RF-C-26 | — | — | — |
|
||||
| RF-C-27 | — | — | — |
|
||||
|
||||
### Panel reformista
|
||||
|
||||
| Requirement | Plan | Code | Test |
|
||||
|---|---|---|---|
|
||||
| RF-D-01 | — | — | — |
|
||||
| RF-D-02 | — | — | — |
|
||||
| RF-D-03 | — | — | — |
|
||||
| RF-D-04 | — | — | — |
|
||||
| RF-D-05 | — | — | — |
|
||||
| RF-D-06 | — | — | — |
|
||||
| RF-D-07 | — | — | — |
|
||||
| RF-D-08 | — | — | — |
|
||||
|
||||
### Non-Functional
|
||||
|
||||
| Requirement | Plan | Code | Test |
|
||||
|---|---|---|---|
|
||||
| RNF-PERF-01 | — | — | Lighthouse CI |
|
||||
| RNF-PERF-02 | — | — | Lighthouse CI |
|
||||
| RNF-PERF-03 | — | — | — |
|
||||
| RNF-PERF-04 | — | — | — |
|
||||
| RNF-PERF-05 | — | — | — |
|
||||
| RNF-SEC-01 | — | (config) | — |
|
||||
| RNF-SEC-02 | — | — | — |
|
||||
| RNF-SEC-03 | — | (config) | — |
|
||||
| RNF-SEC-04 | — | (config) | audit |
|
||||
| RNF-SEC-05 | — | — | — |
|
||||
| RNF-SEC-06 | — | — | — |
|
||||
| RNF-UX-01 | — | — | — |
|
||||
| RNF-UX-02 | — | — | axe-core |
|
||||
| RNF-UX-03 | — | — | — |
|
||||
| RNF-UX-04 | — | — | review subjetiva |
|
||||
| RNF-UX-05 | — | — | — |
|
||||
| RNF-REL-01 | — | (config) | BetterStack |
|
||||
| RNF-REL-02 | — | — | — |
|
||||
| RNF-REL-03 | — | — | — |
|
||||
| RNF-REL-04 | — | (config) | restore test |
|
||||
| RNF-REL-05 | — | — | — |
|
||||
| RNF-MAINT-01 | — | — | vitest coverage |
|
||||
| RNF-MAINT-02 | — | — | — |
|
||||
| RNF-MAINT-03 | — | — | — |
|
||||
| RNF-BUD-01 | — | — | medición real |
|
||||
| RNF-BUD-02 | — | — | audit facturas |
|
||||
| RNF-BUD-03 | — | — | cálculo manual |
|
||||
| RNF-LEG-01 | — | — | audit legal |
|
||||
| RNF-LEG-02 | — | — | — |
|
||||
| RNF-LEG-03 | — | — | — |
|
||||
| RNF-LEG-04 | — | (config) | — |
|
||||
| RNF-LEG-05 | — | — | — |
|
||||
| RNF-LEG-06 | — | — | — |
|
||||
| RNF-LEG-07 | — | — | — |
|
||||
| RNF-LEG-08 | — | — | — |
|
||||
| RNF-LEG-09 | — | — | — |
|
||||
| RNF-SCAL-01 | — | — | load test |
|
||||
| RNF-SCAL-02 | — | — | load test |
|
||||
|
||||
---
|
||||
|
||||
## Change Log
|
||||
|
||||
| Versión | Fecha | Cambio |
|
||||
|---|---|---|
|
||||
| 1.0 | 2026-05-24 | Versión inicial. 55 RF + 30 RNF distribuidos en 4 superficies (Landing B2B, Landing B2C, Funnel B2C, Panel reformista). Notación EARS aplicada. Fases F1 (Landings 28-may) + F2 (MVP 11-jun). |
|
||||