TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
Chat with your PDFs, notes and web pages with cited answers, and turn them into reports, flashcards, quizzes and mind maps. Use your own API key or local models.
EducationTypeScript · MDXGitHub @better-vaultOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Open-source NotebookLM alternative. Chat with your sources with citations, and turn them into reports, flashcards, quizzes, mind maps and slide decks, with your own OpenAI, Anthropic or Gemini key or local Ollama / LM Studio models. Local-first, no account.
Taken from the repository README
Loading the full README.
Read the full README ↗An open-source, bring-your-own-model alternative to NotebookLM. Chat with your sources, and turn them into reports, flashcards, quizzes, tables and diagrams, using the AI model you choose.
Website · Get started · Docs · Roadmap
better-vault is a free, open-source alternative to Google NotebookLM (now Gemini Notebook). It is a research notebook: you add sources such as PDFs, web pages, notes and text files to a notebook, and work with them using the AI model you choose.
Chat with your sources and get answers that cite the passages they came from. Switch to Web mode to let the model search the internet with its provider's built-in search.
Create study material in the Studio: reports, flashcards, quizzes, data tables, mind maps, slide decks, infographics and Anatomy figures, each with a dialog of options much like NotebookLM's. A whiteboard in the style of Excalidraw is there for your own diagrams, or for drawing over a figure or an infographic.
Choose your model from OpenAI, Anthropic and Google with your own key, or run a local model through Ollama or LM Studio. Nothing is locked to one vendor.
Keep your data on your device. The web app stores everything in your browser's IndexedDB, and the desktop app for macOS, Windows and Linux keeps it in a SQLite file on your computer. There is no account and no server database, and your keys only leave your device to reach the model you picked.
| Studio tool | What you get | Download as |
|---|---|---|
| Reports | Briefing doc, study guide, blog post, your own format, or a format suggested for your sources; read as a document with a table of contents and citations | Word, Markdown |
| Flashcards | Flip cards with keyboard shortcuts, shuffle and "knew it / still learning" tallies | Word, CSV (Anki) |
| Quiz | Multiple-choice questions with hints, explanations and a score | Word, Markdown |
| Data table | Facts from your sources in rows and columns | Excel, CSV |
| Mind map | An interactive tree like NotebookLM's: open branches, click a topic to ask about it in the chat. Plus 11 more diagram kinds (flowchart, timeline, cause and effect, …) drawn with Pele | PNG, SVG, Mermaid |
| Slide deck | A presentation from your sources: a detailed deck to read, or a presenter deck with speaker notes. Present it full screen | PowerPoint, PDF |
| Infographic | A one-page picture drawn by your provider's image model (OpenAI GPT Image or Google Gemini), from a cited brief written from your sources | PNG, original image |
| Anatomy | An interactive isometric figure of a real object whose working explains your sources, drawn with Anatomy's kit: point at a part to read what it does, step through how it works, take it apart | PNG, SVG |
| Whiteboard | A blank board with Excalidraw's tools and shortcuts: shapes, arrows, pen, text and pictures, in a hand-drawn style. Annotate opens a mind map, Anatomy figure or infographic on a board to draw over it. No model needed | PNG, SVG, JSON |
Audio and video overviews are out of scope.
Download the installer for macOS, Windows or Linux from better-vault.dev/download or the latest release, install it and open it. It updates itself when a new version comes out. The desktop docs cover installing and moving your notebooks over.
Requirements: Node.js 20.9 or newer, with npm 10 (included with Node.js).
git clone https://github.com/better-vault/better-vault.git
cd better-vault
npm install
npm run dev
Open http://localhost:3000, then Settings → AI providers and paste an API key, or point it at a local model. No .env file is needed.
npm run build
npm start
ollama pull llama3.2).http://localhost:11434 for Ollama, http://localhost:1234 for LM Studio).Local models work when better-vault runs on the same machine as the model server. Web search is only available with providers that have it built in (OpenAI, Anthropic, Google).
Notebooks, sources, chats, Studio outputs and API keys stay on your device: in your browser's IndexedDB in the web app, or in better-vault.sqlite in the app's data folder in the desktop app. Settings → Data exports and imports notebooks as a JSON file, which also moves them between the two.
Each request sends your key to the app's own API route, which passes it to the provider and never stores or logs it. If you host better-vault for other people, they use their own keys in their own browsers.
Two optional environment variables tighten a public deployment:
| Variable | Default | Effect |
|---|---|---|
BETTER_VAULT_ALLOW_LOCAL_PROVIDERS | true | Set to false to turn off Ollama and LM Studio, whose address comes from the user and would make the server fetch it. |
BETTER_VAULT_ALLOW_PRIVATE_URLS | false | Set to true to let web-page sources point at private or local network addresses (only for trusted, private installs). |
Next.js 16 · Vercel AI SDK 7 · Panel UI · shadcn/ui · Pele · Hugeicons · i18next · Dexie · Electron · Tailwind CSS 4
Contributions are welcome, from typo fixes to new Studio tools. Please read CONTRIBUTING.md first. In short:
feat/…, fix/…, docs/…).npm run lint && npm run typecheck && npm test && npm run i18n:check && npm run build
If your change touches the server, storage or anything else the desktop app depends on, run the checks in desktop/ too (see CONTRIBUTING.md).Contributors and AI coding agents should also read AGENTS.md, which explains the project's concepts and rules.
The UI is fully translatable with i18next. English is the source language. To add a language:
locales/en/ to locales/<code>/ (for example locales/fr/) and translate the values, not the keys.lib/i18n/resources.ts.lib/i18n/config.ts, with dir: "rtl" for right-to-left scripts.npm run i18n:check to find missing or extra keys, then open a pull request.Found a bug or have an idea? Open an issue and pick a template:
A bug report asks what happened, the steps to reproduce it, your browser or desktop system, and the provider and model you used. A feature request asks for the problem you want solved and how you imagine it working. The translation template is for offering or requesting a new language.
Please search existing issues first, and never paste API keys into an issue. Security problems should be reported privately, as described in SECURITY.md.
MIT © 2026 the better-vault contributors. Third-party code keeps its own license (see LICENSE).