Turn any lecture, PDF, or video into notes, flashcards & quizzes
AI: local or publik API
Your study set
Ready12
Notes
36
Cards
10
Quiz
Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.
| Model | Quality | Per 1,000 uses |
|---|---|---|
| On your computer (Ollama, 4-bit download size) | ||
| Granite 4.2 3B2.2 GB | 9 | $0 |
| Phi-4 Mini2.5 GB | 6 | $0 |
| Llama 3.1 8B4.9 GB | 7 | $0 |
| gpt-oss 20B14 GB | 9 | $0 |
| Gemma 4 31B20 GB | 19* | $0 |
| Qwen3.5 35B-A3B24 GB | 19* | $0 |
| publik API | ||
| publik-fastGLM-5.3 Flash | 42 | $1.00 |
| publik-balancedMiMo-V2.6-Pro · NitroAI | 46 | $10.00 |
| publik-smartGPT-6 Sol | 48 | $18.00 |
Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.
Every step written out. No terminal experience needed. Pick your setup.
Turn any lecture, PDF, or video into study notes, flashcards, quizzes, and a study chat — free, and private by default.
NitroAI is a small desktop shell around a local web app. When you open it, the app starts a tiny local server on your machine, shows it in a window, keeps it alive, and shuts it down when you quit. That local server is what does the things a plain web page can't — extracting YouTube transcripts with yt-dlp and managing the local AI runtime — so you never install those tools by hand.
You pick one on first launch (and can switch any time in Settings):
~/Library/Application Support/publik/apps/nitroai.json (mac) / %LOCALAPPDATA%\publik\apps\nitroai.json (Windows), readable only by you, and never leaves the app's local server. Builds without a publik app token (forks, npm run app without PUBLIK_APP_TOKEN) simply don't offer this option.sk-…), Anthropic (sk-ant-…) or publik (pk_…) key for the highest-quality notes, quizzes, chat, and podcast voices. The key is stored only on this computer and used only to call your provider directly. A key you enter yourself is never overwritten by the publik setup.Your notes and generated content live only on your machine (in the app's local database); you can export everything from Settings at any time.
By default the release workflow produces ad-hoc-signed builds — valid, but not notarized, so users get a one-time OS warning. If you have signing certificates, add them as GitHub repo secrets (Settings → Secrets and variables → Actions) and every tagged build is automatically signed and notarized — installers then open with no warning at all. No code changes needed; the build detects the secrets.
macOS (needs a paid Apple Developer account and a Developer ID Application certificate):
| Secret | What it is |
|---|---|
CSC_LINK | Your Developer ID Application cert, exported from Keychain as a .p12, then base64-encoded: base64 -i cert.p12 | pbcopy |
CSC_KEY_PASSWORD | The password you set when exporting the .p12 |
APPLE_ID | Your Apple ID email |
APPLE_APP_SPECIFIC_PASSWORD | An app-specific password for that Apple ID (not your login password) |
APPLE_TEAM_ID | Your 10-character Team ID (Apple Developer → Membership) |
Windows (optional — needs an Authenticode code-signing certificate):
| Secret | What it is |
|---|---|
WIN_CSC_LINK | Your code-signing cert as a base64-encoded .pfx |
WIN_CSC_KEY_PASSWORD | The .pfx password |
publik API (optional — makes publik the default engine in your build):
| Secret | What it is |
|---|---|
PUBLIK_APP_TOKEN | The pat_… app token publik issues for this app. Baked into the build (extraMetadata.publik.appToken); without it the build offers only Local and your own key. It identifies the build, not the user, and publik rate-limits what it can mint. |
Then cut a release: git tag v0.1.3 && git push --tags. That's it — nothing else to configure.
React 19 · Vite · Tailwind · Electron shell · publik API (default) · Ollama (local) · OpenAI / Anthropic (your own key) · KaTeX · FSRS spaced repetition. No backend of its own, no telemetry, no account required.
AGPL-3.0-or-later. Fork it, ship it, improve it — just keep it open.