This is your personal operating system for four years of a dual master's. Not just a to-do list. A tool that captures, plans, focuses, records, and compounds. Here's how to use every piece of it.
Most productivity tools are built for tasks that last hours or days. Grad school is different. You're working against four-year arcs, multi-semester relationships with professors, readings that compound into a personal knowledge base, writing projects that span months. Your tool has to think at those timescales.
Study OS was built on four principles. Each one solves a specific failure mode of using generic tools for grad school.
When you open the app on a hard day, you should be two seconds away from knowing what to do. Not reading a list. Not choosing. Seeing. The Anchor + Pomodoro + Vital Signs + alert motion are all engineered to answer that question at a glance.
Every tool that forces structure upfront fails because you don't have structure when inputs arrive. Study OS lets you drop anything (PDF · screenshot · memo · voice note), then uses AI to convert it to structure at a time of your choosing. Capture is frictionless; organization is on-demand.
Every tool that stores your data in its own cloud eventually betrays you — you lose access, the product gets acquired, the schema changes. Study OS writes to flat JSON files in your Obsidian vault. Your data outlives the app. You can read it with anything, forever.
Every piece of data you enter should produce more value next semester than it did today. Reading annotations become flashcards become concept maps. Weekly intentions become historical patterns that inform next week's schedule. Grades accumulate into a real transcript. The system gets smarter the longer you use it.
Study OS is the system that turns four years of grad school inputs into four years of intellectual output, with the minimum possible friction between them.
Open the app → Settings → Enable Auto-Sync. A folder picker opens. Navigate to School/StudyOS/ in your vault and pick it.
From that moment on, every change in the app writes JSON files directly to your vault's data/ folder. Your vault is now the source of truth — localStorage is just a cache. You can wipe your browser and lose nothing.
Without this, one browser cache-clear erases weeks of data. With it, your data lives where the rest of your brain lives.
Still in Settings → Semester → Enter the start date (e.g. 2026-08-26) and label (e.g. "Fall 2026").
This powers the Weeks-to-Term stat and the Horizon timeline on your Dashboard.
Click Courses in the sidebar → + New Course. Add each class with code, program (MDes / MPA / AI), professor, schedule, grading breakdown, syllabus link.
Doing this once means every future assignment, reading, writing project can link back to a proper course record. Your grades, readings, and writing compound into real academic history.
There's a rhythm to this. Five steps. Once you know it, it's automatic.
Dashboard is the landing view. Scan the top 3 sections in this order:
10 seconds of scanning answers "what's the state of my world?"
Tap the Anchor (the big block at the top). Type what you're actually working on right now — not "paper," but "write the Buchanan intro paragraph." Pick program + urgency. Save.
Or: scroll to the Queues row, click the target-icon on any open item — assignment, reading, writing project — and it auto-fills the Anchor and scrolls you up to hit Start.
Press the big red START button on the black panel. The dual-arc ring begins sweeping, the colon blinks at 1Hz, the orbit dot starts its once-per-session journey.
Want total focus? Click the Ambient button — the entire rest of the UI fades to 8% opacity, leaving only your Focus and the Pomodoro visible. Press Esc to exit.
Break mode (5m or 15m) flips everything green — zero ambiguity about which phase you're in.
When a stray thought hits mid-session — a task you need to remember, an email to send, a worry — click the floating Drop a thought pill at the bottom-right. Type it, Enter, back to work.
When the session ends, those thoughts flow automatically to the Intake tab for later triage.
The chime plays. A modal opens asking: how did that feel? Three buttons:
Pick one. It gets tagged on the session in your log and feeds the weekly generator so demanding work gets placed on your historically high-quality hours.
If your focus was linked to a queue item, the modal also offers: Mark Done · Next Task · Keep Going.
This is the centerpiece. Any syllabus PDF, screenshot, voice-note transcript, or Memo brain-dump becomes structured data in your Study OS.
Open Intake → drop a PDF or screenshot (PDF.js extracts text, Tesseract.js OCRs images).
Or click Load Note to pick your Memo.md directly.
Or just paste text into the Paste Text tab.
Click Generate & Copy Prompt. Paste into Claude. Copy JSON back. Paste into Paste JSON Response tab. Hit Apply.
In Cowork mode, say: "intake this syllabus" (attach the file) or "process my memo".
The study-intake skill reads the source, shows you a preview of what it would add, and writes directly to your vault JSON after your approval.
Reopen the app → Settings → Import from Vault → pick the folder to pull the new data into state.
Assignment = short single-deliverable task (quiz, discussion post, one-page reflection). Writing = substantial authored document needing drafting + revision (memo, essay, paper, brief, research paper). The intake prompt has explicit rules so Claude categorizes correctly.
Planner tab → review the 4 input tiles (deadlines next 14d / readings / writing / focus pattern).
Click Generate & Copy. Prompt includes everything on your plate + your historical peak focus days.
Paste into Claude → get a 7-day schedule with rationales. Paste JSON back → Preview → Accept.
Your calendar and This Week view populate with color-coded blocks. Each block has a target-icon button — click it, the block becomes your Pomodoro focus.
A green nudge appears on your Dashboard Friday after 2pm. Click Open Review (or use the Review quick tool any day).
See your week: Pomodoros · hours focused · wins · drops · quality trend bar.
Answer the question at the bottom: what carries into next week? That answer becomes next week's Intention and feeds Sunday's generator.
Closes the loop: plan → do → reflect → refine.
From the Readings list, click the target-icon next to any reading → it becomes your Pomodoro focus. Or use ⌘ K and type the title.
When you mark a reading done, a confirm appears: "Annotate it now?" Yes opens the annotation modal.
Four fields: one-sentence argument · 3-5 key concepts · connections to other ideas · memorable quote.
Use the Copy Prompt button to have Claude extract these from the reading's text for you — saves you time, sharpens the result.
Still in the annotation modal, expand Generate flashcards from this reading. The prompt bakes in the reading's context + your annotation.
Paste to Claude → 6-10 cards back as JSON → paste into the field → Add Cards to Deck. Each card is tagged back to the reading.
Open Concept Map. Nodes are concepts from your annotations. Edges connect concepts that co-occur. Click any node → see the readings, related concepts, and flashcards that touch it.
By month two of a semester, this map is the most valuable study artifact you own.
Click any writing project title (or the pen-icon) → the Writing Workspace opens: 960px wide, 94vh tall, designed for actual drafting.
Markdown. Structure your argument in sections before you draft. Auto-saves every 500ms.
Mono font (line-length discipline), live word counter. Auto-saves. Shows last-edited timestamp in the header.
Eight program-aware prompt buttons under the editor: Unstick · Generate Outline · Sharpen Thesis · Review Draft · Fix Paragraph · Pre-Submission · Fact-Check · Tighten 50 Words. Each bakes your project's context (and sometimes the first 600 words of your draft) into the clipboard prompt. Paste into Claude for coaching on your actual document, not generic advice.
Unstick at blank page → Generate Outline → draft → Sharpen Thesis halfway → Review Draft when you have a rough draft → Fix Paragraph as needed → Pre-Submission before you turn it in. Each button is a phase.
Courses module. Add code, name, program, professor, schedule, grading breakdown, syllabus link, notes.
Accent color follows the program. Card shows live counts of linked tasks / readings / writing.
When you mark a course-linked assignment or writing project done, a grade modal auto-opens. Accepts: 95 (percent), A- (letter), 45/50 (fraction).
Optional weight field for weighted averages. Optional feedback note.
Course card shows running average as letter grade (big red) + percentage. Updates every time you add a grade.
By end of 4 years: your own complete academic record, auditable and survivable beyond any LMS.
Six steps, breathing banner. The top now reads your actual state — "X overdue, Y due today, Z high urgency." Step 4 auto-suggests the smallest first move. One click sends it to Focus.
During a Pomodoro, a floating "Drop a thought" pill. Type stray thoughts, they route to Intake after session. Protects flow without losing the thought.
Click Ambient in the Pomodoro panel. Everything except Focus + Pomodoro fades to 8% opacity. Esc exits. Single-focus UI for ADHD.
Trust the data, not your nervous system. The smart Protocol reads your actual pending items — if it says nothing is urgent, nothing is urgent. The spiral is in your body, not your calendar. Take a walk.
Every change writes a JSON file to your vault within 1.2s. Browser crashes = zero data loss. Chrome / Edge / Opera only.
If sync is off, the app gets increasingly insistent about exporting. Silent under 7d · gray after 7 · amber 14+ · red 30+.
Every destructive action (reset, weekly accept, intake apply, import) auto-saves a snapshot. ⌘ Z undoes. Settings → History restores any of the last 20.
Each loop feeds the next. Capture fills the queues, plan schedules them, do produces data, review digests it. The output of review becomes the input to next week's plan. That's the engine.
When you open Study OS on a bad day, you're two seconds away from "what do I do right now?" That's it. Everything else is supporting infrastructure for that one answer.
It's 9pm Sunday. You have 3 classes this week, 8 readings in queue, a policy memo due Friday. You're overwhelmed before the week starts.
The Study OS flow:
You went from panic to "I know exactly what I'm doing at 9am Tuesday" in under 5 minutes.
You're 12 minutes into a 25-min Pomodoro writing a reflection paper. Your brain suddenly surfaces: "I haven't emailed Dr. Patel about the extension, I need to do that, wait what was the deadline for the extension request, oh god I should just do it now..."
The old failure mode: break focus, open email, get stuck in inbox for 30 minutes, come back to the reflection paper with zero context.
The Study OS flow:
Flow state protected. Thoughts still captured. Work still done.
It's 11pm Thursday. You've been staring at your laptop for an hour. Every time you think of one task, two more pop into your head. You feel like you're behind on everything.
The Study OS flow:
You didn't solve everything. You solved one thing. That's what the protocol is for — converting "I can't" into "I did one."
A week out from the deadline. You have 3 readings on the topic queued.
The Study OS flow · day by day:
Six days of work, but every input (reading, flashcard, concept) fed the output. Nothing was wasted.
You get a 4-paragraph email with details about the final project.
The Study OS flow:
A 4-paragraph email turned into structured, actionable data across 3 modules in 90 seconds. Then deleted the email. Your vault has the signal.
Study OS is designed to compound. It's useful on day one but it becomes indispensable by year two because the data you entered in year one is doing work for you. Here's how it evolves.
The first 8-12 weeks are mostly capture. Every class gets a Course record. Every reading enters the queue. You start setting focus before every Pomodoro. You learn to rate sessions.
By end of semester 1: ~30 annotated readings, ~150 flashcards, one completed Weekly Review rhythm, clear focus pattern emerging.
What feels valuable: the Dashboard answering "what now," the Pomodoro + quality rating loop, the Intake pipeline.
The Weekly Generator now has real focus-pattern data from 14 weeks of sessions — schedules get sharper. The Concept Map has 60+ nodes showing visible intellectual clusters. You have a real running average per course.
By end of semester 2: 60+ annotated readings, 300+ flashcards, recurring "I remember I annotated that" moments when writing papers.
What feels valuable: the Concept Map for drafting papers, the Exam Prep module, the Friday Review → Sunday Planner loop.
You stop thinking about Study OS as a tool and start experiencing it as an extension of your brain. The habits are unconscious. Sunday planning takes 3 minutes. Intake is instant. You write papers from your own annotated library.
Milestones: 120+ readings, 600+ flashcards, 2 years of session quality data, a real academic record with grades.
What feels valuable: the whole system as an invisible layer. The GUIDE is no longer needed.
Thesis / capstone work benefits from everything: the Concept Map surfaces connections across 4 years of readings. The Writing Workspace hosts the thesis draft. Your grade history informs committee conversations. The weekly rhythm keeps you on pace.
At graduation: a complete personal academic record — every course, every reading summary, every paper draft, every flashcard, every concept, every grade. All in flat JSON files in your vault. It outlives the app.
What happens next: you keep using it. Or you don't. Either way, the vault data is yours forever.
Progress tab → Daily Note Bridge card. Auto-generates a markdown summary of today's work (Pomodoros · completed items · quality ratings · captured interruptions). Copy to clipboard and paste into today's Daily Note, or have the app write it directly to School/StudyOS/daily-notes/.
Intake tab → "Load Note" button. Pick your vault's Memo.md. The app reads it, runs it through Claude, and sorts it into assignments / readings / writing / milestones / flashcards. The Cowork skill can clean processed items out of Memo.md after approval.
Your Ecosystem.md can reference Study OS's JSON files directly — assignments due, weekly intention, sessions completed. When you run vault-sync or similar, it can read Study OS state alongside Gmail / Calendar.
Lives at .claude/skills/study-intake/SKILL.md. Say "intake this" in Cowork mode and it reads files from the intake folder, calls Claude, writes structured JSON to your vault. Bypasses the web paste round-trip entirely when you're at your desk.
The browser occasionally drops the File System Access permission — common after restart or extended idle. Settings → Vault Auto-Sync → if it says "Needs re-connect," click the Re-connect button. One tap restores it.
Press ⌘ K. Type a fragment of the title. Everything in your database is indexed — assignments, readings, writing projects, courses. Pick the result to jump or act on it.
Claude sometimes miscategorizes. The fix is in the prompt — open index.html, find buildIntakePrompt, and look at the Category Rules. The prompt already enforces the distinction, but you can tighten it further for your specific courses.
Tell me (Claude) what you see. Dark mode has a few places where a token might not have flipped correctly. The fix is usually a 1-line CSS override.
If Vault Auto-Sync was on, check School/StudyOS/data/ — the JSON files are there. Go to Settings → Import from Vault → Pick Vault Folder → restored. If sync was off, check your Downloads folder for recent studyos-*.json exports. If neither — the Version History (Settings → History) keeps the last 20 snapshots inside state itself, so if localStorage still has the studyos-v1 key, your snapshots might restore the previous state.
Browsers block audio until you interact with the page. The first time you click Start, the audio context unlocks. If it still doesn't play, check that Mute isn't on (the speaker icon in the Pomodoro header) — it persists across sessions.
Press ⌘ Z immediately — the auto-snapshot before weekly accept restores the previous state. Or Settings → History → find "before-weekly-accept" and click Restore.
It reads from reading annotations. If you haven't annotated readings yet, it'll show "No concepts yet." Annotate a few readings (mark done → confirm → fill in summary + concepts) and reopen the map.
Yes — the app is responsive and works in Safari / Chrome on iPhone. Once deployed to study.nabilrouissi.com, open it on your phone, tap Share → Add to Home Screen. It installs as a PWA with its own icon, opens full-screen, and works offline after first load. Some features (Vault Auto-Sync via File System Access API) are desktop-only — the app still works on mobile, you just fall back to manual export.
You can. The categories (MDes / MPA / AI) are fixed to your dual program, but nothing stops you from using "AI" for personal projects and repurposing the system. That said — it's optimized for school. For personal project management, other tools are better.
Not for the core functionality. Pomodoro, readings, assignments, writing, flashcards, courses, grades, session quality — all work without Claude. Claude is needed for: Intake (extracting from dropped files), Weekly Generator (building schedules), Layla (writing coaching), reading annotations, auto-flashcards, study plan generation. Those all use the copy-paste round-trip, so any Claude access (Pro, Team, API) works.
Everything except the AI-augmented flows keeps working. You can manually add assignments, readings, writing projects. You can run Pomodoros, take notes, do reviews. When Claude returns, intake processes a backlog quickly.
Settings → Reset Everything. Creates a snapshot before resetting so you can undo. You'd use this at the start of a new academic year to archive the previous year into a bundle backup.
Not directly — there's no multi-user or sharing layer. But you can export individual items (flashcard decks, reading lists) as JSON and share the files. Or export the Daily Note summaries and share those.
Sort of — but Vault Auto-Sync might not persist across incognito sessions (IndexedDB restrictions), and localStorage gets wiped when the incognito window closes. Not recommended for daily use.
If deployed to Netlify: push new code, auto-deploys, service worker picks up changes on next visit. If running locally: replace the file. Your data stays in the vault JSON files — completely independent of the app code.
Every JSON file starts with $schema: "studyos.MODULE.v1". When the app ever upgrades the schema, a migration runs on load, a backup is saved, and old files are preserved. You shouldn't need to think about this — but the schema version is visible if you ever edit the files directly in Obsidian.
The code is Origin v2-themed and branded for Nabil. If someone wanted their own copy, they'd fork the repo, swap the theme tokens, rename the app. The architecture is general-purpose.
Tell Claude. The system was designed iteratively — every feature in the current version came from a specific problem or friction point you identified. Don't hesitate to say "this is missing."