














Role
Product Manager
Time
08/2019 - 12/2021
Team
2 PMs, 4 designer, 12 developers
On the large and hilly Cornell campus, CULift serves as a paratransit program accessible to students with disabilities. Under Cornell Design & Tech Initiative, an engineering project team, Carriage is a ride scheduling system for CULift providing 2 mobile apps and 1 website for riders, drivers, and administrators.
I established Carriage as a product manager in Fall 2019, and over the past two years, I led team meetings, learned user pain points, coordinated cross-functional collaboration, bridged with stakeholders, and gradually became a product owner. With a team of 18 members, development of all platforms has been completed, and Carriage is going to launch in fall 2021. I am so proud to deliver such a socially impactful solution to the Cornell community.
The Problem
Cornell is not an easy campus to navigate with its steep hills and sprawling student residential area. CULift as an accessibility solution serves approximately 300 students with documented disabilities via 1100+ monthly rides. However, the technical platform supporting CULift has been outdated, resulting in a poor user experience on both sides.
​
Carriage aims to build mobile and web platforms to improve the experience and efficiency of scheduling, executing, and monitoring CULift rides for all parties, thus improving Cornell’s accessibility for students with disabilities.
User Research
From 5 interviews with students - including riders with both short and long term illness, 2 interviews with drivers, 3 interviews with administrators and dispatchers, we learned about user stories and pain points, including:
-
Riders want to easily request rides on mobile and know ride status
-
Drivers want to easily read their schedules while driving and directly contact the riders
-
Driver-side dispatchers want to efficiently schedule rides by quickly assigning rides to available drivers
-
Rider-side administrators want to track ride metrics and control program access
​
Based on the interview results, I developed the Product Requirements Documents for Carriage, and the team started designing and coding from there.

Product Management
Defined feature sets
A scheduling system involving 4 platforms is complicated in features. Along with my co-PM, I set priorities for each requirement based on its level of pain we collected from user research. Also considering our development capacity, we defined feature sets for different product versions.
-
MVP includes core functionalities such as requesting and scheduling rides, actions from pick-up to drop-off, and edit ride information.
-
V1 contains more enriched features including viewing driver’s location on map, scheduling recurring rides, onboarding tutorials, in-app calling and texting, as well as accessibility features.
-
V2 features, such as automated routing and real-time scheduling, are planned for future implementation.
​
Created prototypes
I drew out the product UX flow for each of our platforms in order to make the logic clear to every team member. Meanwhile, comments and edits were continuously welcomed by anyone who noticed issues or had suggestions.
For example, for the rider app, I first marked what components on the Home page were clickable and where each of them would direct to. Then the request ride flow explained how riders would put down their locations, date and time, recurrence information, and be able to review their request. More UX flow prototypes can be found on Figma.

Planned project roadmaps
All team members work part-time on the project team with a lot of effort to balance coursework and project tasks, so it’s important to plan ahead effectively. High-level plan draws a timeline by semester and marks milestones by role. It is also updated by the end of every semester to show visualize how har far we have achieved. Detailed plans are made at the beginning of every semester to give an overview of bi-weekly sprint goals.


Team Operations
Effective communication
Coordinating through effective communication is a big part of product manager’s role. Having 2-4 designers and 8-10 developers to work with, I organized meetings to keep everyone engaged. When Carriage just started, we only have weekly 2-hour work sessions to recap what had been done, assign what to be done, discuss open issues, and work together. However, soon we realized filling everything in one long meeting was not the best way to use our time. Thus, we later decided to hold bi-weekly standups which were 20-30 minute to review progress from last sprint and assign tasks for next sprint. The weekly work sessions were still in place but saved for our own to work together.
During COVID, Carriage work switched fully online with members in different parts of the world. We rescheduled all of our events to accommodate time zone issues with everyone showing incredible flexibility. To facilitate online collaboration, we better utilized Slack for quick questions and instant feedback, and for the weeks that we didn’t have standups, everyone posted a brief mid-sprint check to sync on progress. Standups were held through Zoom so that we can see each other, discuss open issues, and share screen to give demos. Work sessions were through Gather Town so that we could interactively work together in small groups by walking around virtually. I also organized virtual team socials where we played Codenames, Among Us, Skribbl, and more to improve team bonding.

Task management
To make task assignment clear and keep track of progress, I used charts and boards that are available to all members to manage logs. Goals identified in semester plans were put in requirement pool and assigned to members at each sprint standup. Status of tasks would be changed when a member finished working and when the PMs or TPM confirmed completion.
I found Kanban boards, such as Trello and Notion, helpful in keeping everyone on the same page, because to-dos and progress were well-organized and transparent.


Bridging between Our Team and Stakeholders
As a key stakeholder, CULift needs to approve Carriage upon its completion of functionality, accessibility, and security. I conducted user testing with 1 rider, 1 driver, and 2 admins to check usability and collect feedback.
A CULift dispatcher walked us through how she would use our admin website to assign drivers to requested rides and manage user access. When service was running short of drivers, the dispatcher wanted to know the purposes of rides to help her prioritize in scheduling. Accordingly, our website designers added a column in the ride management sheet indicating ride purposes by clear symbols. Upon many usability testing feedback, our design was improved and finalized.


After every meeting with our CULift stakeholders, I passed key messages back to the team, raising morale when recognition received and giving directions when improvements suggested.
​
In spring 2021, we have received the greenlight from CULift! We are currently in talks with university IT departments to resolve devops issues before a fall 2021 launch.