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.

Love the nitty-gritty details? Here's how we got here

Love the nitty-gritty details? Here's how we got here

Love the nitty-gritty details? Here's how we got here

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.

Let’s build software that will eat up the world?