NitroAI

Turn any lecture, PDF, or video into notes, flashcards & quizzes

How to install NitroAI

Every step written out, for people who have never opened a terminal. Pick the setup you have.

NitroAI

Turn any lecture, PDF, or video into study notes, flashcards, quizzes, and a study chat — free, and private by default.

How it works

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.

Two ways to run the AI

You pick one on first launch (and can switch any time in Settings):

  • Fully local — when you choose this, NitroAI automatically downloads and starts a local AI runtime (Ollama) and pulls a small, capable model (~2 GB, one time). Everything then runs on your device: no key, no cloud, no cost. Provisioning only ever happens if you pick local — cloud users never download a model.
  • Bring your own key — paste an OpenAI (sk-…) or Anthropic (sk-ant-…) key for the highest-quality notes, quizzes, chat, and podcast voices. The key is stored in your OS keychain and used only to call your provider directly.

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.

Signing your own builds

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):

SecretWhat it is
CSC_LINKYour Developer ID Application cert, exported from Keychain as a .p12, then base64-encoded: base64 -i cert.p12 | pbcopy
CSC_KEY_PASSWORDThe password you set when exporting the .p12
APPLE_IDYour Apple ID email
APPLE_APP_SPECIFIC_PASSWORDAn app-specific password for that Apple ID (not your login password)
APPLE_TEAM_IDYour 10-character Team ID (Apple Developer → Membership)

Windows (optional — needs an Authenticode code-signing certificate):

SecretWhat it is
WIN_CSC_LINKYour code-signing cert as a base64-encoded .pfx
WIN_CSC_KEY_PASSWORDThe .pfx password

Then cut a release: git tag v0.1.3 && git push --tags. That's it — nothing else to configure.

Tech

React 19 · Vite · Tailwind · Electron shell · Ollama (local) · OpenAI / Anthropic (cloud) · KaTeX · FSRS spaced repetition. No backend, no telemetry, no account.

License

AGPL-3.0-or-later. Fork it, ship it, improve it — just keep it open.