David Chen
Software Engineer
About Me

Hi! I'm a Computer Science and Math lover, and am very interested in AI/ML.

I like writing fun programs in Python—feel free to check out some of my projects below!

Or glance through some of the books I've read beginning in high school.

I'm currently a freshman at Harvey Mudd College in Claremont, CA.

Projects
pingmote (Poor Man's Discord Nitro)
Developed hotkey triggered cross-platform global emote picker to create and quickly insert custom images and gifs.
Source Code
Ruzzle Solver
Designed a program to play Ruzzle, a mobile word finding game in a 4x4 grid. Utilized optical character recognition, custom trained models, graph theory, and Android automation.
Source Code
Reddit Username Generator
Trained LSTMs and GRUs on 400,000 Reddit usernames for text generation, then integrated into React through TensorFlow.js and Flask and deployed on Heroku.
Source Code
Isola Game
An easy to learn 2 player turned based game, Isola involves players moving and destroying blocks in an attempt to isolate the opposing player. After learning about the minimax algorithm in Stanford CS221 (Intro to AI), I decided to implement it in a more difficult setting, since Isola requires 2 moves per turn rather than per alternating moves.
Source Code
Arduino Obstacle Avoider
My first dabble into the world of robotics, this Arduino car uses an ultrasonic sensor to avoid bumping into obstacles. Later, I used ROS models for simulation in Gazebo to optimize path following.
Source Code
CartPole RL
After learning about Reinforcement Learning in Stanford CS221 (blackjack HW), I applied vanilla Q-learning with epsilon-greedy to OpenAI Gym's CartPole problem. I was able to meet the criterion for solving the problem without any advanced methods such as Deep Q Networks or Policy Gradient.
Source Code
Sunrise Alarm
We always feel more refreshed waking up to the sunrise on weekends without a blaring alarm clock. This Android tasker script uses an adjustable light to simulate the sunrise, as well as the sunset before sleep. REM sleep cycles are considered for alarm times.
Source Code
Codenames
A simple application of Stanford GloVe word vectors to the game codenames, where a spymaster attempts to give a clue to hint at certain words, while avoiding others.
Source Code
Ambient Light Color Adjuster
After purchasing a color changing lightbulb to use a sunrise simulator alarm clock, I decided to have some fun with adjusting ambient light to match a game's dominant color.
Source Code
Pictionary AutoDraw
With image preprocessing, color matching, brush size optimization for resolution, and PyAutoGui, AutoDraw takes images and turns them into beautiful art on a canvas.
Source Code
Nonogram Solver
With Selenium and bit operations, this fully solves nonogram visual logic puzzles.
Source Code
Skills and Technologies
OS: Windows 10 + WSL2, Pop! OS
Programming Languages: Python, Java, C++, HTML/CSS/JS, Latex
Code Editors: VSCode, Sublime Text, repl.it

© 2021 David Chen. Built with Next.JS and Semantic UI React