Feature flags simples en Next.js sin librerías externas
Cómo implemento feature flags con una constante booleana y un comentario claro, sin añadir un servicio de terceros para decisiones que cambian una vez cada varias semanas.
- #next.js
- #feature-flags
- #arquitectura
Los servicios de feature flags (LaunchDarkly, Flagsmith y similares) resuelven un problema real: activar o desactivar funcionalidad sin desplegar, con segmentación de usuarios y rollback instantáneo. Para el 90% de los proyectos freelance que entrego, ese problema no existe todavía. Lo que existe es 'este contenido está pendiente de que el cliente confirme un dato'.
El patrón que uso
Una constante booleana exportada desde un archivo de constantes del proyecto, con un comentario que explica exactamente qué condición debe cumplirse para activarla. Por ejemplo: un reconocimiento gastronómico que un restaurante recibió pero que el cliente todavía no ha confirmado si corresponde anunciar en esta etapa del negocio.
Por qué no uso variables de entorno para esto
Una variable de entorno para un flag de contenido implica tocar el panel de Vercel o Cloudflare y redesplegar solo para activar un párrafo. Una constante en el código, en cambio, se activa con un cambio de una línea, revisable en un pull request, con contexto de por qué existía el flag en el historial de git.
Cuándo SÍ justificaría un servicio real
Si hay que segmentar por usuario, hacer rollout progresivo a un porcentaje de tráfico, o cambiar el flag sin pasar por un despliegue (por ejemplo, un flag que un equipo de marketing necesita tocar sin tocar código), ahí sí un servicio dedicado gana con claridad. Para 'este texto se activa cuando el cliente lo confirme', es sobreingeniería.
Conclusión
No todo problema de 'activar o desactivar algo' necesita una plataforma. Una constante bien nombrada, con un comentario que explica la condición de activación, resuelve el caso real sin añadir una dependencia ni una cuenta más que mantener.
¿Construyendo algo?
Si esto te ha resonado, podemos hablar. Contactar →