01
🌏

GenGO!

Mobile App · Research

An interactive mobile language learning app built for Android as part of a research study in the Mobile User Interfaces course at York University. GenGO! implements a spaced repetition system alongside a range of unique interaction methods — tapping, typing, voice control, and dragging — so users can study foreign languages in different ways.

The results were genuinely surprising: more interactive study styles actually yielded lower test scores, contradicting the initial hypothesis. The research findings made the project far more interesting than just shipping an app.

AndroidAndroid StudioJavaXMLUX/UI DesignUX ResearchGitHub
02
🛡️

Post Guardian

Browser Extension · Hackathon

Built for Hack the 6ix 2025, Post Guardian is a Chrome extension that helps users pause and reflect before posting on social media. It analyzes the tone of a draft in real time using the Gemini API and prompts users with thoughtful feedback — encouraging more intentional and responsible sharing online.

The goal was to blend thoughtful UX design with real-time AI analysis to promote digital mindfulness without interrupting the posting experience.

JavaScriptChrome Extension APIsGemini APIGenerative AIPrompt Engineering
03
💓

Pulsefex

Embedded Systems · Hardware

An embedded heart rate monitor built as the final project for the Embedded Systems course at York University. Pulsefex captures and displays real-time heart rate and SpO2 levels using the MAX30102 pulse oximeter and TMP102 temperature sensor, running on an STM32WB55RG microcontroller with output to a SSD1306 OLED screen.

My first embedded systems project — I was eager to get deep into the hardware side and contribute as much as possible to the circuit design and firmware.

CSTM32STM32CubeIDEEmbedded SystemsCircuit DesignMicrocontrollers
04
⚾

Baseball Oracle

ML · Automation · Personal

An ML model that predicts the winner of every MLB game, trained on every regular-season game since 2021 and walk-forward validated at 56.6% over 12,138 out-of-sample games, +3.6 pts over always picking the home team. An early 60.5% result turned out to be a data leak; after rebuilding every stat point-in-time, measured improvements (Marcel-style pitcher projections, and a regularized logistic regression that beat both random forest and XGBoost) got it to an honest 56.6%.

Fully serverless: a GitHub Actions pipeline runs three times a day, rebuilds 59 features from the MLB Stats API and Open-Meteo, retrains in Python, scores games with a pure-JS inference engine, and publishes static JSON to GitHub Pages. Every pick is locked before first pitch, explained factor by factor, and graded publicly.

Node.jsPythonscikit-learnXGBoostGitHub ActionsGitHub PagesMLB Stats API