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

    Herramienta web

    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
    • TypeScript
    • Python
    • Friends
  • fluxer.py

    Librería

    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.
    • Python
    • asyncio
    • Open Source
    • API Wrapper
  • FluxPlugs

    App de escritorio

    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).
    • TypeScript
    • Rust
    • Tauri
    • Electron
  • Dilema del Prisionero + NLP

    Tesis

    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.
    • Python
    • NLP
    • Next.js
    • FastAPI
  • Fluxer Live

    Sitio web

    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.
    • Next.js
    • TypeScript
    • Python
    • FastAPI
    • OAuth
  • RenderCV - VSCode

    Extensión

    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.
    • TypeScript
    • VS Code API
    • Python
    • Developer Tools
  • BUAP.pro

    Comunidad

    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.
    • Java
    • REST APIs
    • Documentation
    • Community
  • Fluxear

    Bot

    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.
    • Python
    • Linear API
    • Webhooks
    • Docker
    Sin enlace público
  • Fluxer | Gaming

    Comunidad

    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.
    • Python
    • Automation
    • Community
  • A Cozy Christmas

    Sitio web

    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.
    • SvelteKit
    • Three.js
    • TypeScript
    • WebSockets
  • fluxer.fans

    Sitio web

    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.
    • SvelteKit
    • Three.js
    • Tailwind
    • i18n

Perfil

Saltar 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)

Tesis: Análisis de Sentimientos en Teoría de Juegos. Caso de estudio: El Dilema del Prisionero · Asesora: Dra. Darnes Vilariño Ayala

Volver a proyectos

Contacto

Fernando J. Gil U.

Correo
ferj.gilu@gmail.com

Correo

ferj.gilu@gmail.com

Enviar correo
GitHub · Personal
Fer-Jg
GitHub · Trabajo y orgs
Fer2G
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.

Donald Knuth