Kevin Wu

A personal website

Hi, I'm Kevin and I'm passionate about technology. Raised in the Silicon Valley and earning my EECS degree at UC Berkeley, I've spent a large portion of my time building cool projects that push the boundaries of what I've learnt at school. I believe that the key to success is not only having a strong grasp of the fundamentals in a variety of areas, but also being able to have the initiative to go out into the world and make things happen. I'm looking forward to taking the skills that I've honed and repurposing them to create amazing products that will make people's lives that much more exciting.
I am a student. Despite having spent a large chunk of my life at college, I have found that I have a thirst for knowledge that drives me to learn no matter where I am. I feel that the best way to grow as a developer, designer, and person is to always be bringing in new ideas and perspectives. By pushing the boundaries of what I can do, I can show that I am a multifaceted individual who can bring a lot to the table.
I am a hacker. I love making things. As a developer, I love coming up with an idea and being able to immediately execute it to produce something that people can play with and enjoy. I am always full of crazy ideas - some useful and some not - that I am constantly trying to implement. Some of these ideas end up becoming really great projects while others might just be "learning experiences". Regardless, I am always up for diving into the unknown and making something really cool.
I'm a gamer. Sitting down and exploring a fantasy world or engaging with others in a competitive shooter is an activity that I find extremely fun. However, it isn't just the game that excites me. What I really find inspiring is the creativity and passion that the developers have when designing and creating these virtual realities for others to spend their time in. Being able to produce a world and a story that is convincing enough to engage players is something that I hope to reproduce in order to create products that are just as captivating.
Late 2012
Even though I have spent a lot of time at school, I have had more experiences beyond taking tests. Check out some of my most interesting projects on the left!
S Spring 2013
Not every project is a success, and Skirmish was one of my first attempts at a large project that was never fully realized. Working with two of my housemates, we created a simple real time strategy game in Java. The project incorporated a lot of moving parts: a pathfinding algorithm on top of a simple A* search to ensure clumps of colliding units could path around one another smoothly, a rendering engine that properly handled fog of war and the various game sprites, a modular infrastructure where unit properties could be tweaked on the go, and a server-client system that could connect players together to allow them to start a new game.

We made large progress in all of these elements and even demoed a playable prototype at a small hackathon. The units could path around the map successfully, simple battle mechanics were implemented, and a chat client that served as the game launcher was created. However, the game was finally scrapped due to our inability to get a handle on the realtime component over an unstable network and our lack of experience with video game graphics. We simply could not reach a level of quality that we were comfortable with. Nevertheless, it was an amazing learning experience and a very fun project to work on and design.
S Summer 2013
At Palantir, I worked with 3 other interns to build an interactive web app for the Metropolis team that served as a prototype of how their Swing-Java dominated codebase would look like in the web. The goal was to serve as a stepping stone as most of Palantir's software projects moved from a client side app to a web-based service. During this time, I maintained unit tests using Mocha and Gerrit and utilized a GruntJS based build system. I was also in charge of maintaining a Wiki page documenting our research, code infrastructure, and design decisions.

Palantir utilized the Scrum framework of Agile development, and I took part in daily standups with my project partners, weekly standups with my group, and 3 week sprints among the Metropolis team. I commonly served as the Scrum master, ensuring that we produce valuable code that would be used in the future when we left.

At the company-wide hackathon, I also participated in building some great side projects. The first was a simple Javascript library built on top of D3.js that converted a JSON file to an interactive SVG chart. The second was a hardware based "shower tracker" that utilized a Rasberry PI server and an Arduino client to track shower usage at the company to help employees determine which showers were currently taken.
S Winter 2013
PyMind github
I decided to create PyMind after learning about neural networks in an online AI course. The goal was to create a simple tool that allowed a user to quickly build a neural network, train it on a data set, and use the corresponding results. The entire library took around 2 months to realize and utilized an extensive amount of tests with the Nose testing framework. In order to ensure speed, the bulk of the heavy lifting was done with Numpy and SciPy in order to ensure great performance while Python was used for its flexibility and popularity amongst researchers.

