I'm a fast and keen learner who's passionate about what I do, and I take ownership of what I write.
I'm an excellent problem-solver who writes clean, efficient, maintainable code. I'm also a strong communicator who collaborates effectively with my team.
In grad school I specialized in deep learning and ethics, but I have a lot of industry and academic experience in a variety of fields, including:
backend web development
infrastructure engineering
cybersecurity engineering
native mobile app development
embedded systems design
game development
Feel free to ask me more about my experience in any of those areas, or take a look at my resumé for more info!
Using a Distributed ML Server Network to match Applicants to Job Openings on a Job Board
2022
For my Capstone Project (FYDP), I designed from scratch a distributed dynamic machine learning platform that learns from user reviews to match applicants with job openings on a professional network such as Glassdoor/LinkedIn.
This was a massive project that did build on an existing FYDP project from the year prior, but which involved the novel design of several major systems all on my own and took several terms to complete.
To achieve my project specifications and requirements, I implemented custom data and transport layers to maximize service throughput and minimize latency between the client, main server/load balancer, and backend ML servers.
I also created a custom fault-tolerant load balancer that can connect to new server instances while running, and selects the best backend server based on speed, uptime, and model accuracy for a given task.
On top of all that, I wrote custom backend ML servers that each maintain partial database caches kept in sync by the main server, and that each contain multiple instances of neural networks that are optimized for different tasks.
This was the single largest solo project I've ever worked on, and it goes far beyond just software. I invite you to read my full project report below!
This project explored the use of convolutional and recurrent deep learning models, either sequentially (CRNNs) or in parallel (PR-CNNs), to perform music genre recognition on input audio files.
The Free Music Archive dataset was used, where audio signals were vectorized by the use of Mel-frequency cepstral coefficients as input to the networks.
Early Detection of Depression using Twitter Post History
2024
This project investigated the use of causal deep learning models to predict occurrences of mental health disorders based on a Twitter user's entire post history rather than individual tweets.
We employed RNN and LSTM models for this project as they are causal neural networks good for memory-based NLP tasks. The Twitter-STMHD dataset was used, with tweet text being vectorized with the Word Embeddings method.
A service to provide interior decoration advice to ordinary users. Backend and API written in Python, with MongoDB for storage. iOS client programmed in Swift.
A real life Raspberry Pi-powered smart mirror. Powered by MagicMirror², with our own custom modules added on. I also wrote a companion app in Swift to control the mirror.
QuickPic
2018
QuickPic is an app that lets you take a pic, make some fun edits, and send it to your friends!
The iOS client is written in Swift and supports logging in through Firebase authentication, has a fully-featured camera and lets you overlay text on the image you just took.
Users can send pictures to their friends, and check their inbox to see what their friends have been sending. Users can also add new friends at any time, change their display name that their friends see, and view some stats about their usage of the app.
The backend is written in Node and Express using Firebase functions, and uses Cloud Firestore and Cloud Storage to maintain user data and facilitate sending pictures to other users.
Superbot is a multi-purpose slack bot for entertainment with your team members. It was written in Python, and communicates with the Slack, Wikipedia, Google, and Reddit APIs.
Its features include an anonymous chat channel, and the ability to generate messages and stories about certain topics or in the writing style of certain people using Markov chains.
QuickPic is an app that lets you take a pic, make some fun edits, and send it to your friends!
The iOS client is written in Swift and supports logging in through Firebase authentication, has a fully-featured camera and lets you overlay text on the image you just took.
Users can send pictures to their friends, and check their inbox to see what their friends have been sending. Users can also add new friends at any time, change their display name that their friends see, and view some stats about their usage of the app.
The backend is written in Node and Express using Firebase functions, and uses Cloud Firestore and Cloud Storage to maintain user data and facilitate sending pictures to other users.