← Todos los posts

30 de abril de 2026 · 8 min de lectura

Cuando construir gana a comprar: cómo un colectivo de música en Praga sustituyó Eventbrite

Cada evento que vendían se les iba un 7-9% en comisiones de plataforma. Así que les construimos su propia infraestructura de ticketing — Stripe, tickets PDF con QR, check-in en la puerta, panel de administración — por el coste de un dominio. Aquí está la arquitectura, los números, y por qué esta misma cuenta aplica ahora a muchas pymes.


Si tu negocio depende de una plataforma SaaS que se lleva un porcentaje de cada transacción, los números que hiciste cuando contrataste probablemente ya no cuadran.

Hace tres años, "constrúyelo tú" significaba un proyecto de varios meses con una agencia, 30.000€ y un contrato de mantenimiento del que no podías salir. Comprar era la respuesta evidente. Hoy, el mismo desarrollo es una fracción de eso — y se mantiene por el precio de un dominio. Las plataformas no han bajado sus comisiones; lo que se ha desplomado es el coste de reemplazarlas.

Este post va sobre un proyecto donde esa cuenta se volvió imposible de ignorar: un pequeño colectivo de música en Praga que estaba sangrando dinero a Eventbrite y Resident Advisor en cada evento. Sustituimos los dos con un sistema que ahora es suyo y gestionan ellos mismos. El resultado está en vivo en hereandthe.re.

Pero la historia interesante no es el desarrollo en sí. Es lo que ese desarrollo implica para cualquier pyme que ahora mismo está pagando un porcentaje a una capa SaaS.

El brief

El colectivo necesitaba algo que pareciera simple por fuera y completo por dentro:

  • Una web pública donde la gente pudiera descubrir eventos y comprar entradas
  • Pago directo vía Stripe, sin intermediarios cobrando comisión
  • Entradas enviadas automáticamente por email — PDFs bien diseñados, no solo una confirmación
  • Un código QR en cada entrada que el personal pudiera escanear en la puerta para validar accesos
  • Un panel de admin que el equipo pudiera usar sin tocar la base de datos ni pedirme deploys
  • Capacidad para gestionar precios escalonados (early bird → preventa → entrada general) con stock que pasa automáticamente al siguiente tramo cuando el anterior se agota

Tenían un evento encima. El reloj era la restricción.

Página pública de evento en hereandthe.re

Por qué esto es ahora un proyecto rápido, y no de varios meses

Que esto fuera viable con un alcance ajustado se reduce a cuatro cosas que se han convertido silenciosamente en commodities:

Pagos. Stripe Checkout gestiona todo el flujo de pago. No tocamos datos de tarjeta, no lidiamos con compliance PCI, no escribimos un formulario de tarjeta.

Backend. Supabase te da Postgres, autenticación y almacenamiento de archivos en un free tier que cubre cómodamente una operación pequeña. Sin DevOps, sin provisioning.

Frontend y deployment. Next.js 15 con App Router sobre Vercel. Las server actions se encargan del trabajo pesado de formularios en el admin; el renderizado estático se encarga de las páginas públicas. Despliega en cada push a main, con entornos de preview que se generan automáticamente en cada branch.

Email. Resend gestiona el email transaccional con buena entregabilidad después de unos 20 minutos de configuración DNS.

Suma pdf-lib para generar las entradas (A5 horizontal, tipografía custom, QR renderizado en blanco en un panel lateral para escanearlo fácil), y ese es todo el stack.

Ninguna de estas herramientas es nueva. Lo nuevo es la combinación — y que el camino aburrido y bien documentado a través de ellas es ahora el camino por defecto. Aburrido es lo que se entrega rápido. Aburrido es lo que un equipo pequeño puede mantener por su cuenta después.

Lo que se construyó realmente

Cuando el colectivo anuncia un evento, entran a una sola página de admin. Rellenan un formulario: nombre, fecha, sala, lineup, un párrafo o dos de descripción, el horario del día. Suben un cartel. Definen sus tramos de entradas: early bird a un precio con un cap fijo, preventa a un precio más alto, y luego entrada general. Guardan.

Ya está. La página pública del evento se renderiza automáticamente. Los productos en Stripe se crean al vuelo cuando alguien compra. El webhook se encarga del resto.

Panel de admin — editor de eventos

Cuando se vende una entrada, el sistema:

  1. Confirma el pago con Stripe vía webhook
  2. Escribe el pedido y el registro de la entrada en la base de datos
  3. Genera un PDF con un código QR único
  4. Manda al comprador el PDF adjunto al email, más un enlace a una versión web del ticket
  5. Actualiza el contador de stock del tramo; si ese tramo se ha agotado, activa automáticamente el siguiente

