Cory McKinnon|Sycle Appointment Create
Sycle platform interface

Case Study

From Calendar-First to Patient-First Scheduling

Rethinking how appointment creation works in complex clinical systems

Appointment creation in clinical software is typically calendar-first. Users search for time before they think about the patient. This exploration proposes a system-driven, patient-first model where users express intent and constraints first, and the system finds valid time options.

I designed and prototyped this concept to explore how scheduling could become more intelligent, scalable, and aligned with how people actually work.

Explore the prototype

Role

Lead Product Designer

Team

Leadership

Timeline

2025

Model

SAAS, Health

Tools

Figma, Windsurf (AI-native prototyping), Next.js (demo app)

CONTEXT

Time is a constraint, not the goal

In many clinical systems, appointment creation starts with the calendar. Staff search visually for an open slot, apply filters, scan availability, then attach a patient to the selected time.

This model assumes that time is the primary object. In reality, the primary object is the patient and their needs. The calendar is a constraint, not the goal.

This mismatch creates friction, cognitive load, and inefficiency, especially in environments where staff are responding to incoming calls or in-person requests, appointments vary in length and requirements, and availability depends on multiple overlapping systems and rules.

I wanted to explore what would happen if we inverted the model.

THE PROBLEM

Searching for Time Comes Before Understanding the Patient

Appointment creation begins with scanning the calendar instead of understanding who the patient is and what they need. This reverses the natural workflow of front-desk staff and pushes complexity onto people rather than the system. The software becomes a passive display of availability instead of an active participant in solving the scheduling problem.

HYPOTHESIS

If users start with intent, the system can do the searching

Instead of asking users to find time, we can ask them to express constraints like appointment type and length, patient availability preferences, preferred staff member, and required room or equipment.

The system can then search across availability, rules, and constraints to present valid time options. The user becomes a decision-maker, not a scanner.

EXISTING FLOW

Calendar-first, human-driven scanning

In the calendar-first model, the flow begins with empty time rather than with the patient. Staff visually scan availability, adjust filters to narrow the search, and mentally track possible options while switching context to find the patient and confirm whether the selected slot actually fits their needs and constraints. What should be a matching problem becomes a memory and coordination problem. As appointment types, rules, and resource dependencies grow, the workflow becomes increasingly fragile.

Existing Appointment Creation Flow

Human work

  • Scan availability
  • Adjust filters to narrow options
  • Track patient times in working memory
  • Switch between calendar and patient contexts
  • Validate constraints only after selecting a time

System role

  • Display available time blocks
  • Offer basic filtering controls
  • Passive display of availability

PROPOSED FLOW

Patient-first, system-driven matching

Instead of starting with the calendar, the flow begins with the patient. Staff search for or open the patient profile, then initiate appointment creation in that context. They describe the appointment’s intent and constraints such as type, length, preferences, and required resources. The system then searches across availability and rules to identify valid time options, presents a small set of ranked recommendations, and the user selects and confirms the best fit with the patient.

Proposed Appointment Creation Flow

Human work

  • Identify the patient and start the flow
  • Express intent and constraints
  • Review and compare options
  • Confirm with patient

System role

  • Interpret intent and constraints
  • Search availability, rules, and resources
  • Rank and present options
  • Attribute and update the calendar

PROCESS

AI-native prototyping to explore system behavior

I used Windsurf with structured prompts to generate a clickable prototype quickly. This allowed me to explore interaction patterns without heavy engineering involvement, iterate on flow structure and language rapidly, and focus on system behavior rather than visual polish.

The prototype simulated patient-first initiation, constraint-driven input, system-generated time options, and calendar attribution after confirmation.

I also built a lightweight demo app to make the concept tangible and easy to share.

Ai-native prototyping

SOLUTION

System-driven scheduling that starts with the patient

The solution reframes appointment creation as a matching problem: staff define the intent and constraints, and the system does the heavy lifting to surface valid options. This reduces scanning, prevents conflicts, and makes scheduling more consistent as rules and resources grow.

Explore the prototype

1 - Patient scheduling overview

Begin in the patient context to review recent activity and current bookings before acting.

Patient scheduling overview

2 - Annotations feature

Each page has an annotations feature to assist designers, developer and product managers when refining the design .

Annotations feature

3 - Review recommended options

The system evaluates availability and rules, then returns a small ranked set of valid times to choose from.

Recommended appointment options

4 - Confirm and attribute to calendar

Selecting an option creates the appointment, attributes it to the correct calendar block, and confirms success.

Calendar attribution and confirmation

VALIDATION

Shared with stakeholders, received positive feedback and healthy caution

I presented the concept and prototype to product and leadership stakeholders. The feedback was positive, particularly around the clarity of the mental model shift, the reduction of manual scanning and guesswork, and the alignment with long-term system scalability.

At the same time, there was healthy caution. This represents a fundamental shift in how users think about scheduling. It touches workflows, habits, training, and expectations across the organization.

This is not a small change.

REFLECTIONS

Shifting system responsibility changes mental models

This project changed how I think about workflow design in complex systems.

System role problems

Many UX problems are actually system role problems.

Mental model change

Shifting responsibility from humans to software often requires changing mental models, not just interfaces.

Adoption is the hardest part

The hardest part of innovation is not design or technology, but adoption.

This concept points toward a future where software does more of the heavy lifting, allowing humans to focus on judgment, conversation, and care. It is aspirational, but it is also realistic about the cost of change.

NEXT

Status and next steps

This concept is not currently on the roadmap.

It exists as a validated idea, a working prototype, and a shared reference point for future discussions.

If and when scheduling is revisited at a system level, this exploration provides a foundation for thinking differently about what scheduling can be.

Explore the prototype

Working on something ambitious?

I'd love to hear what you're building. Feel free to send me a note.