KnotEmployee
CH Studios · Knot Platform · iOS
Overview
KnotEmployee is the workforce management layer of the Knot Platform — a dual-surface iOS app serving both managers and employees at small businesses. The manager surface handles scheduling, labor cost reporting, shift approvals, and direct messaging. The employee surface handles clock-in/out, shift pickup, time-off requests, and push notifications. Both are HTTP clients against the same Supabase backend powering the customer website, admin dashboard, and POS — so a schedule change or clock-in event updates the same database the owner sees in real time.
The Problem
Small business workforce management runs on group texts, paper schedules, and manual clock-in sheets. Apps like 7shifts and Homebase charge per employee per month and operate as separate systems disconnected from the ordering and inventory data. KnotEmployee is built directly into the Knot Platform — labor cost, schedule, and order volume share one source of truth.
Two Surfaces, One App
Manager
- Drag-and-drop weekly schedule builder
- Labor cost reports by day and week
- Shift swap and time-off approvals
- Team directory and direct messaging
- Clock-in status board — live across all devices
- Push notification broadcasts to all staff
Employee
- View and manage assigned shifts
- Clock in and out with break tracking
- Request shift swaps and open shift pickup
- Submit time-off with PTO balance visibility
- Direct messaging with manager and team
- Real-time push notifications for schedule changes
Screenshots





Technical Highlights
Supabase Realtime
Clock-in status and schedule updates propagate live across all connected manager devices without a refresh. A manager sees an employee clock in the moment it happens.
APNs via Deno Edge Function
Push notifications fire from a Deno Edge Function triggered by Supabase database events — decoupled from the Express server so a backend outage can't silently drop mobile notifications.
@Observable Architecture
KnotEmployee uses Swift's @Observable macro instead of ObservableObject for finer-grained view updates. Only views that depend on a changed property re-render — critical when one Realtime event touches the full schedule state.
Multi-Tenant by Design
Every query is scoped to a tenant_id. The same app binary serves every Knot Platform deployment — onboarding a new business is one row, not a new build.
KnotTheme Design System
A custom SwiftUI theme layer allows per-tenant visual identities. BakeryCoTheme swaps colors and fonts at the root — the underlying components and navigation are shared across all deployments.
Shift Swap Approval Flow
Shift swap requests move through a state machine in Supabase — pending, approved, rejected. A database trigger fires the APNs notification the moment a manager approves, without polling.
Outcome
- Replaces 7shifts and Homebase — no per-employee monthly fee, no separate login, no disconnected system.
- Live across all devices — Supabase Realtime means the schedule and clock-in board update instantly for every manager on the floor.
- One backend — labor cost and order volume share the same database. A busy Saturday shows up in both the schedule and the revenue report.
- Multi-tenant and TestFlight-ready — currently in TestFlight, targeting App Store submission.