PROFESSIONAL WORK · Reporting & operations
Scheduling data workspace
Turns repeated vendor scheduling exports into a calendar, shift search, and change review backed by one consolidated database.
BuiltProductionDocumented October 5, 2026
My contribution
Designed and implemented ingestion, the calendar interface, admin upload, reporting, and production hardening.
Tools
Python · Streamlit · Supabase · CSV ingestion
How it works
- Preview a vendor scheduling export with date, status, and row summaries.
- Skip an identical prior file or upsert shifts by source and source-shift identity.
- Record the ingestion outcome and refresh the database-backed views.
- Explore week/month calendars, filtered shift lists, recent changes, and CSV exports.
Decisions that mattered
Work with the source that exists
The vendor did not offer a supported scheduling API. The live path uses a deliberate manual export and upload, with visible freshness.
A refresh should not multiply shifts
Stable source identities support updates and cancellations without inserting another copy every time the export repeats a row.
Progress is part of reliability
SHA-based preview reuse, duplicate-file detection, import progress, and timing metrics make large uploads understandable.
Separate when work happens from when it changes
Shift dates and last-modified dates answer different questions. Both are available for operational review.
Results
By October 2, 2026, 21 imports had processed 415,040 source rows into 21,169 consolidated shifts (source rows include repeated snapshots). October 5 notes confirm memory hardening in production.
Scope & limits
One vendor source is live. More sources and writing changes back to the scheduling system are outside the delivered scope.