Projects
Fourteen projects spanning algorithms and competitive-programming math, concurrent systems, machine learning models, full-stack apps, and games. Select any card for the full write-up.
Algorithms & Data Structures
Graph algorithms, number theory, and the math behind competitive programming.

Maze Simulator
AlgorithmsGenerates, solves, and visualizes mazes using BFS, DFS, Prim's, and Kruskal's. Includes step-by-step algorithm visualization.
- Java
- Maven

Competitive Programming Math
AlgorithmsA web and mobile handbook of the math behind competitive programming — GCD and LCM, sieves, binary exponentiation, number theory, combinatorics, and game theory — with step-by-step interactive algorithm traces. Built and used while volunteering as a competitive programming instructor.
- Typescript
- React
- Expo
Software Engineering & Web Development
Concurrent systems, full-stack apps, and developer tooling.

Kanji Ji App
SoftwareFull-stack kanji dictionary serving 2,000+ characters with readings, meanings, and stroke-order data. Built with Next.js, React, and Supabase.
- Typescript
- Supabase
- Next.js
- React

Portal Vaquita
SoftwareConcurrent marketplace system with Publisher-Subscriber and Observer patterns, socket-based communication, thread synchronization, and a full unit test suite.
- Java
- Maven

Coyo6
SoftwarePHP/MariaDB virtual classroom built for UNAM during COVID-19. Handles course management, assignment submission, and student enrollment.
- PHP
- MariaDB
- JavaScript
- Bootstrap

Optical Character Recognition
SoftwareFlutter mobile app that extracts text from images in real time using Google ML Kit OCR and reads it aloud via TTS — built for accessibility use cases.
- Dart
- Flutter
Machine Learning & Computer Vision
Model training, evaluation, and deployment on real data.

Fake News Detection
MLCompared BERT, CNN, and LSTM architectures for fake news detection. Fine-tuned BERT achieved the highest F1-score on labeled news corpora, outperforming traditional NLP baselines.
- Python
- TensorFlow
- Keras
- Plotly

Kanji Ji
MLTrained a CNN in PyTorch to recognize handwritten kanji characters. Model serves as the recognition backbone for the Kanji Ji production app.
- Python
- PyTorch
- Streamlit
- Pandas

Frame-to-Event Conversion Framework
MLConverts conventional RGB video into asynchronous event streams (x, y, t, p) like those from neuromorphic cameras such as DVS and DAVIS, using a classical computer-vision pipeline rather than deep learning. Built to generate synthetic training data for spiking neural networks in automotive vision, and benchmarked against real DSEC event-camera recordings.
- Python
- Streamlit
- OpenCV
- NumPy
Games
Rendering, game loops, and input handling from the ground up.

Exo-Arcade
GameBrowser-based educational game about exoplanets with five mini-games and Gemini API-powered hints. Built for NASA's 2024 Space Apps Challenge.
- JavaScript
- Python
- Bootstrap
- Gemini API

El Escape de los Nueve Círculos
GameTerminal-based maze game in C, inspired by Dante's Inferno. Implements custom maze generation, collision detection, and rendering without a game library.
- C

2048
GameReact implementation of the 2048 sliding-tile puzzle. Handles tile merging logic, keyboard and touch input, and win/loss detection.
- JavaScript
- HTML
- CSS
- React

Frogger
GameVanilla JavaScript Frogger clone with sprite-based animation, collision detection, and increasing difficulty levels.
- JavaScript
- HTML
- CSS

Juego 15
GameBrowser-based 15-puzzle with randomized board generation, move counter, and solvability checking.
- JavaScript
- HTML
- CSS

Tetris
GameVanilla JavaScript Tetris with piece rotation, line clearing, and level-based speed progression.
- JavaScript
- HTML
- CSS