The core project revolved around some very simple code and an implementation of backtracking and forward propagation. The main goal was to hide many of the steps of using a neural network and to provide a simple interface where a researcher could simply pass in his data, choose his optimization function, and begin training. We also created a suite of unit tests, integration tests, and end-to-end system tests to ensure that our implementation was working properly. Although not a particularly great statistic for how successful our testing was, the tests did achieve over 95% coverage of our code. This was a great example of taking something that I learned at school and using it immediately to create something cool.
S Spring 2014
Tron github · website
Tron was a one day hackathon project that had us creating a very simple web based 3D game that utilized a computer's webcam in order to recognize a person's hands steering an imaginary steering wheel. Inspired by the popular arcade game, we created a simple 3D game world using three.js and a simple inhouse image processing algorithm to drive a virtual car. Although we aspired to completely imitate Tron and its rules, we were only able to create a simple demo where a user could drive the car around a 3d space. Nevertheless, we were able to take first place at the CSUA hackathon among its 15 teams, resulting a cool and successful 1 day hack.
S Summer 2014
I worked as a Project Manager at Microsoft handing a piece of the next update of the Windows Store. During this time, I gained valuable insight into the world of UX and developing a product that may be used by thousands of different people. I was in charge of maintaining a component of the Store, setting up and attending meetings with other PM's and developers in order to ensure that all aspects of my project would be flushed out and ready to be shipped by the end of the milestone.
S Fall 2014
InstaParser github · website
Instaparser was built as a convenience tool mainly targeted at hackathon coders and students. We developed a simple language that could be used to specify the format of an input file, which is used to automatically generate a full fledged parser in either C++, Java, or Python. The parser would simply be a bootstrapping of the project, allowing the developer to then focus on his algorithm or solving the problem using the data in the files. The entire project was written in Python using the Nose testing framework.

In addition to building the script, we also designed a website to showcase the project, provide instructions, and allow users to use the script quickly online instead of downloading it themselves. The website was my first attempt at spending a large amount of time designing before touching the code. After creating a few mockups in Adobe Illustrator, I was able to build the website in less than a week. The only remaining goals for this project are filling the website with content and squashing some final bugs within Instaparser's codebase.
S January 2015
My Website github
Building this personal website was a great learning experience and a lot of fun. I used many tools that I had experience in including a clean Grunt build system, Coffeescript, Jade, and LESS to produce a modular website that had a clear separation between design and content. I worked with several libraries, including Velocity.js for general animations, Vivus.js for the awesome drawing effect, and several JQuery plugins for various other elements.

I designed the entire website (twice!) using Adobe Illustrator and most of the graphics were custom made or tweaked from online resources. The entire process took around 3 weeks and works well on every browser and most tablets.
S Spring 2015
Coliseum github · website
The project that would become known as Coliseum started off as an assignment for the UC Berkeley upper division course: CS 169 - Software Engineering. Initially termed Penpal Gladiators, it was an app dreamed up by Professor Larry Rosenthal who hoped that it could become a place for people of differing political backgrounds to come together and share their opinions on high profile political topics. Partnering up with 5 other students taking the course, we worked with Larry to execute his dream by taking the first stab at developing a minimum viable product.

Over the course of 4 2-week iterations, our group learned a tremendous amount with regards to working in a more organized and Agile environment, utilizing all sorts of tools to ensure success. Our main framework consisted of a Ruby on Rails backend environment handling API calls to perform operations to create and match users as well as store conversation information, an AngularJS frontend allowing us to create a very simple single page application, and a continuous deployment infrastructure consisting of Github, Travis, and Heroku.

As the scrum master, I coordinated the entire team to ensure that standups were efficient, the environment was positive, and communication channels were clear. As part tech lead, I bootstrapped the application and the infrastructure, setting up our Cucumber, RSpec, and Jasmine testing frameworks, as well as our continuous deployment architecture. At the end of the day, I was continuously making sure that everyone else knew what they were supposed to be doing and were not blocked when trying to do it.

It was a great experience, featuring a final poster session where we showcased our app to the public. It is one of the few that I felt was developed in a more professional work environment that I helped create.
Find me at