NEW: see a showcase of some past projects

Warning: the info/dates below were used for SP 2016. Dates will be different for Fall 2016.

General info about project deliverables is here

When are the Project Deadlines?

For the weeks where you have a project meeting with your GSI, you should go to the discussion section that you were assigned.

You should be having your customer meeting in the first week of each iteration, so before the *-1 deadline.

Iteration Number

Due Date

Customer Meeting this week?

Project meeting w/ GSI?

Submission Link

Peer Evaluation


Mon 2/29 11:59 PM




Thus 3/3 or Fri 3/4 before section




Fri 3/11 11:59 PM




11:59 PM Wed 3/16 or Thurs 3/17 (night before section)




Fri 4/1 11:59 PM




11:59 PM Wed 4/6 or Thurs 4/7 (night before section)




Fri 4/15 11:59 PM




11:59 PM Wed 4/20 or Thurs 4/21 (night before section)




Fri 4/29 11:59 PM



What are the project deliverables?
At beginning of project: 
  • Brief videotaped interview (~2 mins) with customer explaining business need and what project will do
Each iteration, in section: 
  • "Postmortem" of what worked and what didn't during that iteration. By the end of the semester, every student will have had a chance to present.
At end of project: 
  • Short (2-3 minute) screencast showing a demo of the project as delivered after 4th iteration. Here are two examples from previous projects: Nurse Vacation Scheduler and Pet Foster Home Finder. We recommend posting on YouTube.
  • During Dead Week, your team will display a poster and provide informal demo of your work (we'll provide templates/instructions) at a poster session attended by your customers, friends, CS faculty and students, VCs/recruiters, etc.
  • A brief "exit interview" with customer giving their impression of how things went

Info For Clients

Every project must have an external customer.

Students will complete a course project in teams of six. Grading will be shared among all members (i.e. the project gets a grade, not each student separately), but we will solicit continuous feedback on each team member's contributions and effort, and that can contribute substantially to each student's overall course grade.

See screencasts, code repos, screenshots, demos, etc. of previous course projects to get an idea of what we're looking for.

This excellent blog post summarizes why we like working with nonprofits (though we didn't write it!).

Got a project that might be a good fit for our course?  
  1. Check the FAQ to make sure it meets our criteria (on which we must be firm, to keep the course running smoothly)
  2. If so, signup via Blueprint to add your project to the candidate list!

What kinds of projects are acceptable?

The following are the only non-negotiable requirements for an eligible project:
  1. Must have an external customer (i.e. not you, or your startup, or your friend's startup).
  2. Bulk of the design/implementation must be a server-side (SaaS) app, which will be written in Rails. Front end can be browser/HTML5, mobile app, or whatever, but bulk of grading will concentrate and reward effort on back end.
  3. Your code need not have an open license—you own it and you can license it however you want—but for pedagogical purposes it must be publicly accessible on GitHub during the class. (If you're working with a nonprofit, we encourage and ask you to give it an open license so your customer can continue to use it after you've moved on.)
  4. The scope must be appropriate for a 6-person team working for 8-10 weeks. Prof. Fox and the GSIs can help you scope it. Projects that are too large will be subdivided into separate communicating services, so that no team is larger than 6.
  5. Instructors and GSIs will not sign NDAs (legally, cannot bind UC Berkeley) related to class projects.
  6. All project team members must be students registered for credit in the class.
Project intellectual property considerations

If you are thinking of working on a project that may have future commercial applications (or pitching one that does), please bear in mind the following:
  • According to UCB policy, intellectual property created by undergraduates belongs solely to them.
  • According to class policy, project prototypes will be open-access on GitHub during the class, but need not carry an open license.
  • According to class policy, no NDA's will cover any aspect of a class project.  All aspects of the project—ideas, storyboards, source code, test cases, GUI screenshots, code reviews—will be publicly viewable and accessible throughout the end of the class. What students choose to do with those products after the end of the class is solely up to them.
UC Berkeley Intellectual Property Rights

The trademarks (i.e., name, logos, indicia, landmarks, slogans, etc.) and copyrights (i.e. written content on the University's website) of the University of California, Berkeley, its intellectual property (IP), are owned by The Regents of the University of California (The Regents). Limited (for the duration of the course only)  and royalty-free use of the Regents' IP has been granted to developers in CS169 solely for the purposes of demonstrating the functionality of their application.  No other use of The Regents' IP is permitted without an agreement signed by an authorized representative of the University of California, Berkeley. Please contact the Office of Marketing & Business Outreach ( to obtain permission.