The academic operating system for university students.
Plan classes, deadlines, focus time, and exams in one calm workspace, instead of juggling five apps and a chaotic notes dump.
Try the beta · Privacy · Research playbook · App Store path · Design
University students don’t fail because they lack tools. They fail because their academic life is fragmented.
- Classes live in one calendar, deadlines in another, notes elsewhere, and “what should I do tonight?” is still a gut feeling.
- Generic to-do apps treat a midterm the same as a grocery list.
- Students rebuild the same fragile system every semester: Notion boards, Google Calendar, sticky reminders, group chats.
Outcome of the chaos: missed deadlines, last-minute cramming, and zero visibility on whether the week is actually under control.
StudentOS is a student-first planner that behaves like an academic OS, not another generic productivity app.
| Job to be done | What StudentOS does |
|---|---|
| “What’s important today?” | Home surfaces weekly progress, streak, and recommended tasks |
| “Where is my semester?” | Classes, exams, vacations, and calendar in one place |
| “Help me actually study” | Focus timer / stopwatch with music, plus Ask AI study coach |
| “Don’t make me manage another password” | School-email beta join with one-time code (OTP) |
Value logic: reduce academic context-switching → make the next action obvious → protect deep work → keep the semester visible.
- Primary: full-time university students managing courses, assignments, and exams
- Secondary: early product testers validating whether a dedicated academic OS beats Notion + Calendar + Notes
Not built for corporate task management or K–12 homework trackers.
| Criteria | Typical stack today | StudentOS |
|---|---|---|
| Academic context | DIY templates | Native (classes, exams, vacations, GPA) |
| Next action | Buried in boards | Recommended on Home |
| Focus | Separate apps | Built into the product loop |
| Onboarding friction | Accounts everywhere | School email + OTP for beta |
We are choosing depth for students over being a general productivity suite.
| Milestone | Status |
|---|---|
| Core planner MVP (classes, tasks, calendar, focus, profile) | Done |
| Cloud sync + auth API | Done |
| Ask AI study coach (server proxy) | Done (needs API keys in deploy) |
| Closed beta via school email OTP | Live |
| Native iOS (Expo Go today → TestFlight / App Store) | In progress |
| Calendar / music OAuth providers | Needs credentials |
Honest stage: closed beta. Validating that students will run their semester inside StudentOS before scaling distribution.
Live surfaces
| Surface | Link |
|---|---|
| API | https://studentos-api.vercel.app |
| Privacy | https://rayannsagnon.github.io/StudentOS/privacy.html |
| Optional web demo | https://studentos-mu.vercel.app |
| Design system | Visual DNA (Figma) |
Fastest path (recommended): Expo Go on iPhone
- Install Expo Go.
- From this repo:
npm installthennpm run start:go. - Scan the QR code in Expo Go.
- Join with your school email + verification code.
Google / Apple Sign-In need a native build (not Expo Go). Details: store/NATIVE.md.
Want to help research? Invite testers with store/BETA.md and ask them to send feedback from Profile → Beta feedback.
- Command center, weekly progress, streak, recommended work
- Academic objects, tasks, classes, exams, vacations
- Calendar, day / week / month, add + sync UI
- Focus, timer / stopwatch + music sheet
- Study coach, Ask AI chat for planning and study help
- Profile & insights, settings, analytics, GPA calculator
- Sync, local store + cloud API (JWT)
Visual DNA: canvas #0E0F12, accent #2F7BFF, Plus Jakarta Sans, floating dock + FAB.
For builders and reviewers, the product above is shipped with:
- React Native + Expo Router (SDK 54)
- TypeScript, Zustand, AsyncStorage
- Express API + SQLite (
server/) - EAS Build / Submit for TestFlight & App Store
- Node.js 20+
- npm
- Expo Go on iPhone for device testing
npm install
npm --prefix server installUses the live API (https://studentos-api.vercel.app) by default.
npm run start:goSame Wi‑Fi LAN (optional): npm start.
npm run serverAPI on http://localhost:3001. Copy server/.env.example → server/.env if needed.
Does not work inside Expo Go. Use email OTP there, or an EAS development / production build.
| Where you test | Google Cloud client type | Env var |
|---|---|---|
Browser (npm run web) |
Web application | EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID |
| iPhone (dev / store build) | iOS (com.studentos.app) |
EXPO_PUBLIC_GOOGLE_IOS_CLIENT_ID |
| Android build | Android | EXPO_PUBLIC_GOOGLE_ANDROID_CLIENT_ID |
Build a development client when you need social login on device: npm run eas:build:ios:dev.
npm run eas:build:ios # production IPA
npm run eas:submit:ios # App Store Connect / TestFlightFull checklist: store/NATIVE.md · store/APP_STORE.md · store/DEPLOY.md
npm run webExpo web: http://localhost:8082 · API: port 3001. Override API host with EXPO_PUBLIC_API_URL.
npm run typecheck
npm run typecheck:serverWhen SEED_DEMO is not false:
| Field | Value |
|---|---|
student@university.edu |
|
| Password | student |
Production images set SEED_DEMO=false. New signups start empty.
app/ # Expo Router screens and navigation
server/ # Express + SQLite API (auth, sync, coach)
src/
components/ # Shared UI (dock, page, primitives)
domain/ # Models, planner, study coach
services/ # API client, notifications, focus audio
store/ # Zustand state + persistence
theme/ # Visual DNA tokens + theme provider
utils/ # Dates, ids, layout, navigation
assets/ # Images and branding
screenshots/ # README / marketing captures
Please read CONTRIBUTING.md before opening a pull request.
MIT, see LICENSE.




