GhostSwap
Las apps de amigo secreto están llenas de anuncios, te obligan a crear cuentas en sitios dudosos y no soportan múltiples grupos ni exclusiones. GhostSwap tiene magic link, wishlists editables, multi-moneda para LATAM y privacidad garantizada en la base de datos.
GhostSwap es una aplicación web completa para organizar intercambios de regalos tipo Amigo Secreto. Implementa un algoritmo de derangement verificado matemáticamente para garantizar que nadie se regale a sí mismo, con privacidad by design, o sea Row Level Security en todas las tablas de Supabase para que nadie pueda ver asignaciones ajenas, ni siquiera el admin. Incluye autenticación con Google OAuth y Email/Password, sistema de invitaciones por código con auto-join, notificaciones automáticas por email al realizar el sorteo, wishlist por participante, sistema de exclusiones y soporte multi-moneda (CLP, USD, EUR, MXN, ARS, COP, PEN, BRL, GBP). Desplegado en Cloudflare Workers con OpenNext y CI/CD vía GitHub Actions.
Las apps de amigo secreto que existen están llenas de anuncios, se ven antiguas, te obligan a crearte una cuenta en sitios de dudosa reputación y la mayoría no soporta múltiples grupos, exclusiones ni monedas distintas. Quise una herramienta que simplemente funcionara bien. Entras con un link, te unes con Google, armas tu wishlist y listo.
El algoritmo central es un derangement con sistema de exclusiones. Garantiza que nadie se regale a sí mismo y además respeta restricciones arbitrarias, como parejas que no se pueden tocar o jerarquías de oficina. Usa Fisher-Yates con fallback a backtracking cuando las restricciones son complejas, y detecta configuraciones imposibles antes de intentar el sorteo. Lo probé contra escenarios reales, familias con parejas, oficinas con jerarquías, grupos grandes con exclusiones cruzadas. La privacidad está en la base de datos. Row Level Security en Supabase hace que ni el admin pueda ver las asignaciones. Magic link y Google OAuth para entrar sin fricción, wishlist editable, soporte para 9 monedas de LATAM, notificaciones por email.
Next.js 16 con App Router y React 19. Backend con Supabase (PostgreSQL + Auth + RLS) y Server Actions. Validación con Zod y React Hook Form. Email transaccional con Brevo SMTP y Nodemailer. Deploy en edge con Cloudflare Workers vía OpenNext. CI/CD con GitHub Actions, Husky y lint-staged.
Me di cuenta de que la mayoría de las apps de amigo secreto tienen un problema de confianza que nadie nombra. Si el organizador puede ver todo, la privacidad es solo una promesa. Quería que fuera una garantía técnica. Eso cambió bastante el diseño de la arquitectura.
El Centro de Estudios Migratorios de la USACH necesitaba reconstruir su presencia digital y crear DataCEM, una plataforma de visualización de datos migratorios. Desarrollo completo, de la arquitectura al lanzamiento.
Editor visual de historias sobre mapas, para quien sabe qué contar pero no va a escribir JavaScript
Pensé en mi abuela viendo un video sobre cuánto tiempo real nos queda con las personas que amamos. Usa tablas de vida de la ONU para estimar cuántos encuentros probables quedan. Sin servidor, ningún dato sale del navegador.