Yapi es una plataforma de API organizada como monorepo: un Worker en Cloudflare expone el dominio (auth, usuarios, canales, dispositivos y notificaciones), un backend en VPS gestiona el envío push y un frontend Astro consume todo.
El reto
Construir una API con usuarios, canales y notificaciones suele implicar mantener servidores, balanceadores y bases de datos. El reto era tener esa plataforma completa funcionando al borde, con la menor infraestructura posible y coste casi nulo.
Qué hicimos
Un monorepo Turborepo con tres piezas claras:
worker: API de dominio en Cloudflare Workers (Hono + Wrangler + D1) para auth, usuarios, canales, dispositivos y notificaciones.server: backend en VPS con Hono + firebase-admin, dedicado solo al envío de push (FCM).web: frontend Astro que consume la API.
Cómo lo construimos
Separamos responsabilidades: el Worker es el plano de datos (rápido, global, sin estado) y el server solo existe para lo que no puede vivir en el borde (FCM). D1 guarda el estado relacional sin servidor. El resultado es una API global con latencia mínima y despliegue atómico con Wrangler.
Resultados
Una plataforma de API completa sin un solo servidor que administrar: el dominio corre al borde en Cloudflare, el push se aísla donde corresponde y el frontend consume una API estable y versionada.