Shifts
Designing a Scheduling and Attendance Platform for High-Volume, Policy-Driven Organizations
Role
Product Designer
Timeline
July - ongoing
Team involved
1 Designer, 1 PM, 2 Engineers
Overview
Shifts is a comprehensive platform built to manage employee schedules, shift assignments, attendance tracking, and time-based penalties across organizations operating with simple to complex workforce structures.
Shifts was designed to handle deep operational rules**, such as:
Multi-location shift planning
Policy-driven shift change approvals
Open shift eligibility and signup windows
Cross-day and overlapping shift logic
Fine-grained time log analysis for payroll and penalization
Modern shift management isn’t just about creating a calendar. It’s about rules, permissions, approvals, and resilience.
With Shifts, we set out to build an end-to-end system for organizations to plan, assign, and track shift-based work across stores, teams, and timezones — while accounting for operational complexity, human behavior, and compliance.
Segments & Jobs
Shifts are further divided into Segments — smaller time blocks within a shift that may carry different job roles.
Each Segment has:
- Start & End Time (bounded within the shift)
- Assigned Job Codes (e.g., Waiter, Cleaner)
- Color (mapped based on job code via the Schedule’s configuration)
Every shift must have at least one segment, even if no job code is assigned. Segments allow assigning nuanced responsibilities within a shift
e.g., a “Chef” for the first hour and a “Server” for the next two.
Patterns
Patterns
Patterns are for **automating repetitive shift creation**. Key properties include:
- Start Date and optional End Date
- Rotation logic: “Every 2 weeks,” “Every 4 days,” etc.
- Anchor date (e.g. Monday as start of pattern)
- Assigned Employees
When a pattern is updated, the system deletes and recreates all **unmodified future shifts** based on the pattern — making it efficient to revise without losing overrides.
Shift Changes: Swaps, Drops, and Covers
Shift changes are governed by policy and approval logic:
Shift Cover
- An employee can request someone else to cover their shift.
- Multiple employees can be nominated.
- First person to accept + admin approval gets it.
Shift Swap
- An employee can swap their shift with another eligible shift.
- Only mutually eligible swaps are allowed.
- Again, requires both employee acceptance and admin approval.
Shift Drop
- An employee can request to drop their shift.
- Upon approval, the shift becomes open
Each change is linked to policies that define approval chains, visibility, and scheduling rules.
Open Shifts & Policies
Open shifts are unassigned shifts that eligible employees can sign up for
Key mechanics:
- Number of positions available (e.g., 3 open slots)
- Sign-up start and end times (e.g., from publish date to 2 hours before shift)
- Eligibility logic (e.g., no overlap, no overtime if disallowed)
- Group Key: multiple open shifts can be edited in bulk
Once claimed, an open shift becomes an assigned shift. If dropped again, it becomes a standalone open shift (not part of original group).
Attendance & Time Logging
Every employee clock-in and clock-out creates a Time Log.
Each log captures:
- Clock-in / Clock-out timestamps
- Break in / out timestamps (linked to shift breaks)
- Source metadata (web, mobile, biometric, geolocation)
- Job code
- Shift ID and Original Shift ID (to handle dropped shifts)
Core Invariants:
- No future time logs allowed
- One time log per shift
- Logs can be linked to a shift or remain unscheduled
- Breaks must fall within shift timings
Admins can edit, regularize, or soft-delete logs, and employees can submit regularization requests for missing or incorrect logs.
Penalties, Overtime & Self-Heal Logic
Penalties
- Based on late clock-ins, missing logs, or insufficient hours.
- Can deduct from leave balances (e.g., Casual > Earned > Loss of Pay).
- Policies can use either **gross** or **effective** hours as the denominator.
The system supports retroactive recalculation of penalties via self-heal triggers — such as editing a time log or approving a leave.
Overtime
- Calculated at the end of each day
- Rounded to nearest hour (≥ 30 mins = 1hr)
- Stored per employee per day
- Differentiates between raw minutes and approved/rounded overtime
Admin tools & Reporting
Admins can access:
- Shift calendars by schedule
- Detailed timesheets and punch logs
- Penalty records with actions taken
- All shift change requests
- Audit trail of every time log or shift assignment
Each schedule also maintains default policies, such as shift approval groups or attendance rules — ensuring consistency across multiple schedules.
Mobile Experience
Employees on mobile can:
- View their upcoming shifts
- Claim open shifts
- Submit swap/drop requests
- Clock in/out with location or device fingerprint
- View penalties and attendance records
- Regularize logs directly from their calendar
Shifts wasn’t just a redesign of scheduling—it was a rethinking of how frontline time, policy, and accountability should work in real-world environments. From factories running 24/7 lines to tech teams balancing weekend support, we saw that everyone was fighting the same invisible enemy: fragmented tools that didn’t talk to each other, policies buried in PDFs, and shift logic that couldn’t scale.
By anchoring everything inside a Schedule, linking every punch to policy, and making rules transparent—not brittle—we built a platform that could flex to 20 shifts or 20,000.
The real success? We gave managers back hours of sanity, gave employees visibility into their work lives, and gave operations teams a system they don’t have to babysit.
And we’re just getting started—with compliance packs, incentives, and predictive staffing coming next, Shifts is becoming not just a scheduling tool, but a true time infrastructure layer for the modern workforce.