Las plataformas de recetas de cerveza artesanal existentes tratan cada receta como un documento estático. Si quieres adaptar una receta ajena — cambiar un ingrediente, ajustar el amargor, probar otro lúpulo — tienes que copiarla manualmente y pierdes la relación con el original.
Faltaba una plataforma donde la comunidad pudiera iterar sobre las recetas de forma colaborativa, manteniendo el rastro de quién adaptó qué y a partir de qué versión.
Plataforma full stack con FastAPI + PostgreSQL en el backend y Next.js 15 en el frontend. El núcleo es el sistema de forks: cualquier receta puede ser versionada por cualquier usuario. El árbol de versiones resultante se construye con una CTE recursiva en PostgreSQL y se visualiza con SVG generado en el cliente.
Cada receta incluye un módulo de fermentación: el usuario configura duración e intervalos, y va registrando temperaturas que se muestran en una gráfica Recharts. El ranking se calcula en tiempo real por me gustas, filtrable por mes, año o global.
La interfaz está completamente traducida en ES/EN/DE con next-intl y la API responde los errores en el idioma del cliente según el header Accept-Language.
El árbol de versiones fue el reto técnico más interesante del proyecto. Implementar una CTE recursiva en PostgreSQL para construir el árbol completo en una sola consulta, independientemente de la profundidad, y luego visualizarlo con SVG generado dinámicamente en el cliente fue un proceso que me obligó a pensar en estructuras de datos de una forma diferente.
También fue el primer proyecto donde implementé i18n de forma seria en los dos lados — frontend con next-intl y backend respondiendo errores en el idioma del cliente.
Desde la landing puedes buscar recetas por nombre o aplicar filtros avanzados: ingrediente, autor, estilo, rango de alcohol e IBU. Los resultados se actualizan en tiempo real.
El ranking muestra las recetas más valoradas filtrable por mes, año y global. Las notificaciones registran me gustas y forks en tiempo real. La interfaz está disponible en español, inglés y alemán.
Formulario completo con nombre, descripción, imagen, estilo, litros, alcohol, IBU, ingredientes con unidades, pasos de elaboración y configuración del módulo de fermentación.
Cada receta muestra ingredientes, pasos de elaboración, gráfica de temperaturas de fermentación y comentarios. Puedes dar me gusta, comentar o hacer tu propia versión desde la misma pantalla.
Cualquier receta puede ser versionada. El árbol de versiones muestra el original y todos sus forks anidados, construido con una CTE recursiva en PostgreSQL y renderizado con SVG. Incluye controles de zoom para árboles grandes.