• Replaced a prototype chat backend with a chat micro-service to separate chat performance concerns from the main API
  • Rewrote the web dashboard using React for feature parity with the mobile clients
  • Updated SMS copy to be more user-friendly and clear, resulting in the largest increase in SMS users installing the app in years
  • Consolidated old cross-platform prompt systems into a flexible, easy-to-extend system that's been adopted by other teams successfully
(Co-op evaluations: Outstanding/Excellent)
San Francisco
Jan. 2015 - Aug. 2015, May 2016 - Aug. 2016, Sept. 2017 - Feb. 2018
Ruby, Go, Javascript, Java
Rails, DynamoDB, React.js, Android
  • Developed the iOS frontend of a prototype poker app focusing on playing with friends, which eventually became an app called Pineapple Poker
  • Created and improved analytics tools on the metrics team in order for them to filter information faster and be able to see a user age breakdown for specific days
  • Developed frontend features for a 3D racing game on Android, including an interactive map, and the movement/drifting animation for the cars using GLES 2.0
(Co-op evaluations: Excellent/Excellent)
May 2013 - Aug. 2013, Jan. 2014 - Aug. 2014
Objective C, Python, Javascript, Java
iOS, Django, Android, GLES 2.0
  • Created a clone of the Xbox Live Arcade game Geometry Wars to learn how to implement effects like the deformable grid, and bloom
  • Particles are simulated on the GPU to have hundreds of thousands without slowdown
  • The deformable grid is also simulated on the GPU but is affected by ships and bullets
  • The dynamic music system plays more intense music when there are more enemies

Geometry Wars Clone

Sept. 2013 - Dec. 2013
  • Created a 2D multiplayer deathmatch platformer for a 48-hour hackathon at A Thinking Ape with two other programmers, and two artists
  • Added the ability for players to phase through walls to add variety to the combat
  • Responsible for movement and level collision, and graphical effects like bullet trails and the desaturation effect when phasing through walls

ATA Co-op Hackathon Game

A weekend in April 2014
libGDX, OpenGL
  • Created a tech demo to learn how to implement some modern graphics techniques
  • Implemented normal mapping and specular mapping to make walls look more detailed
  • Implemented deferred rendering to efficiently render many lights
  • Used depth information from the deferred rendering process to create a screen space approximation of ambient occlusion, to have light falloff more realistically in corners

Deferred Renderer with SSAO

Sept. 2014 - Dec. 2014
  • Created a Haskell webapp running on top of lighttpd
  • Created an Html DSL using monads to programmatically compose html
  • Built from a "Hello World" Haskell application into a full website to better understand how other frameworks like Django and Rails work


Nov. 2012 - present
  • Bachelor of Computer Science
  • Graduated December 2017