Ticket PDF con código QR

En el evento, el personal de la puerta usa una página de scanner que funciona desde el móvil. Apuntas al QR, se pone verde si el ticket es válido, rojo si ya se usó o no existe. Nada de instalar app — solo una URL con una clave secreta.

La cuenta, sin rodeos

Aquí es donde se pone interesante para quien lee esto y no tiene un colectivo de música.

El colectivo pagaba un 7-9% en comisiones de plataforma por cada entrada vendida. Para una operación pequeña con unos cuantos eventos al año, eso son miles de euros anuales — dinero que salía de la escena antes de que lo vieran los artistas o las salas.

Su infraestructura nueva cuesta alrededor de 2$ al mes ahora mismo (solo el dominio). Vercel, Supabase, Resend y Upstash entran cómodamente en sus free tiers a este volumen. Incluso cuando crezcan más allá de esos límites, el coste total de infraestructura tiene un techo de unos 70$/mes — una fracción de lo que pagaban antes.

Stripe sigue cobrando su comisión estándar de transacción (1,4% + 0,25€ para tarjetas europeas), pero ese es el coste inevitable de aceptar tarjetas en cualquier sitio. No hay una plataforma encima de eso.

Ahora cambia "colectivo de música" por cualquier negocio con la misma forma: una tienda online pagando a Shopify un porcentaje encima del procesador de pago. Una práctica de coaching pagando a una plataforma de bookings por sesión. Una membresía pequeña pagando a Patreon. Un negocio basado en clases pagando a ClassPass o Mindbody. Los porcentajes varían, pero el patrón de fondo no — una capa SaaS sacando un impuesto recurrente de tus transacciones, a cambio de una infraestructura que ya está mayoritariamente comoditizada.

En el primer evento que el colectivo lanzó con el sistema nuevo, la plataforma no se llevó ni un céntimo. Ese es el titular.

Cosas que haría diferente

Algunas reflexiones honestas, por si alguien se plantea un trabajo parecido:

Cuida el UX del admin tanto como el del público. La web pública es lo que ven los usuarios. El panel de admin es lo que usa el equipo todas las semanas, para siempre. Si es torpe, da mala impresión a la gente que decidió confiarte su negocio. Inviértele tiempo.

La invalidación de caché sigue siendo difícil. El renderizado estático es genial para rendimiento, pero en cuanto los admins empiezan a editar datos, necesitas hooks de revalidación explícitos por todas partes. Me dejé algunos en la primera pasada. La función de subir cartel acabó requiriendo un redeploy manual en producción para refrescar la caché. Ya no, pero aprenderlo me llevó más que construir la feature.

Los webhook secrets de Stripe son más estrictos de lo que parece. Los espacios en blanco en variables de entorno son un enemigo invisible. Si tu webhook devuelve 400s sin razón aparente, copia y pega el secret otra vez, en algún sitio con fuente monoespaciada, y busca el carácter colado al final.

El límite de tamaño de archivo en plataformas serverless es una restricción real. El plan Hobby de Vercel limita el body de una server action a 4,5MB. Para la mayoría de casos vale. Para subir carteles, no. La arquitectura correcta es subir directamente desde el navegador al storage, saltándose el servidor. Entregué primero la versión fácil; la versión bien hecha es un follow-up.

Cuándo aplica esta cuenta a tu negocio

No estoy diciendo que toda suscripción SaaS deba reemplazarse con un desarrollo a medida. La mayoría no. La cuenta solo se invierte cuando:

  • Pagas un porcentaje de la facturación, no una cuota plana. Las comisiones porcentuales escalan linealmente con tu éxito; las cuotas planas no.
  • Tu caso de uso está bien cubierto por primitivas commodity (pagos, auth, storage, email). Si necesitas algo genuinamente nuevo, el coste de construir sigue siendo alto.
  • Tienes volumen suficiente para que el porcentaje sume dinero real. Por debajo de cierto umbral, la cuota SaaS sale más barata que tu tiempo de mantenimiento.
  • Puedes encontrar a alguien que lo construya aburrido — rápido, fiable y con un handoff limpio para que no dependas de esa persona para siempre.

Si tres de esos cuatro son ciertos para tu negocio, la conversación de build-vs-buy merece volver a abrirse. Probablemente no la merecía hace dos años.

Si quieres mirar si aplica a tu situación, agenda una discovery call. Te diré honestamente si los números cuadran o no.