Projects Spring 2025

Note:  * means a greenfield (brand new) app; others are existing apps.

Berkeley Reentry Student Program

This program targets adult/nontraditional students re-entering Berkeley after a long absence. They have a study space in MLK and want a mobile+cloud app that allows students to "check in" to the space (they need to collect this info in order to get funding from the University and external sources) and allows admins to retrieve reports of who used the space when, and for students to make appointments with counselors/advisors (possibly by external Google Calendar/bCal integration). They want a "one tap" mobile app with its own home screen icon that students use Calnet login to authenticate to, similar to the Berkeley Mobile app. Contact: Cris Gomez, Julio Gomez, Reentry Student Program.

BJC Teacher Tracker

The CS10 "Beauty and Joy of Computing" curriculum developed by Prof. Dan Garcia and others is also used in hundreds of high schools around the US. This app tracks which teachers are using it and provides a bunch of supporting features to teach this material in HS classrooms. It's in active use, and needed improvements include the ability to upload BJC solutions files, pre-populate a database of high schools from external lists/sources, and more. Contact: Prof. Michael Ball.

Flextensions

Flextensions makes it easy for students to request no-penalty homework extensions in various EECS classes by submitting a Google form and getting either automatic approval or being approved after talking to a TA. The Flextensions project aims to streamline both the collection of this info from students and the automatic updating of homework-submission sites (e.g. bCourses, Gradescope) to reflect the new deadline for that student. The basic API framework was built in the previous CS169L offering; in this offering you'd focus on enhancing the instructor-facing and student-facing UI to allow courses and assignments in bCourses/Gradescope to be "linked" to Flextensions. This project has visibility at the level of the Vice Provost for Undergraduate Education, who would like to see this machinery deployed campuswide. Contact: either Prof. Michael Ball or Connor Bernard, UC Berkeley.

* Lamorinda Spirit Van

Spirit Van is a paratransit service run by the City of Lafayette for those unable to drive their own cars but needing transportation to medical appointments, shopping, and so on. Riders call a central service desk to reserve a ride. Scheduling is done manually and driving is done by volunteers, but currently it's all done with spreadsheets. This app would track the contact info for riders including contact, demographic info (for grant reporting), mobility devices/notes/issues (vision impairment, dementia, do they take especially long to get from house to van), and so on. It would track drivers, shifts, and vehicles: manual reservations assign each ride to a driver & vehicle. Ideally, drivers could access this info while on the road. After each ride, the driver could note the destination, arrival time, whether multiple stops were made, roundtrip vs one way, how long the rider needs to be at each stop, etc., and whether fare was collected (very simple fare structure, with exemptions for low income riders, "Cafe Costa" discount rides with lunch, etc). The app does not need to collect payments or perform scheduling. The app would also facilitate running reports, which are used for grantwriting: number of trips done each month, rider demographics, etc. Contact: Riki Juster, Director, Lamorinda Spirit Van. 

* Study Group Matcher

Prof. Gireeja Ranade and graduate student Manooshree Patel have developed a system that automatically creates informal study groups in large courses. The specific problem is that sometimes students either lack the peer network to self-form study groups, or prefer not to be the only "singleton" in their group (the only person of a certain gender, the only person of a certain ethnicity, etc.) Existing code is designed to be run from a command line, ingest a spreadsheet of student info (populated from a Google Form), and produce a spreadsheet of proposed groups. The logic is all in Python and would be containerized and have a SaaS front end where instructors would set up the "form" for a class (which subset of questions to use, out of a fixed set of 15-20), students would answer the form questions directly, the logic would run as a background job (it can take minutes), and instructors and students could see the results. Contact: Manooshree Patel (PhD student), UC Berkeley.

Snap!Con

Snap!Con is an annual conference for instructors using Snap! in their classrooms. Snap!Con manages all aspects of organizing the conference, and needed improvements include various enhancements to the overall UI and allowing conference attendees to build an interactive calendar-based schedule and to support customizable dates/times for conference events. Client contact: Prof. Michael Ball and others.

* Actor1st: Audition Management

Running auditions for a live theater performance is a complex process involving multiple rounds, commenting on candidates, mapping candidates to possible roles, and so forth. Actors should be able to upload multiple versions of their résumé and headshot and decide which one(s) to submit to a given audition. Creative team members (director, choreographer, etc.) should be able to view materials and make both private comments on auditioners as well as comments that can be seen by other creative team. There would be a way for creative team to propose tentative mappings of auditioners to roles. In general, the target audience are not technically sophisticated, so a frictionless UI is important. Contact: Prof. Armando Fox, who besides being CS faculty is also a Music Director who would be a primary user of the app.