Show HN: Tutor, a self-hosted LLM tutor that teaches you your books or docs Developer Demetrius Edelin released Tutor, a self-hosted LLM tutoring application that ingests EPUB, PDF, or online books and documentation to build a concept map and teach subjects one concept at a time. Tutor requires Node.js 22 or later and an API key from Anthropic, OpenAI, or OpenRouter, with setup via git clone, npm install, and npm run ingest, then npm start at http://localhost:3000. The tool tracks concept status as known, learning, or mastered and lets users select which concepts to test, learn, or skip. See also my other project, Tapas Habit & Goal Tracker https://tapastracker.app , a full-featured habit tracker for iPhone and Android. Also, I am looking for a full-time role as a software developer. Contact me on LinkedIn https://www.linkedin.com/in/demetrius-edelin/ . A personal tutor that teaches you from your books or from online documentation. You make a subject of study, for example "SQL", and add books to it. A book can be an EPUB file, a PDF file, an online book, or online documentation. The tutor finds the concepts in the books and checks which concepts you know. Then it teaches the other concepts one at a time, with references to the books, and tests each one. The tutor runs on your computer. It uses one large language model LLM from Anthropic, OpenAI, or OpenRouter. You select the model. | Concept map | Lesson | Test | |---|---|---| A chat with a book answers the questions that you think of. The tutor turns your books into a course: - Structure. The tutor puts the concepts of a subject into modules on a concept map. It teaches them one at a time, from a study queue. - All the concepts. Ingest finds the concepts in each chapter. Then it makes sure that the concepts cover the bold and italic terms of the book. - Visible progress. The concept map and the review board show the status of each concept, for example known, learning, or mastered. - Your control. You select the concepts to test, to learn, and to skip. You also set the order of the study queue. The tutor only suggests. You need Node.js 22 or later and an API key for Anthropic, OpenAI, or OpenRouter. We test the tutor on macOS. git clone https://github.com/demetrius-edelin/tutor.git cd tutor npm install cp .env.example .env then set the provider, the model, and the API key npm run llm:check optional: send 3 small test requests to the model npm run ingest -- SQL /path/to/book.epub add a book to the subject "SQL" npm run fetch -- https://doc.rust-lang.org/book/ optional: download an online book into an EPUB file npm start then open http://localhost:3000 In the Windows command prompt, use copy instead of cp . The ingest command shows the number of model requests and asks before it starts. To start with some chapters of the book only, see Step 3 of the usage guide https://github.com/demetrius-edelin/tutor/blob/master/docs/usage.md step-3-add-a-book-to-a-subject . You use the tutor in four steps. Steps 1 to 3 are commands in the terminal. Step 4 is the app in the browser. php flowchart LR S1 "1. Set up