Back to projects

Flagship product

ScheduleLoop

Workforce forecasting and staff-planning for small businesses.

React 19Vite 7Firebase AuthenticationCloud FirestoreReact RouterRecharts
ScheduleLoop dashboard showing demand and staffing recommendations across the day.
Problem

Small businesses can struggle to match staffing levels to changing demand, especially when planning around quiet days, busy periods, events, and role-specific cover.

Solution

ScheduleLoop gives managers a guided setup, demand-aware dashboard, role-level staffing view, CSV upload flow, backtesting, and labour-cost estimates in one system.

Overview

ScheduleLoop is my main product project: a realistic SaaS-style application for small-business staff planning. The current MVP focuses on authentication, onboarding, stored business profiles, charts, CSV parsing, and manager-friendly staffing guidance.

The Problem

Small businesses often have to plan staff around demand patterns that are hard to read from memory alone. A cafe, gym, or restaurant may need different staffing levels by hour, by role, and by day context.

The Approach

The app collects business assumptions during onboarding, lets managers upload historical demand data, and turns that information into a dashboard that shows expected staffing need across the day.

Forecasting And Shape Of Day

The Shape of Day concept turns demand into a simple visual pattern across opening hours. Calendar context such as normal, quiet, busy, and event-style days applies conservative rule-based adjustments before demand is converted into staff requirements.

Architecture And Technology

The public repository verifies React 19, Vite 7, Firebase Authentication, Cloud Firestore, React Router, Recharts, ESLint, and a custom Node-based test runner. Firestore stores business profiles under the signed-in user's UID.

Engineering Decisions

I kept the forecasting model intentionally simple for the MVP and focused on reliable input handling, clear manager-facing recommendations, and protecting local/sample data from sensitive production details.

What I Learned

This project pushed me beyond tutorial-style work into product decisions: shaping onboarding, handling uncertain CSV input, thinking about data ownership, and presenting technical output in a way a non-technical manager could actually use.

Future Improvements

The README notes that future versions could learn business-specific context effects and integrate external signals such as weather, holidays, school terms, payday, or local events.