Open Source Contributions#
Xournal++#
Open PNG files directly from the command line (#6402) — Merged#
Added support for opening PNG files directly via xournalpp image.png, which automatically creates a new document with the image as the page background and resizes the page to match the image dimensions. Previously, users had to convert PNGs to PDF before annotating them.
- Changes: 5 files, +68/−2 lines
Projects#
Resumate#
An ATS-friendly resume generator that assembles a Markdown-to-PDF pipeline so resumes require no manual formatting. Containerized with Docker so users and contributors avoid installing a full TeX distribution locally, and used AI agents to debug rendering issues and cross-check PDF output against ATS text-extraction behavior.
- Repository: TechMaster85/resumate
A3 Engine — High Performance C++ Game Engine#
A 2D game engine built in C++ over a semester at the University of Michigan. Features a Lua scripting API for a component-based actor system, Box2D physics (rigid bodies, colliders, triggers, raycasting), SDL2 rendering, and a data-oriented particle system (SOA layout) that handles 200,000 active particles at a locked 60 FPS. Custom feature: native Nintendo Switch support via the devkitPro toolchain.
- Repository: TechMaster85/a3_engine
- Demo games: a2engine.org — The Whispering Crown, Donna the Donut Pilot, Physics Obstacle Course
- Tech stack: C++, SDL2, Lua 5.4, LuaBridge, Box2D 2.4.1, RapidJSON, GLM
- Architecture: Component-based actors, publish/subscribe event system, deterministic particle system
Reinforcement Learning Agents#
Implemented Q-learning and value iteration in Python, training agents to converge on optimal policies in grid worlds. Also built an adversarial-search game agent (Connect-4 / Tic-Tac-Toe) using minimax with alpha-beta pruning.
Spirit Catcher#
A 3D platformer where players use a rope mechanic to catch wandering spirits. Owned the scripting and build-automation workstream on a 5-person team using Agile practices in Jira, programming camera control, gameplay scripting, and audio systems in C#, and automating cross-platform build and deployment scripts for Windows and macOS.
- Play the game: Spirit Catcher on itch.io
- Key contributions: Sound design and programming
Insta485 — Full-Stack Social Media Platform#
A full-stack social app with a React 19 SPA frontend and Flask REST API backend, deployed to AWS EC2. Modeled a normalized SQLite schema accessed via a Python data layer using parameterized queries to prevent SQL injection, with session-based authentication, Webpack bundling, and end-to-end testing with Cypress.
- Source: available on request (private repo)
- Tech stack: React, Flask, SQLite, Webpack, Cypress
Distributed Search Engine over MapReduce#
Engineered a 6-stage Python MapReduce pipeline producing a partitioned inverted index with tf-idf weights. Designed Flask microservices where replicated index servers handle term lookups and a search server merges PageRank-scored results, with a custom partitioner sharding the index across replicas by hashing terms.
- Source: available on request (private repo)
- Tech stack: Python, Flask, MapReduce
Kinesis Camera#
A Python streaming server on a Raspberry Pi that broadcasts real-time pose landmarks from an AI camera to networked clients, paired with a Unity/C# client that consumes the stream and renders skeletal landmarks on a separate machine. Deployed as a systemd service on the Raspberry Pi with auto-restart on boot.
- Repository: TechMaster85/kinesis-server