Project Fair

Project fair project
fair project fair project fair
project fair project.


This contest is completely optional! Winners will win (TBA) prizes.

Entries will be presented on 2:30pm-4:30pm Friday, November 30 at Wozniak Lounge.

To participate, fill out this form. Only one person from each team needs to fill out the form.

The project fair is an opportunity to take your newfound savvy with programming out for a spin and develop your very own piece of software. As you have probably heard by now, one of the awesome things about computer science is that it can be applied to almost anything (not all programming is tricky recursion questions!). This is your chance to apply the programming fundamentals that you have learned to whatever tickles your fancy.

Note that participation is completely optional. If you do choose to participate in the 61A project fair, you'll present your project in a format similar to an academic conference; small groups of people will come up to you, and you'll show them what you built. Presenting your work is great experience and can start conversations that lead to future projects and collaborations. Some of the people who come view your project will be judges (but you won't know which ones), and there will be prizes. Prize details are TBD, but no course points will be awarded.


  • For some ideas on how to get started, see these slides and webcast for what you can do with 61A knowledge.
  • Related video by James (some overlap with the above)
  • For those of you who are interested in ciphers, 61B built a simulation of the Enigma machine this semester using OOP principles that you've learned already. Of course, you can built your own custom cipher simulation with your own arbitrary rules.
  • Much of building software boils down to Googling for the right things. For example, for a cipher simulation, you might want to try searching for "python interactively ask for string input." First hit is almost always an informative answer + example usage. Maybe you want to make a cipher that encrypts emails and returns an encrypted version to the sender? Search "python how to send emails" and indeed the first hit tells you exactly how to do so.

Current Entries

StatBot (and nba_scrape library)

A Reddit bot for the NBA subreddit to post a player's basketball stats when requested; stats are scraped from using a library I made.

CS matcher

a program that allows cs students to make profiles and find other students who can be potential partners throughout the course

Homework productivity

Program that tracks your productivity when you're doing homework. Encourages you and (maybe) suggest better breaks and better studying habits.

SLAM on Python

Implementing a basic Simultaneous Localization and Mapping (SLAM) using Python

Image labeling and translating

We will take an image and use machine learning api to label each item. Then we will use google translate api to allow the user to change the language to something else in order to facilitate learning languages.

Food Waste Minimization

We plan to use image analysis APIs to analyze the trash at dining locations to rank food by the amount wasted so the data can be used for food recommendations and deciding what not to cook.

Bouncing into Bioinformatics

My project will filter DNA in order to detect biases in sequencing

Kiwi Map Helper

We want to build a tool that will help KiwiCampus achieve accurate time deliveries.


Renders any image into pixel art style, with dimensions and colors such that the result can be recreated as a Rubik's cube mosaic. User selection re: image, colors, and size.

Resume Parser

Create a website that can create a personal website for users that parses information from a Resume (PDF, doc file)

Oh Sheet!

Transcribing audio into written musical notes

Lofi Radio

I want to make a simple web app that uses machine learning to generate lofi music and plays it.

Google Pokémon

Translates Google Maps data into Pokémon tile maps that can be implemented in game.

Decide Dude

A service that helps people decide on places to go, like restaurants, instead of them simply going to Yelp or Opentable, where they're presented with 100 choices. Mostly based on randomly generating a restaurant after some filtering.

Anger Cooler

Ever posted a facebook comment, tweeted a tweet or shared an instagram photo, only to regret it when it was too late? Well, you're not alone: According to "mindnlife", "studies show that 19% of teens regret something posted, shared or communicated online whilst 40% of Internet users between the ages of 18-35 have regretted posting personal information." Anger Cooler is a machine learning tool that detects the regret-ability of your social media communication and notifies you immediately if you post something regret-able.

High-Performance Generalized Symbolic Differentiator

A performant, versatile Scheme-based symbolic differentiator capable of handling arbitrarily long arguments, applying generalized chain rule and power rule patterns, and infix, postfix, and prefix input and output using recursive parsing strategies. Handles extremely long, nasty, and nested differentials with copious amounts of special trigonometric functions very well.

Handy Homework Scheduler

A web application to algorithmically break down tasks into manageable pieces and display them in a schedule.

Lawyers Abroad

Not at liberty to divulge.


This is a game similar to minesweeper, where you try to mark all the peanuts that are hiding by squirrels in random spots in a square. There will be more interesting rules about the game described in the "help" button in the game.

Managing burden

A website that will help my speech and debate coach from high school equally distribute judging burdens among the parents of student competitors in proportion to the participation rate of their child.

the comic chrome extension

"Beautifies" a website by changing all text into comic sans

Favors for Neighbors

An app for neighbors to do favors for each other. You can post favors and complete favors for others who live within a certain radius from you.

Author id

Program that will tell you what famous author you write like


Look through all the past exams for topics and allow querying into these exams. E.g. you can search "lambda" and it will pop up every past midterm/final that had the word lambda in it


Find classmates from your courses who want to study together! Studybuddy is built with Node/Express and integrates APIs from Mailgun for email automation and Google OAuth for authentication. You can sign up with a Berkeley email at


A tool (will probably be in the form of a web app) that one can use to help plan a move night with friends! Planned features are for it to assist in movie suggestions (maybe some implementation with IMDB and rotten tomatoes) and create some kind of unique link that you can share with your friends, which will let them do things like RSVP to the event, make suggestions to movies and other stuff, and maybe say what things they'll be bringing (hdmi cable, netflix account, etc).

Trap the Monster (working name)

A 2D game where the player must trap a monster using a variety of tools. Using machine learning, the monster learns to avoid the player's traps, and the player must innovate new techniques to capture the monster.


As a track athlete in high school, I had a tough time looking for colleges that fit my exact specifications. My project will utilize web scraping to make a college list for high school cross country and track athletes who wish to compete in the NCAA.

Test Prep Program

It is a program that tracks a student's mistakes when practicing exam problems and provides feedback on the student's performance based on what they entered. The program tells the user to look over the exam problems they got wrong or are unsure about, and for every problem, it lets the user input the topic, difficulty, and type of mistake. When the user is done, the program will analyze the data the student entered and give advice on what to study. I will create a generic version as well as one designed specifically for studying for CS61A exams.


Creating a JavaScript utility to expand Messenger Tapback functionality


A python program that helps automate a bot that uses a vision library in order to tweet about a bird every day.

Fan Club MkIV

Fan Club is a distributed, scalable Fan Array Wind Tunnel control software system, built primarily to serve in Caltech's Graduate Aerospace Laboratory and for NASA's Jet Propulsion Laboratory's "Mars Helicopter" tests. It has been used to control up to 2,592 actuators while gathering and displaying live sensor feedback data, and is currently being used in Caltech's Center for Autonomous Systems and Technologies.


Use Flask and Twilio to improve your algebra skills!

Slice of Piazza

This idea is based off of Piazza, and the problem that results from too many similarly worded questions that clog Piazza. It is a web app that can filter if a similar question has been asked before, and provide you the answer for that similar question.

Flappy Hexagon

A clone of flappy bird, but with concentric hexagons as pipes.


A game where you can direct a rock climber going up a rock wall, using keyboard controls.


Have you ever wanted to know your future? With the palm reading tool, "Palmystery", you can uncover the mystery of your palm lines. For this project, we used the Open CV library and the sklearn library to identify palm lines and their attributes to create an accurate reading of your future. ;)

