Fernando J. Gil U.
Full Stack Developer · Ingeniería en Ciencias de la Computación
Construyo aplicaciones web full stack, herramientas para desarrolladores y APIs con Next.js y Python, y co-mantengo fluxer.py, una librería de código abierto en Python para la app de chat Fluxer.
Proyectos
W2D
App web para decidir qué hacer con un grupo de amigos. Quien organiza crea un plan y comparte un código; cada persona agrega qué quiere hacer, cuándo puede y dónde está, y W2D sugiere lugares que le funcionen al grupo.
Detalles
- Backend integrado
- Desarrollo fullstack
- Consumo de APIs de Google
- Implementación de workflows CI/CD
fluxer.py
Librería asíncrona en Python para crear bots y herramientas en Fluxer, la app de chat de código abierto. La co-mantengo y lidero su reescritura 0.5, que agrega modelos tipados, manejo de medios y una cobertura mucho más amplia de la API.
Detalles
- Librería de código abierto con más de 50 estrellas y 20 forks en GitHub, publicada en PyPI.
- Reescritura 0.5 (en alpha): más de 120 archivos y ~18k líneas.
- Modelos tipados para los objetos documentados de la API, tipo Asset para medios y latencia del gateway.
- Base de extensiones y bots de la comunidad, como fluxer-ext-menus y Fluxear.
FluxPlugs
Sistema de plugins para la app de escritorio de Fluxer. Un instalador hecho con Tauri modifica la app de forma segura para agregar un runtime de plugins, y los usuarios instalan plugins desde una tienda donde cada uno solo obtiene los permisos que declara.
Detalles
- Instalador hecho con Tauri y Rust para Windows y Linux, que previsualiza cada cambio y verifica respaldos antes de modificar la app.
- Plugins con permisos por capacidad: cada plugin solo accede a lo que declara.
- SDK público para plugins (API v2) con documentación, guías y plantilla inicial.
- Tienda de plugins respaldada por un registro en GitHub con validación y verificación automatizadas.
- Actualmente en beta privada (0.5.0).
Dilema del Prisionero + NLP
Mi tesis: análisis de sentimientos en teoría de juegos. Dos personas juegan el Dilema del Prisionero y pueden mandarse un mensaje entre rondas; con NLP, esos mensajes se convierten en estrategias que se comparan con los resultados para encontrar la que mejor funciona.
Detalles
- Partidas 1v1 del Dilema del Prisionero entre dos personas reales, con un mensaje de texto permitido entre rondas.
- Uso de NLP para traducir los mensajes de los jugadores a estrategias.
- Análisis que relaciona estrategias y resultados para encontrar la de mejor desempeño.
- Frontend en Next.js y Tailwind, y backend en Python con FastAPI, desplegados en Vercel.
Fluxer Live
Panel en vivo de la actividad de las comunidades de Fluxer. Bots basados en fluxer.py recopilan la actividad de mensajes y voz de las comunidades participantes, y el sitio la convierte en estadísticas en tiempo real, gráficas de crecimiento y páginas para unirse a las comunidades.
Detalles
- Frontend en Next.js 16 con inicio de sesión mediante OAuth de Fluxer y panel para comunidades.
- Backend en FastAPI con bots recolectores basados en fluxer.py que miden la actividad de las comunidades.
- Gráficas de crecimiento con páginas públicas para compartir e imágenes de vista previa generadas.
- Imágenes de Docker construidas en GitHub Actions y desplegadas en Kubernetes con Rancher.
RenderCV - VSCode
Extensión de VS Code para RenderCV, la herramienta que convierte un archivo YAML en un CV en PDF. Reemplaza la línea de comandos con una interfaz guiada: crea CVs con un asistente, edítalos junto a una vista previa del PDF en vivo y administra temas y ajustes por CV.
Detalles
- Publicada en el VS Code Marketplace.
- Asistente de configuración que detecta la instalación de RenderCV y crea CVs nuevos.
- Editor y vista previa del PDF lado a lado, con re-renderizado automático al cambiar o guardar.
- Ajustes globales y por CV, temas y clonado de CVs en un clic.
BUAP.pro
Servidor de Minecraft y comunidad para estudiantes de la BUAP, con más de 1,000 usuarios. Desarrollo y mantengo sus plugins de Java, el sitio web, la wiki y el bot de Discord, y doy soporte a los usuarios día a día.
Detalles
- Creación y mantenimiento de documentación y guías de ayuda, permitiendo a los usuarios resolver problemas comunes de forma independiente.
- Soporte técnico continuo a usuarios, solucionando problemas del servidor y relacionados con cuentas.
- Desarrollo de herramientas y plugins personalizados para mejorar la experiencia de usuario y la funcionalidad del servidor.
- Investigación y resolución de inconsistencias de datos y comportamientos inesperados en herramientas e integraciones de la plataforma.
- Consumo e integración de APIs REST de terceros, y diseño de APIs personalizadas para herramientas internas y automatización.
- Identificación de problemas recurrentes de usuarios e implementación de soluciones para reducir la demanda de soporte.
- Crecimiento y soporte de una comunidad de más de 1,000 usuarios en múltiples plataformas.
Fluxear
Bot de Fluxer que conecta el chat de la comunidad con Linear. Los miembros reportan bugs y peticiones desde el chat sin necesitar cuenta de Linear, los maintainers los clasifican sin salir de la conversación y quien reporta recibe avisos conforme avanza su ticket.
Detalles
- Los miembros crean tickets con un comando o reaccionando 🎫 a un mensaje.
- Quien reporta recibe un DM y una respuesta cuando cambia el estado de su ticket.
- Los maintainers clasifican y editan issues desde el chat; los webhooks de Linear publican feeds por equipo en canales.
- Permisos por roles, varios equipos por servidor y despliegue con Docker.
Sin enlace públicoFluxer | Gaming
Comunidad gamer en Fluxer, la app de chat de código abierto, con más de 600 usuarios. Administro la comunidad y desarrollé el bot privado en Python que automatiza sus flujos del día a día.
Detalles
- Más de 600 usuarios en la comunidad.
- Automatización de flujos mediante un bot de comunidad basado en Python.
A Cozy Christmas
Una sala navideña en 3D en el navegador, hecha para la comunidad de Fluxer. Los visitantes la recorren en primera persona e inician sesión con su cuenta de Fluxer; las salas compartidas con amigos están en desarrollo.
Detalles
- Escena 3D y físicas con Threlte (Three.js para Svelte) y Rapier.
- Inicio de sesión con OAuth de Fluxer y WebSockets servidos por un pequeño servidor en Node.
- Construido con SvelteKit y TypeScript.
fluxer.fans
Un club de fans no oficial de Fluxer, la app de chat de código abierto, que se toma los “fans” al pie de la letra: una escena 3D con ventiladores girando y un público que aplaude. Los visitantes ajustan la velocidad del ventilador y envían porras que flotan sobre el público.
Detalles
- Escena 3D (ventilador, brisa y criaturas) hecha con Threlte (Three.js para Svelte).
- Disponible en inglés y español con Paraglide.
- Construido con SvelteKit, TypeScript y Tailwind CSS.
Perfil
Sobre mí
Full Stack Developer e Ingeniero en Ciencias de la Computación por la BUAP. Trabajo sobre todo con TypeScript (Next.js, React, Svelte) y Python (FastAPI). Entre mis proyectos recientes están un sistema de plugins para la app de escritorio de Fluxer, una extensión de VS Code para RenderCV y la reescritura 0.5 de fluxer.py. También he trabajado en soporte de TI y en atención al cliente bilingüe (inglés/español), así que estoy acostumbrado a explicar problemas técnicos a personas sin perfil técnico.
Stack
- TypeScript / React / Next.jsAplicaciones web full stack con Next.js y React, además de Svelte/SvelteKit para sitios interactivos y en 3D.
- Python / FastAPIAPIs REST con FastAPI, librerías asíncronas y bots, automatización y trabajo de datos/NLP.
- SQL & REST APIsDiseño de esquemas y SQL (PostgreSQL, MySQL, SQLite) para aplicaciones y diagnóstico de datos; diseño y consumo de APIs REST y webhooks.
- Java / Gradle
- Plugins de Paper/Minecraft y herramientas de servidor, con builds en Gradle y Maven.
- Tauri / VS Code API
- Apps de escritorio con Tauri y Rust, y extensiones de VS Code.
- Docker / CI / Linux
- Despliegues con Docker y Docker Compose, Kubernetes administrado con Rancher, CI/CD con GitHub Actions, servidores Linux (Ubuntu) y flujos de trabajo con Git.
- C# / SAP / ABAP
- Transacciones SAP y herramientas internas (ABAP, C#, MVC) para procesos de negocio.
- IT Support
- Diagnóstico de hardware, red y cuentas; documentación de soluciones y guías de usuario.
Experiencia · 2012 – Presente
Proyectos propios
Full Stack Developer
- Autodidacta desde 2012: empecé con scripts de batch en la consola de Windows y aprendí cómo funciona el malware escribiéndolo y eliminándolo en mis propios equipos, todo con documentación, Stack Overflow y tutoriales.
- En GitHub desde 2021: cerca de 100 proyectos entre dos cuentas y diez organizaciones, la mayoría hechos por mi cuenta de principio a fin.
- Desarrollé plugins de Java, bots de Discord y Twitch, sitios y wikis para comunidades de servidores de Minecraft, y he administrado comunidades de más de 1,600 usuarios, de la infraestructura al soporte.
- Aplicaciones web full stack con Next.js, React y Svelte sobre backends en FastAPI y PHP: OAuth, bases de datos con seguridad a nivel de fila, workers y APIs de Google, con CI/CD y despliegues en Docker Compose o en Kubernetes con Rancher.
- Software para clientes reales, como una plataforma de lealtad multi-tenant para cafeterías, y herramientas de código abierto y para desarrolladores: una librería de Python en PyPI, una extensión publicada de VS Code y un instalador de escritorio en Rust.
- Más allá de la web: apps móviles en Flutter, NLP en mi tesis, optimización cuántica en hackatones, IoT con microcontroladores y escenas 3D en el navegador.
Experiencia · 2024 · Jun – Dec
Magna - Autotek
Prácticas de Soporte IT
- Soporte IT a empleados, solucionando problemas de hardware, red y cuentas de Microsoft.
- Uso de SQL para consultar datos internos y ayudar a diagnosticar problemas de sistemas y procesos.
- Documentación de problemas y soluciones comunes para mejorar el conocimiento interno.
- Explicación de conceptos técnicos en lenguaje sencillo a personal no técnico.
- Automatización de tareas de red con Python para reducir el trabajo manual del equipo de soporte.
- Desarrollo de herramientas internas y transacciones SAP (ABAP, C#, MVC) para apoyar flujos de trabajo de negocio.
Experiencia · 2021 · May – Aug
Glorieta Adventure Camps
Personal de Cocina y Enlace de Soporte Bilingüe
- Soporte bilingüe (inglés/español) mientras se desempeñaban responsabilidades de cocina y servicio.
- Gestión de múltiples tareas de servicio simultáneamente, priorizando necesidades urgentes durante la preparación de comidas y operaciones diarias.
- Trabajo en equipos de 2 a 20 personas para que el servicio no se detuviera.
Experiencia · 2020 · Jan – Aug
Teleperformance
Representante de Servicio al Cliente Bilingüe
- Manejo de solicitudes de soporte al cliente de alto volumen en un entorno bilingüe (inglés/español) por teléfono y canales digitales.
- Resolución de problemas de cuenta, cambios de perfil y consultas de usuarios.
- Comunicación clara de información técnica y de cuenta a usuarios no técnicos.
- Clasificación y escalamiento de problemas complejos a los departamentos correspondientes para asegurar una resolución oportuna.
Educación
2021 – 2026
Ingeniería en Ciencias de la Computación
Benemérita Universidad Autónoma de Puebla (BUAP)
Contacto
Fernando J. Gil U.
- Correo
- ferj.gilu@gmail.com
- GitHub · Personal
- Fer-Jg
- GitHub · Trabajo y orgs
- Fer2G
- fernando-j-gil-u
- Ubicación
- Puebla, México
Citas
Cuidado con los bugs en el código de arriba; solo he demostrado que es correcto, no lo he probado.