Bodados — Plataforma SaaS para organizar bodas
Early access disponible en bodados.com. En producción con clientes reales. Pipeline de contenido IA generando artículos y publicaciones autónomamente.
Visitar BODADOSReto
El mercado nupcial en España mueve ~4.000M€/año. Las parejas organizan sus bodas con un grupo de WhatsApp, tres excels y notas en el móvil. Los portales existentes son directorios de proveedores con formularios de contacto. Ninguno resuelve el problema operativo real.
Solución
Plataforma de coordinación con invitaciones digitales personalizables, RSVP integrado, gestión de invitados con seating plan visual, presupuesto inteligente con simulador de escenarios, Party Cam colaborativa y sistema de contenido autónomo con IA.
Arquitectura
Next.js 15 (App Router), Neon PostgreSQL (40+ tablas), Supabase (auth + storage), Netlify, Together AI (Llama 3.3-70B + FLUX.1-schnell), Stripe, 6 GitHub Actions workflows.
Tecnologías
- Next.js 15
- TypeScript
- Tailwind CSS
- Neon PostgreSQL
- Supabase
- Together AI
- Stripe
- GitHub Actions
- Storybook
El problema
Las parejas no quieren “gestionar su boda”. Quieren no pensar en la logística. Pero la realidad es que necesitan coordinar entre 80 y 150 personas con dietas distintas, confirmaciones pendientes, mesas que no cuadran y un presupuesto que siempre se desborda.
La hipótesis era simple: si le das a la pareja una sola herramienta bien diseñada que centralice invitaciones digitales, RSVP, lista de invitados y presupuesto, dejan de perder horas y empiezan a disfrutar la organización.
El producto
Invitaciones digitales
El core del producto. Nueve plantillas de diseño con identidad editorial propia. No son variantes del mismo layout: BohoSunset para bodas al aire libre, EmeraldCrest para fincas, NewYorkLuxury para parejas cosmopolitas, RetroCocktail para las festivas, RivieraDorada para costa, VogueLuxury para el lujo en blanco y negro.
Cada plantilla acepta personalización completa: nombres, fecha, venue, dress code, timeline de eventos, mapa integrado, foto hero con ajuste de punto focal. El timeline usa lenguaje editorial: “El Festín” en vez de “Cena”, “La Ceremonia” en vez de “Ceremonia”. El tono importa.
“El Festín” en lugar de “Cena” no es un detalle. Es la diferencia entre una invitación que parece un formulario y una que parece un momento especial.
Las invitaciones se publican en URLs propias del tipo bodados.com/la-boda-de-ana-y-jorge, con subdominio personalizable desde el dashboard. Cada plantilla es un componente React con sus propias CSS Modules, design tokens y variantes. No hay un “theme engine” genérico: cada una tiene criterio de diseño propio.
RSVP integrado
Los invitados confirman asistencia, acompañantes, restricciones alimentarias y preguntas personalizadas directamente en la invitación. Sin fricción, sin crear cuenta. El dashboard muestra en tiempo real confirmados, pendientes, rechazados, breakdown por dieta y analítica de apertura. Recordatorios automáticos a quienes no han confirmado.
Gestión de invitados y seating plan
Lista completa con filtros por mesa, confirmación, dieta, grupo familiar. Gestión de acompañantes (+1) flexible. Seating plan visual con drag and drop, detección de conflictos (parejas ex, familias que no se hablan) y exportación en PDF para el catering.
Presupuesto inteligente
Cuatro módulos: Cashflow (gastos reales vs presupuesto por categoría), Predictivo (proyección de gasto final basada en confirmaciones), What-if (simulador de escenarios: qué pasa si añado 20 invitados, si cambio de caterer) y Auditoría (log de todos los cambios con timestamp).
Party Cam
Cámara colaborativa para el día de la boda. Los invitados escanean un QR y suben fotos en tiempo real. La pareja las modera desde el dashboard. Al final del evento se genera un álbum descargable. Alternativa directa a los fotógrafos de photocall.
After-boda
Gestión de reviews de proveedores, resumen de asistencia final, exportación de datos para el libro de recuerdos. Integración con el blog para publicar la historia de la boda como contenido SEO.
Arquitectura técnica
Decisiones clave
Next.js 15 App Router fue deliberado. Server Components para las invitaciones públicas (mejor SEO, carga en ~1.2s en 3G sin JavaScript), Client Components solo donde hay interactividad real. El dashboard usa Server Actions en lugar de API REST separada: menos código, mejor DX, type safety end-to-end.
Dos bases de datos. Neon PostgreSQL para los datos transaccionales del producto (40+ tablas, queries complejas de seating y budget). Supabase para auth con RLS nativo y storage de imágenes. No es complejidad gratuita: cada una hace lo que mejor sabe hacer.
Sistema de design tokens
Design tokens en CSS custom properties con semántica: --color-text-primary, --color-border-subtle, --spacing-section. El sistema de tokens en variants.css permite que cambios globales (escala tipográfica, espaciado) se propaguen a todas las plantillas sin tocarlas individualmente. Storybook completo con 9 plantillas x 6+ stories con permutaciones reales.
Sistema de contenido con IA
Pipeline de blog autónomo
Bodados genera contenido SEO de forma autónoma. El pipeline corre cada hora en GitHub Actions:
Cola en Neon → Together AI (Llama 3.3-70B) → Agente escritora redacta el artículo → SEO Guardian audita keywords, estructura H2, densidad → Human Score detecta si suena a IA y reescribe si puntúa bajo → Editor Jefe da veredicto: publicar, reescribir o descartar → Supabase blog_posts.
Los LLMs generan contenido útil si les das briefings con criterio editorial, no si les pides “escribe un artículo sobre bodas”. El resultado no es spam de SEO: son artículos que ayudan al lector.
Los artículos se generan con brief editorial previo con datos reales. Ejemplo: “Comparativa honesta: Excel, WhatsApp y Bodados para gestionar invitados. Tabla con criterios: actualización en tiempo real, dietas, +1, recordatorios, exportar datos, coste. Ser honestos sobre cuándo Excel basta y cuándo no.”
Autopilot de redes sociales
Sistema autónomo de publicación en Instagram, LinkedIn, Twitter y Pinterest. El flujo de aprobación es vía Telegram: el sistema genera el post y manda una preview al bot. El editor aprueba, rechaza o pide cambios. Las imágenes se generan con FLUX.1-schnell y se compositan con Pillow: logo, tipografía de marca, overlay de color. No son fotos de stock: son imágenes con identidad visual coherente.
SEO desde código
El site tenía cero presencia en Google al lanzar. Audit completo: metadata única por ruta con generateMetadata(), JSON-LD estructurado (Organization + SoftwareApplication + BlogPosting + BreadcrumbList), blog con filtrado funcional por categoría con URLs indexables, sitemap dinámico con posts generados y landing pages por destino.
Operaciones
CI/CD con 6 workflows activos en GitHub Actions: generación de blog cada hora, backup de Supabase cada 12h (pg_dump con 90 días de retención), generación de posts sociales los lunes a las 9am, escaneo reactivo de feeds cada 6h.
Dashboard de salud del sistema con estado de integraciones, últimas ejecuciones de agentes y errores recientes. Audit log de todas las acciones de usuario. RLS en Supabase, service role key solo en server-side, webhooks con validación de firma, magic links sin contraseñas almacenadas.
Modo demo y conversión
El producto tiene modo demo funcional: cualquier persona puede explorar el dashboard completo sin crear cuenta, con datos reales de un evento ficticio. Diseñado para conversión: los usuarios prueban antes de registrarse.
Lo que aprendí
Sobre producto: Las parejas quieren no pensar en la logística. El lenguaje importa tanto como la funcionalidad.
Sobre arquitectura: Dos bases de datos no es complejidad innecesaria si cada una resuelve un problema diferente bien. La complejidad innecesaria es tener una base de datos que hace todo mal.
Sobre IA en producto: Un pipeline de agentes (escritor → SEO → human score → editor) produce resultados publicables porque cada agente tiene un rol acotado, no porque el LLM sea mágico.
Sobre automatización: Un sistema que genera posts, los manda a Telegram para aprobación y los publica automáticamente no es un juguete. Es una ventaja competitiva. Un fundador solo no puede publicar consistentemente. Un sistema sí.