01
Next.js 14 App Router with authenticated (app) shell, marketing pages, public /book/[slug], and client-portal routes
Scheduling · Small service businesses2026
A multi-teacher operations and booking product — appointments, clients, public booking pages, reminders, and a client portal.

Overview
ServiceOS (public repo: TheServiceOS) is built for independent instructors and small service businesses that schedule lessons or visits. It replaces spreadsheet-and-WhatsApp chaos with one place for calendar, clients, booking requests, branded public booking links, and reminders — Hebrew-first and RTL-ready.
Our role: Product design and full-stack SaaS delivery — App Router architecture, Supabase data model, auth sessions, booking flows, reminders, client portal, and launch-ready marketing shell.
Business challenge
Small service businesses — driving schools, clinics, and similar verticals — often run scheduling over phone calls, spreadsheets, and WhatsApp threads. Availability is hard to publish, booking requests lack a clear approval path, and reminders fall through the cracks.
Give teachers and staff one authenticated operations shell for appointments, clients, and availability — while end customers book through a public slug URL without logging in.
Hard parts of the problem
Solution
We built ServiceOS as a Next.js App Router product on Supabase: public booking via /book/[slug], staff approval of booking requests into appointments, availability and blocked dates for slot generation, in-app notifications, WhatsApp-oriented reminders, optional email via Resend, Stripe integration points, a client portal, and PWA/offline support.
Architecture
01
Next.js 14 App Router with authenticated (app) shell, marketing pages, public /book/[slug], and client-portal routes
02
Supabase as the data layer — anon browser client plus service-role admin on the server
03
Session cookies validated against a sessions/teachers model for staff auth
04
Slot generation from availability settings and blocked dates
05
Reminder and messaging hooks (WhatsApp helpers, optional Twilio, optional OpenAI reminder drafts)
06
Stripe libraries for payment integration points; Resend for transactional email
Technology stack
Screenshots



Development process
Defined the product around teacher operations and customer public booking — not a generic CRM
Modeled appointments, clients, teachers, availability, and booking approval in Supabase
Shipped the public booking flow and staff approve/reject path first
Added reminders, notifications, analytics dashboard widgets, and client-portal auth
Hardened auth/session edge cases and prepared Vercel deployment with env-based secrets
Lessons learned
Work shown is product and systems engineering — outcomes vary by scope and constraints.
Strategy
Share the bottleneck in your business. We’ll map a comparable first phase — written scope, weekly demos, no invented promises.
More product builds