top of page

Optometry Scheduling App
OD Shift

We launched a marketplace app to connect optometrists with clinics for daily shifts. I'm solving a current critical, unaddressed industry pain point that I faced back when I was working as a full time optometrist. 

My role: Leading design and product management, working with a team of software developers.

Current stage: We launched the app and have a growing base of active optometrists and clinics successfully using it to match for shifts. I'm currently focusing on user testing to improve the current experience, outreach for user acquisition, and prioritization of V2 features based on user research, analytics, and business goals. 

mocks with shadow.png

Project context

I led the design and development for OD Shift, a responsive web and mobile app to solve a real problem that I faced back when I was working as a full time optometrist. OD Shift allows clinics to post available open shifts in need of a doctor, and optometrists can find and schedule shifts at different opticals within the New York area. New York city has the biggest ecosystem of opticals and clinics for eye care in the country, where optometrists can pick up fill-in shifts around the city. The process for scheduling these shifts is very manual and inefficient, and there is currently no app to facilitate this.

Problem statement

The searching and scheduling process for optometrists looking for day shifts in New York City is very manual and inefficient causing wasted time, extra effort to stay organized, and overall frustration with this archaic process in this technologically advanced state of the world. 

Research

User interviews

I interviewed 5 optometrists and 3 practice owners and found common pain-points across both user groups. These are some direct quotes from the interviews.

Optometrists:

Frame 3.png

Practice Owners:

Frame 2.png

User pain points

​I was able to gather these common pain-points from my user interviews:

 

  • Job postings from the list serv sometimes don’t offer complete information as they are just written blurbs and are not standardized. 

  • Emails come in at random intervals and with repeated listings.

  • Status is not updated on listings. Optometrists waste time contacting opticals to find out the listing has been filled, and practice owners waste time manually contacting optometrists updates.

  • Optometrists and practice owners must manually keep track of their shifts on personal calendars or by other methods

  • It's hard to keep organized between the email list-serve, communication via texting or email, and personal calendar management.

Competitive analysis

There are no optometry specific applications on the market, so I found traveling nurse apps, and other scheduling apps for doctors. From these apps I was able to pull inspiration for user flows surrounding filtering, display of information, and visual design.

Ideation

User flows

I then mapped out different user flows for certain tasks. Here are a few of them:

Sign up flow:

Sign up - user flow.png

Requesting a fill-in opportunity from the map page:

map.png

Requesting a fill-in opportunity from the calendar page:

Sketches

I started sketching out the user flows. Here are some examples of sketches:

new sketches.png

Taking a step back

  • After sketching out the user flows, I realized that I was over complicating the app, especially for MVP. I had a lot of features that I wanted to add and wanted it to be a complete app instead of adding features iteratively and doing research and testing to validate my designs. I needed to take a step back, list out all the features and figure out priorities.

  • I looked back at my user interviews to determine which features were a must have, and which were a nice to have for MVP. Looking at the sketches and original user flows, it was clear to me that the functionalities for the map page and calendar page were redundant. From the user interviews I deduced that booking through the map by looking at nearby locations was more important to the users.

Feature prioritization

features.png
image.png

I simplified the calendar flow:

Old calendar flow

New calendar flow

Group 8.png

Design

Mid-fi mocks

I mocked up the flows in mid-fi version to do some basic user testing before moving to visual design.

Owner's sign up flow (partial shown)

setupflow.png

Home page and filters (partial shown)

homepage.png

Visual Design MVP

Initial mobile designs

I initially started designing for mobile when OD Shift was just a product idea. After validating the product's value and need with my target market audience, we decided to dive into the venture. We then strategically began building the infrastructure for the desktop web app first to test with users. The mobile designs, while not final, will serve as a framework for the future mobile version, ensuring cohesion with the desktop version's color scheme and the ANT design system framework.

mocks with shadow.png

Desktop designs

I designed a responsive desktop version for MVP with only the initial essential features using the ANT design system to ensure faster development. With initial design work completed, I collaborated closely with engineering, leveraging LLMs to help code React components and edit CSS within the repository. We developed the MVP so I could do initial user testing and get feedback on the designs before launch. 

Figma designs

4.0.1.png
Frame 224.png

User Testing & Iterations

Through user testing and analytics, I identified 2 key areas to improve in the onboarding flow:  

Onboarding flow task to completion time decreased by 35%, which in turn increased account onboarding completion rate by 15%.

userflow.png

1. Org creation

We had clinics create a parent organization so if they owned multiple clinics, they could add them under one business.
This data structure made the most sense to us for the backend organization, however user testing with clinic owners quickly proved this part of the onboarding experience to be very confusing.

Original design

All users were confused about what an Org was and what it meant to create or join an Org.

Org creation modal.png

Iteration 1

We added a tooltip to explain what an Org is and how to create or join an Org. Users were still confused. 

Org creation modal + info.png

Final solution:

We decided to remove the create an org flow all together, and had clinics go straight to creating their clinics. Once a user creates one clinic an org is automatically created for them in the backend data. Once they create more clinics under their account, those clinics are automatically grouped under their org. Upon further user testing, this solved roadblock 1.

2. Clinic creation

Original design

Users must input clinic hours and doctor pay at the clinic level, which would auto populate when creating shifts. Users got confused on what to input when different days had different hours and pay, and couldn't continue to create the clinic.

pay.png

Solution

Allowing this step to be optional at the clinic creation level, and allowing the user to add/edit hours and pay at the shift level solved roadblock 2 upon further user testing.

pay optional.png

Doctor accepted for shift complete workflow loop increased by 60%

We noticed that we would have doctors that were still in the pending phase and had not been accepted yet. The shift would pass without the clinic accepting the doctor. After emailing the clinic abnd/or doctor asking why the doc wasnt accepted for the shift, we had many clinics state that their usual sub doctor was able to cover that shift, but they communicated with the doc that applied on OD Shift and will consider them for future shifts.
We noticed that our users were unable to complete the workflow loop. We added a button "Mark scheduled externally", which increased our complete workflow loop rate by 60%

Original design

Frame 327.png
Frame 325.png

Solution: "Mark scheduled externally" button

Frame 326.png
Frame 328.png

Challenges and business considerations

1.  High demand for shifts, not enough doctors

Clinic/doctor retention rate:

Goal:                              Actual:
Clinics: 50%                  Clinics: 80%
Doctors: 50%                Doctors: 20%

The clinics clearly see value in the app and keep coming back to post shifts as seen by the 80% retention rate. These are live screengrabs from the app. There are on average 60 - 80+ open shifts within the next 3 months. We need to onboard more optometrists to fill the demand for shifts. We only have a 20% doctors retention rate. My hypothesis is that there aren't as many doctors that don't work full time that have open days to pick up shifts. We need to onboard a way higher proportion of doctors to be able to fill the shift demand.

Mobile.png
Desktop_edited.png

2. Lack of robust analytics

Shift matching goals:

Goal:                              Actual:
50 matches                   28 matches

Our shift matching goals haven't been met. We hypothesize that some clinics are contacting doctors from OD Shift and not going through the app to book and schedule.

Potential solutions:

  • Integrate external calendars into OD Shift so that users can continue to user their current calendar but on the OD Shift platform.

  • Add the in-app chat feature to keep users on the platform vs exiting to communicate.

3. Pricing model 

We were originally thinking about a SaaS pricing model for clinics, but many clinics have full time optometrists that would only need a shift covered here and there when their doc is sick or goes on vacation.​

Potential solutions:

  • Change to pay per post model with ads.

  • Include a part time/permanent job board in addition to daily shifts

bottom of page