← Back
React Beauty Flags
web

React Beauty Flags

Nov 16, 2024 → Dec 20, 2024

React Beauty Flags

React Beauty Flags es una librería React que proporciona más de 250 banderas SVG artesanales — de países a ciudades — diseñadas para aportar color y estilo a interfaces modernas.

Nacida de la frustración con alternativas aburridas o sobrecomplicadas, se centra en la simplicidad, la armonía visual y la experiencia del desarrollador.

Vista previa de React Beauty Flags

Motivación

Tras reutilizar banderas en decenas de proyectos, me di cuenta de que las soluciones existentes eran demasiado pesadas o carecían de consistencia de diseño. Inspirado en la estética limpia y lúdica de Duolingo, decidí diseñar un conjunto que quedara genial en cualquier UI moderna y fuera amigable para desarrolladores.

“Quería algo elegante para portfolios pero suficientemente sencillo para pasar a producción.”

El resultado es una librería con más de 1.000 descargas (¡y creciendo!) en NPM, con gran adopción entre desarrolladores centrados en UI y entusiastas del open source.


Destacados

  • +250 Banderas Artesanales - Países, ciudades y símbolos diseñados en Figma.
  • Ligero y Rápido - Sin dependencias externas, SVGs optimizados.
  • Personalizable - Soporte de utilidades Tailwind para bordes, sombras y radio.
  • Búsqueda y Filtrado - Experiencia de búsqueda integrada con URLs compartibles.
  • Preparado para TypeScript - Completamente tipado, autocompletado en el IDE.
Detalles Técnicos
Para desarrolladores y mentes curiosas

🧰 Stack Tecnológico

HerramientaPropósito
ReactLibrería principal para renderizar componentes
TypeScriptTipado estático y fiabilidad del código
Tailwind CSSEstilos utility-first para el sitio de demo
Figma APIObtener y sincronizar diseños vectoriales de banderas
svgoOptimización de SVG para carga rápida
GitHub ActionsCI/CD automatizado para build y publicación en NPM

⚙️ Scripts de Automatización

get-figma.ts - Obtiene SVGs de Figma vía API y los almacena localmente.

build-flags.ts - Optimiza SVGs con svgo, genera componentes React y enums.

check-flags.ts - Valida la consistencia de banderas y los metadatos faltantes.


🚀 Flujo CI/CD

Cada push a main lanza GitHub Actions para:

  1. Obtener las últimas banderas de Figma
  2. Construir y optimizar los assets
  3. Publicar una nueva versión del paquete en NPM
  4. Desplegar el sitio de demo en Vercel automáticamente

Este flujo garantiza que la librería esté siempre actualizada y se despliega en menos de 2 minutos.


Vista del Sitio Web

El sitio oficial — construido con Next.js y TailwindCSS — muestra todas las banderas con filtrado en vivo, vistas previas y copia de código instantánea. Cada bandera incluye:

  • Personalización interactiva (radio, borde, sombra)
  • Copiar al portapapeles con clases Tailwind predefinidas
  • Deep-linking vía URL para compartir fácilmente
Vista de agrupación de banderas
Banderas agrupadas alfabéticamente por tipo.
Ejemplo de búsqueda
Búsqueda instantánea con sincronización de URL para compartir resultados.
Feedback con búsqueda vacía
Feedback elegante cuando ninguna bandera coincide con los criterios de búsqueda.
Cajón de detalles de bandera
Cajón interactivo con fragmentos de código listos para copiar.

Aprendizajes e Impacto

Construir React Beauty Flags reforzó mi interés en las herramientas para desarrolladores y el diseño centrado en DX. Automatizar pipelines de assets con TypeScript y APIs de Figma mejoró mi flujo de trabajo, ahorrando más de 10 horas de actualizaciones manuales de banderas por versión.

El proyecto también generó colaboraciones de otros desarrolladores, que contribuyeron con diseños y nuevos scripts.

Los pequeños detalles hacen el software delicioso — y las banderas, sorprendentemente, son uno de ellos.


Planes Futuros

  • Añadir banderas de organizaciones mundiales y eventos
  • Ampliar las funciones de utilidad (paletas de colores, correspondencia de códigos)
  • Añadir analíticas sobre el uso de banderas
  • Mejorar los metadatos de accesibilidad

Enlaces

Proyectos similares

React Beauty Flags

© 2026 Pol Gubau Amores