Calculus is pretty :) :) :)

A webapp that uses a Python and SQL backend to visualize slope fields


We built web platform where dancers can upload their videos to get rapid feedback on their performance when compared to videos of a choreographer. Each video is broken down into a series of frames which we then analyze, running machine learning to figure out where 15 points of your body are (hands, arms, shoulders, neck, etc.). Once we have two sets of points, we run our custom algorithms to compare them against each other, accounting for height, width, and depth of the video taken. We display to the user an easy-to-use platform where they can watch both videos in sync and see a timestamp colored with green, yellow and red. Green is what they're doing right throughout their dance, yellow is almost right, and red is what they're doing wrong. Hovering over the red parts of the timestamp, we specfically pinpoint the body parts that they're not moving/messing up on. This is an end-to-end platform built for anybody to become better at dancing by comparing themselves to someone else performing the same choreo and getting feedback on their moves.


Google Chrome extension that takes your schedule from CalCentral, and adds your classes/discussions to your Google Calendar.


The first "truly Exceptional" language, which has Exception handling, as it's only form of conditional control


Use classes in python to model electoral democracy

Analyzing Content Words in Yelp Reviews

My project uses language processing, webscraping and object-oriented programming to analyze important words from Yelp reviews of restaurants in Berkeley.

UHS CALendar

A web scraper that converts events from the UHS website to json (mobile app created to display events as well)

Pentago Game

Goal of the game is to connect 5. Every turn consists of putting down a piece and rotating a quadrant. You cannot undo a rotation your opponent made on the last turn. Smart AI opponent may be implemented.

Long Term Portfolio Optimizer

Combination of different ideas (including Bootstraping, Monte Carlo Simulations, Regression, and Genetic Algorithms) in python to make a guess at efficient portfolios in financial markets.

OKPY Code Review

We'd like to add code review feature to OKPY which allows students to share their solutions(optional) and learn from peers.

Puzzle Solver

I'm working on a program that can solve common puzzles found in the newspaper! Sudoku, Jumble, Crosswords, and Word Searches. Currently done with Sudoku Solver, hopefully I can finish an algorithm that can solve a few more by this Friday.

Project Raytrace

Path tracer in Python


Python code that generates perfectly unrolled loops with SMP and SIMD support


Flex dollar usage analysis