← Back to Work

KnotEmployee

CH Studios · Knot Platform · iOS

iOS — TestFlight SwiftUI Knot Platform
2 User Roles
RT Live Sync
APNs Push Delivery
4 Deployments

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

Manager Home
Team View
Messages
Employee Home
Open Shifts

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.