Every practice leaves a traceAnswer → assess mastery → keep improving
Real app · English questions and interface · Click to enlarge
Built for steady learning
Primary · Middle · High school Choose your AI provider Desktop · NAS · ServerPWA Opens like an app
A LITTLE MISTAKE. A BIG STEP FORWARD.
From "I got it wrong" to "I've got it".
Spend less time copying questions out by hand and more time actually understanding them.
01
Capture the mistake
Snap a photo, paste a screenshot or type the question. AI recognizes it and sorts out the answer, analysis and knowledge points. Each account can use a fixed grade for new questions or let AI recognize it.
Less busywork
02
See how it works
Review the cause of the mistake and the solution, with SVG animations that make abstract steps easy to follow.
More "aha" moments
03
Try a new one
Generate variant questions on the same knowledge point at the difficulty you choose, and check that you really understand.
From memorizing to mastering
04
Watch yourself improve
Every attempt is kept and mastery is tracked, so you can turn the questions that need work into an exam.
Focus your next review
THOUGHTFUL TOOLS, REAL UNDERSTANDING
More than collecting mistakes: it cares whether you learned.
From the details of one question to your whole web of knowledge, the tools you need for learning, in one place.
Solutions you can watch
Abstract steps, made clear at a glance.
AI turns the solution into a step-by-step SVG animation, in English or Chinese to match the interface. Starts only when you click Play; stays paused when opened. Turn on voice narration to watch and listen: the browser voice is free, cloud voices sound like a real person (paid; a plan is recommended); pause, seek and replay at your own pace.
✳ Practice beyond one question
Solve one, then solve them all.
Generate fill-in-the-blank or free-response questions on the same knowledge point, at the difficulty you choose, to strengthen old weak spots with new problems. Answers written the same way are marked correct right away; anything else is checked by AI against the reference answer, with a reason.
Original · Linear equations3x + 6 = 21This time, understand the properties of equality.
Same concept, new practice
Variant · A new angle5x − 8 = 27This time, solve it on your own.
Illustration · Sample questions
A place for every concept.
Knowledge points are organized by school stage, subject and chapter. AI tags questions automatically, and you can add your own tags. Edit a question’s grade and semester from its details or during import review. Admins can also import the PEP curriculum knowledge points in settings as an alternative tag system.
Math
Geometry
AnglesQuadrilaterals
Organize on screen, practice on paper.
Build exams by knowledge point and mastery. Include answers and analyses if you like, then print or save as PDF. Save a display scale and alignment (left/center/right) for figures in mistakes and exams, or adjust an entire exam at once.
My targeted practice
01 02 Source ID · find the original anytime
Let practice say whether you've got it.
Reviews are spaced 1, 2, 4, 7, 15 and 30 days apart, and Today's Review lists what is due; mastery is estimated from your actual answer history to find what's next.
×First mistake✓Variant practice✓Review
Based on answer history to guide your review
Several questions per photo Configurable duplicate detection LaTeX formulas Separate data per user Daily AI limit per user Free MiniMax accounts work
A CLOSER LOOK
See it in action.
Captured from the running app with English demo questions and sample study records. Pick a tab to see each step.
My notebook
Filter by knowledge point, grade, mastery and A/B paper to quickly find the questions you need to review.
Running app · English demo data
YOUR NOTEBOOK, YOUR SPACE
Keep your study data in your own space.
Desktop apps for Windows, macOS and Linux work out of the box; fnOS, npm and Docker run it on a NAS or server. Bring the AI provider you know and build your own notebook.
You own your data
The SQLite database stays on your machine. Export a backup and restore questions, practice records, exams and preferences.
Choose your AI provider
Works with a free MiniMax account: sign in to MiniMax Code, check in daily for credits, and AI features use free credits; MiniMax, Zhipu GLM, DeepSeek, Kimi, Qwen, StepFun, Volcengine (Agent Plan, Coding Plan and a free trial), Anthropic, Azure OpenAI, OpenAI, Gemini and compatible APIs are also supported.
Open it anytime
Install it as a PWA on your phone or tablet home screen; the standalone Android app needs no server and keeps data on the device.
# 1. Create data and config directories
mkdir -p wrong-notebook/data wrong-notebook/config
cd wrong-notebook
# 2. Pull and start; data stays in the mounted directories
docker run -d --name wrong-notebook \
--restart unless-stopped -p 3000:3000 \
-e NEXTAUTH_SECRET="$(openssl rand -hex 32)" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/config:/app/config" \
ghcr.io/margrop/wrong-notebook:latest
On first start, find the one-time setup link with docker logs wrong-notebook and open it to create the admin account
Server built in, just download and install; the admin setup page opens on first launch
WindowsInstaller WrongNotebook-Win-Setup-version-x64.exe, or the Portable build
macOSApple silicon -arm64.dmg, Intel -x64.dmg; the app is not signed by Apple. If it is reported as damaged or cannot be opened, move it to Applications, run the commands below in Terminal, then open it
Linux.AppImage and .deb for x86_64 / arm64
fnOSInstall Node.js v24 from the app center first, then install the x86 / arm .fpk manually and set the admin account in the install wizard; open port 39300 on your LAN
AndroidStandalone: phone -Android-Phone-version.apk, tablet -Android-Tablet-version.apk, with the server built in; client -Android-Client-Phone/Tablet-version.apk connects to your own server
Needs Node.js 22.15+, for servers or existing Node setups
npm install -g wrong-notebook
# Data is stored in ~/.wrong-notebook by default
wrong-notebook --port 3000
On first start the terminal prints a one-time setup link; open it to create the admin account
Needs Node.js 22+ and npm
git clone https://github.com/margrop/wrong-notebook.git
cd wrong-notebook
npm ci
cp .env.example .env
# Edit .env first: set NEXTAUTH_SECRET and AI settings# Initialize database, accounts and knowledge points
npx prisma migrate dev
npx prisma db seed
npx ts-node --compiler-options '{"module":"CommonJS"}' \
scripts/rebuild-system-tags.ts
npm run dev
Then open http://localhost:3000
On first start the terminal prints a one-time setup link; open it to choose the admin email and password, then the setup wizard helps you set up an AI provider and create your first notebook. Images are published at ghcr.io/margrop/wrong-notebook; pin a version with tags such as 2026.10.22. See the setup guide for upgrades, Docker Compose and data directories of each installer.
GOOD QUESTIONS
Before you start, you might wonder.
More questions? Join the discussion on GitHub or in our QQ group.
The project is free and open source under the MIT License, with source code, a Docker image, an npm package and installers for every platform to host yourself. AI features such as recognition and explanations need your own AI provider, which charges for usage; official MiniMax, Zhipu GLM, DeepSeek, Kimi, Qwen, StepFun and Volcengine channels (Volcengine gives new users a free quota) are built in, you can sign in to MiniMax Code with a free MiniMax account in the browser (no API key; the app checks in daily for credits and AI features use the free credits), and services with OpenAI- or Anthropic-compatible APIs work too. Cloud voice for animated explanations is also charged by the speech provider: a Token Plan or similar subscription is recommended, Volcengine offers a free trial quota, and the browser voice is free.
Can I use the AI features for free without an API key?
Yes. Choose "MiniMax Code OAuth" in the settings and sign in with a free MiniMax account in the browser to use MiniMax-M3.1-Flash. The app checks in every day to collect credits, AI features such as recognition, explanations and practice use the account's free credits, and the remaining credits are shown on the settings page.
Can I try it first?
Yes. Open the live demo and sign in with demo@localhost and password demo123456. The demo account is shared and its data is visible to all visitors, so please don't enter personal information. For real use, host your own instance.
Which systems and devices are supported?
The server runs as a desktop app on Windows, macOS and Linux, on fnOS NAS, and on any server with Docker or Node.js. Once it's running, use it from a browser on your phone, tablet or computer. The desktop app accepts local connections only; fnOS, npm and Docker setups can be reached across your LAN.
Which grades and subjects does it cover?
Each notebook is created for primary, middle or high school and a subject. Primary school supports math, English and Chinese, with Chinese chapters and knowledge points covering grades 1–6, junior high and senior high. The built-in knowledge points follow the Chinese K-12 curriculum and are organized by school stage and subject; custom tags are supported, and AI helps identify knowledge points and difficulty.
Does it work in English?
Yes. The interface is available in Simplified Chinese and English, and AI can recognize and explain questions in either language. The built-in knowledge-point library and most documentation are in Chinese.
Can I use it on my phone?
Yes. It works in browsers on phones, tablets and computers, and supports PWA. Choose "Add to Home Screen" from the Share menu in Safari on iPhone / iPad, or from the Chrome menu on Android, to open it like an app. On Android you can also install an APK from Releases: the standalone app has the server built in and keeps data on the device, while the client connects to your own server. Both support taking photos for upload, saving exports and system printing.
Where is my data stored? Can it run fully offline?
Questions and answer records are stored in a SQLite database on your own deployment, and so are AI settings. AI recognition, solving and generation send the relevant content to the AI service you configured, which must be reachable; PWA support does not mean fully offline use.
Can GitHub Pages run the notebook itself?
This website is hosted on GitHub Pages. The notebook app includes sign-in, a database and AI APIs, so it needs a running server: install the desktop app or the fnOS package, or deploy with npm or Docker to a computer, NAS or server. To see it first, try the live demo.
How is it related to the upstream wrong-notebook?
This project extends wttwins/wrong-notebook with bilingual SVG animated explanations, mastery tracking, configurable duplicate detection, entering exam results, official Chinese model channels, an English interface, installers for every platform and more. Thanks to the upstream authors. See the project README for the full feature list and differences.
KEEP THE LESSON. LEAVE THE MISTAKE.
Next time you meet it, you'll know.
Start with one mistake and collect every "now I get it".