Caso de estudio · 2022

Ulula.

SaaS Hostelería

Diseñé y construí toda Ulula desde cero: el SaaS web, las cuatro apps móviles que orbitan a su alrededor, la librería compartida y la integración de pagos multi-proveedor. Hoy está en producción, con clientes activos y facturación electrónica VeriFactu verificada.

Ulula

El problema

La hostelería en España vive una tormenta perfecta: una ley que llega, unas comisiones que asfixian y unas herramientas que no se hablan entre sí.

⚠️
VeriFactu llega en 2027

La facturación electrónica será obligatoria, con multas de hasta 150.000 €. La mayoría de los negocios ni sabe que existe.

30%
se lo llevan las plataformas de delivery
un local con 3.000 €/mes pierde 900 €

Y el día a día se gestiona con la carta en PDF, las comandas en papel y las reservas por WhatsApp. Cada herramienta suelta es un punto de fallo más.

La tesis

Siete herramientas en una. Si el pedido, el cobro, la cocina, la reserva, el evento, el delivery y la factura viven en el mismo sitio y en tiempo real, desaparecen los errores de copiar y pegar entre sistemas. Esa fue la apuesta.

La solución

Ulula es una plataforma todo-en-uno para restaurantes, tiendas, servicios y eventos: web app sin instalaciones + un ecosistema de seis apps. El negocio cobra con su propia pasarela —0% de comisión— y queda listo en cinco minutos. La diseñé y construí de extremo a extremo.

Apps
6
Backend
1
Comisión
0%
Setup
5 min
Operación en cocina durante el servicio

La suite

Seis apps desde un único código en React Native + Expo. Cada una resuelve un lado del negocio; todas comparten el mismo backend.

ululandoululandoConsumidor
uBusinessuBusinessProveedor
uTPVuTPVPunto de venta
uQRuQRCheck-in
uKDSuKDSCocina
uBookinguBookingReservas
Demo · App consumidor (ululando)
ululandoululandoululandoululandoululandoululando
Demo · App del negocio (uBusiness)

Pedidos en tiempo real

El cliente escanea el QR de la mesa y pide desde el móvil; el pedido entra directo a cocina. Mesa, delivery o recogida, con estados de recibido a entregado y alertas de pedidos urgentes. Lo que se cobra es lo que se prepara.

// Del TPV a la cocina, en tiempo real
supabase
  .channel('orders')
  .on('postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'orders' },
    ({ new: order }) => kds.enqueue(order))
  .subscribe()
Pedido → cocina con Supabase Realtime
Demo · Kitchen Display (uKDS)
Cocina en hora pico — el KDS marca los pedidos

Punto de venta (TPV)

POS web + app nativa con sesiones de caja: apertura, arqueo de cierre y detección automática de discrepancias. Multi-cajero, propinas, informes X y Z, y modo offline con cola local que sincroniza al reconectar.

Demo · Punto de venta (uTPV)
uTPVuTPVuTPVuTPVuTPVuBusinessuBusinessuBusinessuBusiness

Eventos, reservas y carta QR

Eventos con aforo y tickets, check-in por QR (uQR) y reservas con selección de menú. Servicios con calendario y sync con Google Calendar. Carta digital por mesa, multi-idioma y en tiempo real, con recordatorios para reducir los no-shows.

Demo · Check-in y carta QR (uQR)
Check-in en la entrada con uQR

Todo lo que incluye

  • Perfil público del negocio
  • Carta digital con QR por mesa
  • Pedidos en mesa, delivery y recogida
  • Delivery propio con zonas en el mapa
  • Kitchen Display System
  • Eventos, tickets y check-in
  • Servicios y reserva de citas
  • Gestión de mesas y cupones
  • Punto de venta con arqueo de caja
  • Blog y seguidores por negocio

