
An AI "Student Operating System" for South African students — study planning, NSFAS budgeting, wellness and careers around an AI chief-of-staff, Nova.
View the product pageThe problem
Brilliant students arrive at university without the tutor/advisor/mentor networks privileged students take for granted — and must operate on prepaid budget Android devices, expensive data, and Stage-8 load shedding. VarsityOS is built as resilient, low-data, offline-capable infrastructure for that student.
Architecture
Standard CRUD writes go client→Supabase with RLS as the auth boundary; AI paths route through rate-limited /api handlers. Service role is used only in the PayFast ITN webhook.
~90%
AI cost saved (caching)
~40%
smaller JS bundle (RSC)
~1.8s
LCP on weak devices
75
users
Stack
AI
Nova runs on Anthropic Claude Sonnet 4.5 with two-block prompt caching and crisis detection before every call.
Data model
22 tables · RLS on all 22 · 29 indexes
Key decisions
The hard parts, solved
detectCrisis runs on every message before any API call; a SADAG/LifeLine response is prepended regardless of tier or remaining quota.
A server-side counter resets if nova_messages_reset_at is in a prior calendar month — checked before the tier cap, so no scheduled job is needed.
Workbox precaches the app shell + last pages; an IndexedDB queue replays pending writes on reconnect.
Sourced from campus-compass — BUILD_JOURNEY_VARSITYOS, TECHNICAL_README, VARSITYOS_SCHEMA_AUDIT.
.jpg&w=3840&q=75)