My Projects
CSSS Frosh 2022 Website
Information and signups for annual freshman event
August 2022
- Used eleventy.js for rapid prototyping and incorporated existing Bootstrap components to minimize development time.
- Merged the pages into the Django-based SFU CSSS main website ahead of schedule (compared to previous year websites).
Project Blue
Azur Lane game automation
September 2021 - ongoing
- Created a state machine in Python to consistently track all possible game configurations.
- Implemented transitions using the Win32 API to generate virtual key presses for the emulator.
- Made a data pipeline to retrieve and preprocess training images from local gameplay and external videos.
- Trained a neural network using Keras on these images with 95% accuracy, speeding up clear times by 50%.
Bilby Compiler
Compilers course project
May 2021 - August 2021
- Created a compiler in Java that translates a procedural language to stack machine (one-address) code.
- Implemented primitive types, compound types (strings, arrays, ranges), branching, loops, type promotion, and function calls.
- Applied test-driven development for every iteration of the language specification.
BGC Coursys
Software Engineering course project
May 2020 - August 2020
- Acted as the team leader (delegating work and resolving conflicts) and liaison to corporate client.
- Created a real-time training-scheduling system using Node.js, Postgres, EJS/HTML/CSS, and socket.io.
- Reduced the effort needed to track employee enrollment by 40%.
- Controlled project scope to ensure on-time delivery despite losing 40% of team members halfway through the project.
- Led code reviews and Git merging; wrote automated UI tests using Selenium.
LiverHub
Personal portfolio website
January 2021
- Created and styled a responsive website using only HTML and CSS.
- Constructed a build pipeline that integrates external fonts, preprocesses CSS using Sass, minifies CSS using csso, and builds the site using eleventy.js.
- Set up a custom domain and nginx configuration to host the website.
PMD Speedrun World Record Tracker
April 2021 - May 2021
- Prototyped in Django; deployed using Azure Functions (C#) with GitHub Actions CI/CD.
- Consumed speedrun.com API and cached results in Cosmos DB.
- Completely automated manual process saving 2 hours of work every month.
- Easily scaled to handle category reorganizations and new games.
Rote Sphere
SFU STEM Sprint 2021 hackathon submission
September 2021
- Served as team leader and mentored first-time teammates with environment setup and development priorities.
- Prototyped a dashboard that tracks neighbourhood utility usage using Django.
- Finished 3rd place at the hackathon and won $200+ in prizes.
HackChan
StormHacks 2021 hackathon submission
February 2021
- Created an anonymous message board where users can create threads and reply to other messages.
- Used React for the frontend SPA, Node.js for the backend API in Node.js, Postgres for persistence, and Heroku for deployment.
Meal Scheduler
August 2020 - November 2020
- Allows signing up to prepare a meal, displaying recipes, and shows holidays.
- Implemented REST API in Node.js and Express, persistence in Postgres and web UI in React.
- Used Postman, Mocha, and Chai for automated API testing.
- Increased meal planning efficiency at home by distributing workload and sharing recipes.
The Eye
BC Game Jam 2020 submission
February 2020
- Constructed levels for a 2D platformer using Unity and C# for a 48-hour hackathon.
- Learned Git best practices in a nine-person team.
Twitch IRC chat bot
December 2019 - February 2020
- Designed and implemented real-time text-based minigames for Twitch chat using C++.
- Consumed the Twitch IRC API by extending a custom Windows socket interface.
- Increased engagement on my channel and became an Affiliate, allowing monetization.