Integraciones

  • Pagos: Stripe Connect, Redsys, PayPal, Square, TropiPay, RalioPay
  • Google Maps, Places y Calendar
  • WhatsApp para estados de pedido
  • Facturación electrónica VeriFactu
  • Multi-moneda y multi-tenant

Retos técnicos resueltos

Construir esto en solitario significó resolver problemas de producción, no de tutorial.

Pagos sin tocar secretos

Las pasarelas prohíben pedir las claves del negocio. Migré el cobro a Stripe Connect / OAuth: cada negocio conecta su cuenta, Ulula nunca guarda sus secretos y el dinero va directo a su cuenta. Cumplimiento por diseño.

Seis apps desde un código obligan a separar bien por variante: cada una con su bundle id y su GoogleService-Info. Usar el plist equivocado rompe push y analytics en silencio.

// Cada variante con su propio Firebase plist
function plistFor(variant) {
  if (variant === 'consumer') return './GoogleService-Info.plist'
  const p = `./GoogleService-Info-${variant}.plist`
  return exists(p) ? p : fallback()   // si no, [I-COR000008] y push roto
}
Resolver de Firebase por variante
💡
TPV a prueba de cortes

El punto de venta no puede caerse si se va el WiFi un viernes a las 22h: las ventas se encolan localmente y se sincronizan al reconectar, sin duplicados.

El stack

Llevo más de 4 años construyendo producto a diario. Ulula es un monorepo: web en Next.js 15 + React 19, móvil en Expo / React Native, y backend en Supabase con 50+ Edge Functions (Deno), 120+ migraciones y Realtime. TypeScript de punta a punta.

// 6 apps desde un solo codebase (Expo)
const APP_VARIANTS = {
  consumer: { name: 'ululando',  bundleId: 'com.seracreativo.ululando' },
  provider: { name: 'uBusiness', bundleId: 'com.seracreativo.ululando.business' },
  tpv:      { name: 'uTPV',      bundleId: 'com.seracreativo.ululando.tpv' },
  checkin:  { name: 'uQR' }, kds: { name: 'uKDS' }, booking: { name: 'uBooking' },
}
// APP_VARIANT=tpv eas build  →  otra app, el mismo código
Una variante por app, el mismo código

El modelo

Cuatro planes, del gratis al enterprise. El negocio empieza sin coste y escala cuando lo necesita.

Starter
Gratis
Basic
49 €
Pro
119 €
Enterprise
299 €

Programa de embajadores

Ulula Ambassadors: por cada negocio que entra con tu código ganas el 20% de comisión recurrente durante 12 meses, y el negocio entra con un 20% de descuento los primeros 6 meses. Alta con Google + Stripe, eliges tu código y cobras el día 15. Global, vía Stripe Connect.

Comisión
20%
Duración
12 meses
Dto. cliente
20% · 6m
Pago
Día 15
Recomienda y cobra con Ulula Ambassadors

Roadmap 2026

Bootstrapping y product-led growth, barrio a barrio, hasta el default alive.

  1. Q1
    Zona Cero

    10 negocios evangelistas, churn 0%, onboarding manual y happy path pulido.

  2. Q2
    Motor viral

    Activar el loop B2B2C: el tráfico físico se vuelve usuarios de ululando. Meta: 1.000 activos.

  3. Q3
    Propuesta Pro

    uKDS en cocina, reportes de rentabilidad y palanca VeriFactu. Meta: 30% a planes de pago.

  4. Q4
    Automatización y escala

    Self-onboarding (foto de carta → IA → catálogo) y cashflow positivo.

Negocios
100+
Usuarios
15k
Churn
<2%
MRR
5.000€+

Resultado

Ulula está en producción con clientes activos, en App Store y Google Play. Diseño, código y publicación, de extremo a extremo, por mí.

Si no escala con un fundador, no escala: ship pequeño y a diario, un audit ledger en vez de fixes silenciosos, y RLS desde el día uno.

Ulula

¿Construimos algo juntos?