Hardware
Hayplayer - Custom MP3/FLAC Player Ongoing; March 2026
Overview
Designing a fully custom, portable MP3 and FLAC audio player from the ground up: going from concept drawings to a full-fledged electronic product. This project focuses on electronics architecture, combining a microcontroller with a dedicated hardware audio decoder for high-fidelity playback.
Process
- Engineered a custom power management and distribution circuit to handle USB charging and battery switching seamlessly.
- Integrated a VLSI VS1063 audio decoder, managing the communication interface and routing between the STM32 and the dedicated audio hardware.
- Designed and iterated on the PCB design and schematic in Kicad with a strong focus on separating digital control signals from sensitive audio lines to maintain signal integrity.
- CURRENTLY: Waiting on PCB fabrication and components, afterwards proceeding with firmware development in C and iterating circuitry for consumer-grade reliability.
Challenges
- Mixed-Signal Architecture: Going from a straightforward design like the Keypad project to this meant keeping signal and power principles in mind at all times.
- Advanced Power Management: Moving beyond basic power delivery to implement robust load-sharing logic. Refining the diode circuitry was critical to ensure the system could safely and continuously transition between internal battery power and USB-C charging without voltage drops.
- Firmware Memory Constraints: Low-power hardware means razor-thin margins of memory to work within, requiring efficient code optimization and resource management to maintain functionality.
Keypad with Volume Control December 2025 - March 2026
Overview
Designing a custom mechanical keypad with integrated volume control knob from ideation to usage in the real world.
Process
- Designed and drew circuit on paper; transferred schematic to a digital, professional design
- Created PCB design in Kicad, utilizing an STM32 chip with auxilary hardware to provide interrupts
- Assembled board, tested with simple firmware written in C using STM32Cube platform, and improved the design into a working prototype
Challenges
- Firmware Development: Planning to implement efficient firmware to handle key presses and rotary encoder inputs with minimal latency is an avenue different from my other firmware projects
RFID Door System Completed July 2021
Overview
Developed a secure access control system using the ESP-IDF framework. The project focused on real-time response and reliable sensor interfacing.
Process
- Designed system architecture to integrate RFID reader, door strike, and environmental sensors.
- Prototyped software in Arduino, implemented FreeRTOS tasks to manage concurrent operations for reading RFID tags and controlling the door mechanism.
- Collaborated with a team to set up cloud logging for access events using Pub/Sub architecture via Amazon Web Services (AWS).
Challenges
- Concurrency: Managed FreeRTOS tasks to ensure the door strike remained responsive while logging data to the cloud.
- Cloud Team Collaboration: Got up to speed with cloud communication patterns in order to ensure secure and accurate communcation to AWS cloud services
Software
Drawalong - Collaborative Drawing Application Ongoing; January 2026
Overview
An application written using C and SDL to let multiple people draw on the same canvas over an internet connection. Created to exercise principles learned in Beej's Guide to Network Programming.
Process
- Set up basic window and graphics rendering using the SDL2 library.
- Implemented networking code to allow multiple clients to connect to a designated "host" and share drawing data in real-time.
- Designed a selection system (key shortcuts + TUI) for selecting colors and brush sizes.
Challenges
- Packet Architecture: Designing the network packets to ensure all necessary information is sent/received while maintaining speed and reliability
- Multi-Platform Support: Currently using the Windows implementation of the sockets API; need to add adjustments for Linux library as well
NFL Yardage Classifier Last updated - October 2025
Overview
A binary classification model built to predict player performance. This project involved extensive data scraping, cleaning, and feature engineering.
Process
- Utilized Pandas to perform exploratory data analysis on available features; construct dataframe with engineered features
- Implemented and tuned XGBoost classifier for an efficient and accurate decision forest
- Engineered custom features based on hypothetical metrics to boost accuracy from a baseline 61% to over 68% during 113 game sampling window.
Challenges
- Feature Creep: Had to limit the amount of feature engineering done to ensure performance-training time tradeoff was sound.
- Data Integration:Migrating from manually uploading CSV files to utilizing libraries with similar data was difficult, but rewarding to learn.
SeedScraper - Data scraper for Start.gg Last updated - October 2025
Overview
Given a tournament with public seeding data, SeedScraper will retrieve the top N seeds (where N is a specified number). This list is then available immediately with an option to export to a CSV
Process
- Drafted short script in Python to interact with native start.gg API
- Created simple UI in TKinter for graphical navigation
- Implemented feature to export scraped data into a CSV, downloaded natively on the user's computer