Skip to content
ZK
ZAIN KHALIL KHAN
PORTFOLIO
All Projects
Interactive full-stack buildFlagship case study

Employee Scheduling & Team Management System

Teams need to balance availability, coverage, shift changes, and permissions without relying on disconnected spreadsheets and messages.

Interactive preview
Full demo

Scheduling

Workforce coverage control

SchedulingWorkspace2 updates
ShiftOpsWORKFORCE CONTROL

WEEK 42 · CHICAGO OPERATIONS

Coverage without guesswork.

Manager view: click any cell to open the roster and assign or unassign staff. Understaffed shifts flash red; approve claimed swaps and the grid updates live.

Shifts

21

Fully staffed

14

Understaffed

7

ShiftMonTueWedThuFriSatSun

Morning

needs 3 · 6h

Afternoon

needs 3 · 6h

Night

needs 2 · 8h

ManagerServerCookgreen = staffedred = understaffed
Shift Swap Requests2 pending

Jordan gives up Wed Morning to Maya

Doctor appointment Wed morning

Sam gives up Fri Night

Class conflict Friday night

Scheduled hoursovertime past 40h
Alex
40h
Devon
40h
Jordan
42h · OT
Priya
42h · OT
Maya
46h · OT
Sam
66h · OT
Chris
42h · OT
Zain Khalil Khan

My Role

Full-stack and workflow engineer

What I Built

Comprehensive scheduling platform with real-time updates, shift swapping, and role-based access. Flask + React web app paired with React Native + Firebase mobile app, boosting team coordination by 30%.

Evidence

Working interface, documented system behavior, and implementation-level decisions.

Technical Architecture

From system input to explainable output.

The control gate is shown as a first-class stage, not an afterthought added around the workflow.

Five stages connect inputs to processing, security controls, stored state, and user output.SYSTEM FLOW / EMPLOYEE SCHEDULING & TEAM MANAGEMENT SYSTEMTRACEABLE PIPELINE01INPUTSAvailability & shiftsVERIFIED STAGE02PROCESSINGConstraint schedulerVERIFIED STAGE03SECURITY CONTROLSRBAC & auditCONTROL GATE04STORAGE / STATERoster databaseVERIFIED STAGE05USER OUTPUTCoverage & swapsVERIFIED STAGEINPUT TO OUTCOME / EVIDENCE PRESERVED

Technical Decisions

  • Built a Flask REST API and React web client backed by a shared scheduling model, so the same shift data drives both the manager view and the employee view without duplicate logic.
  • Implemented role-based access so managers publish and approve while employees only see and act on their own shifts, checked on the server rather than hidden in the UI.
  • Designed a shift-swap workflow with request, counter-party acceptance, and manager approval states, preventing the double-booking that manual swaps caused.

Security Considerations

  • Implemented role-based access so managers publish and approve while employees only see and act on their own shifts, checked on the server rather than hidden in the UI.

Outcome & Evidence

  • Added real-time propagation over Firebase listeners so a published change reaches every device without a refresh.
  • Reduced schedule coordination overhead by roughly 30% measured against the manual process it replaced.
FlaskReactReact NativeFirebaseFull Stack

Working product

Try the interactive demo.

The product experience is part of this case study. Explore it here, reset its state, or switch viewport sizes without leaving the project page.

Scheduling

Workforce coverage control

SchedulingWorkspace2 updates
ShiftOpsWORKFORCE CONTROL

WEEK 42 · CHICAGO OPERATIONS

Coverage without guesswork.

Manager view: click any cell to open the roster and assign or unassign staff. Understaffed shifts flash red; approve claimed swaps and the grid updates live.

Shifts

21

Fully staffed

14

Understaffed

7

ShiftMonTueWedThuFriSatSun

Morning

needs 3 · 6h

Afternoon

needs 3 · 6h

Night

needs 2 · 8h

ManagerServerCookgreen = staffedred = understaffed
Shift Swap Requests2 pending

Jordan gives up Wed Morning to Maya

Doctor appointment Wed morning

Sam gives up Fri Night

Class conflict Friday night

Scheduled hoursovertime past 40h
Alex
40h
Devon
40h
Jordan
42h · OT
Priya
42h · OT
Maya
46h · OT
Sam
66h · OT
Chris
42h · OT
Zain Khalil Khan

Next Case Study

InterviewAI

Read Next Case Study