Mastery OS is a single-file learning operating system that runs entirely in your browser. No build steps. No backend. No npm install. Just open the HTML file and start learning.
It combines four science-backed learning tools into one place:
| Tool | What It Does |
|---|---|
| Blueprint | Define exactly what you're learning and how you'll prove you learned it |
| Curriculum | Break your goal into modules, track completion, interleave with shuffle |
| Feynman AI | Explain concepts in your own words — Gemini calls out your gaps ruthlessly |
| Recall Vault | SM-2 spaced repetition flashcards that actually schedule your reviews |
Plus a Pomodoro timer with streak tracking that persists across sessions.
This is the part I'm most proud of. Same data, same features — completely different vibe.
Clean. Rounded. macOS-energy. Glassmorphism panels and blue accents. If you like things pretty and intuitive, this is your home.
Terminal aesthetic. CRT scanline overlay. Square-wave keystroke sounds on every keypress. A cinematic boot sequence. Built-in terminal emulator. File paths as navigation. Green-on-black everything. It feels like you're hacking into your own brain.
Paper and ink. Serif typography. Minimal borders. No visual noise. Designed for one thing — deep focus. Every pixel exists to get out of your way.
Your data is shared across all three. Switch anytime from Settings. Your flashcards, curriculum, and goals follow you.
# 1. Clone or download the HTML file
git clone https://github.com/HackerO112/Structured-learning.git
# 2. Open it. That's it.
open index.html # macOS
xdg-open index.html # linux
start index.html # windowsNo server needed. localStorage handles all persistence.
The AI feature uses Google's Gemini 1.5 Flash. It's free-tier friendly.
- Go to Google AI Studio
- Generate an API key
- Open Mastery OS → Settings → Paste the key
- Start explaining concepts and get called out on your BS
Without an API key, everything else works perfectly. Only the Feynman chat requires it.
The flashcard system implements the SuperMemo SM-2 algorithm — the same one Anki uses:
After each review, you grade yourself:
1 → Again → Reset to day 1
3 → Hard → Small interval increase
5 → Easy → Full interval increase (× ease factor)
Cards sort by next review date. Due cards show first.
Your ease factor adjusts based on performance. Struggle too much and intervals shrink. Recall effortlessly and they stretch.
MasteryOS/
└── index.html ← the entire app. yes, really.
Single file. ~500 lines of HTML/CSS/JS. No frameworks. No build tools. No node_modules black hole.
I'm a 4th semester IT student. I understand code conceptually — I know what a function does, what an API is, how state works. But sitting down and writing it from scratch? That's where I hit a wall.
So I use GLM and Gemini Pro 3.1 to write code for me. And I'm not hiding it.
Here's what I actually did:
- Designed the entire UX — the three-edition concept, the layout, the flow
- Understood every system (SM-2 algorithm, Pomodoro logic, Gemini API integration)
- Decided what features matter and what doesn't
- Tested, iterated, and refined the output
- Wrote this README myself
Here's what AI did:
- Translated my ideas into syntax
- Handled the CSS gymnastics (flip cards, CRT effects, theme switching)
- Wrote the DOM manipulation logic
- Caught edge cases I'd have spent hours debugging
If you want to call this "not real code" — fair enough. But the product is real. The system design is real. And honestly? This approach is faster than most people think. Way faster.
I'm open to every improvement. If you see messy code, refactor it. If you see a missing feature, add it. If you think the SM-2 implementation is wrong, fix it. I'll learn from your PR.
- Export/import data as JSON (so you don't lose everything clearing cookies)
- Custom Pomodoro durations (currently hardcoded to 25 min)
- Dark mode for Standard edition
- Keyboard shortcuts (the Hacker edition has Alt+1-4 partially wired)
- Statistics dashboard (cards reviewed, accuracy trend, study hours)
- Markdown support in Feynman responses
- PWA support — install it as an app on your phone
- Sound toggle for Hacker mode (some people hate the keystrokes lol)
I'm genuinely new to open source. But I know the rules:
- Fork the repo
- Branch off
main(git checkout -b feature/your-thing) - Commit with clear messages
- PR with a short description of what changed
Don't ask permission. If it makes the app better, I'll merge it.
| Aspect | Implementation |
|---|---|
| Styling | Tailwind CSS via CDN + custom CSS for animations and theme-specific styles |
| Fonts | Inter (Standard), Fira Code (Hacker), Merriweather (Zen) |
| State | localStorage — single JSON object with goals, curriculum, flashcards, pomodoro data |
| AI | Gemini 1.5 Flash via REST API, streaming simulation with token-by-token DOM injection |
| Audio | Web Audio API — oscillator-based square wave at 400-600Hz, 40ms decay |
| Spaced Repetition | SM-2 algorithm with ease factor floor at 1.3 |
| Animations | CSS transform: rotateY(180deg) for flip cards, @keyframes for fade-ins |
| Theme Switching | Class-based — hacker-theme, normal-theme, zen-theme on <body> |
MIT — do whatever you want with it. Learn from it, break it, rebuild it better.
built by a student who asked AI the right questions
if this helped you study even once, it was worth making.