About Me

Hello World!

My name is Timothy Hsu and I am a 3rd year at UC Berkeley studying computer science.


My passion for computer science stems from my interest in building meaningful products that can have a lasting impact. I am currently looking for software engineering opportunities that can help me find lasting mentors and exciting projects.

Outside of academics, I enjoy playing badminton and making videos for my YouTube channel. My achievements in badminton include representing Team USA at the Summer 2015 College Olympics in South Korea and being top 25 in the US before I came to college. Moreover, I also enjoy creating content for my YouTube channel which has garnered over 325,000 views and over 1000 subscribers.

Feel free to also check out my first stab at making my personal website here!

Technical Skills

  • Category
    Proficiency from left to right
  • Programming Languages
    Python, Java, C, Javascript
  • Web Technologies
  • Productivity Tools
    Git, IPython, LaTex
  • Compute Tools
    Hadoop(MapReduce), Spark

Projects Undertaken

Berkeley ABA App

An iOS application I built in Swift for an on-campus organization to allow members to easily access upcoming events, members directory, and more.

Github App Store


My implementation of a version-control system. This version-control system mimics some of the basic features of the popular version-control system git, but it is smaller and simpler, so it'snamed gitlet. A version-control system is essentially a backup system for files on your computer. The main functionality that gitlet supports is: Saving backups of directories of files. In gitlet, this is called committing, and the backups themselves are called commits. Restoring a backup version of one or more files or entire commits. In gitlet, this is called checking out those files or that commit. Viewing the history of your backups. In gitlet, you view this history in something called the log. Maintaining related sequences of commits, called branches. Merging changes made in one branch into another. Many common Git commands have been implemented but it does not reflect Git's remote capabilities. Working commands include: add, rm, commitbranch, merge, status, log, global log, checkout.


Lines of Action

A fun game I implemented that allows users to play a game of Lines of Action. Users can play with another player or against an AI in the terminal. Additionally, users can also play 2 player mode with a GUI.



In this project, I implemented a miniature relational database management system (DBMS) that stores tables of data, where a table consists of some number of labeled columns of information.


Get in touch!

Want to reach me?

Feel free to email me, or give me a call!