Xinlong Bao包新龙

study · 2026

LearnPDF

Native macOS notebook: import a PDF or deck, get notes, FSRS cards, a quiz kit, and a tutor pane — keys in Keychain.

Swift · SwiftUI · SQLite · PDFKit · FSRS

Intro

A RemNote-shaped three-pane Mac app (min 1500×860): library, reader, learning tools. Drop in PDF, text, markdown, RTF, DOCX, PPTX, XLSX. Formerly nicknamed Godmode in a playground folder; the target is LearnPDF.

It is not a website. Storage is SQLite and an Obsidian-friendly wiki under Application Support.

Method

PDFKit and OOXML unzip extract text locally. Non-PDFs are paged for the reader. Nested note blocks; == and >> in a block mint a flashcard. Highlights, area highlights, ink.

LLMClient.generateLearningKit asks a model for JSON (cards + MCQs). Providers: OpenAI, Anthropic, LM Studio. Keys in Keychain. If the backend is down, HeuristicLearningGenerator builds an extractive kit from term frequency.

Practice uses a real FSRS scheduler (stability, difficulty, retrievability, Again/Hard/Good/Easy). The simpler Flashcards sheet rates Good only — the Practice tab is the one that is honest FSRS.

Demo

./scripts/build_app.sh, then open .build/LearnPDF.app. Import a PDF, generate a kit if a model is configured, rate cards in Practice. No iframe on this site.

Conclusion

A local reader plus FSRS plus optional LLM kits. Do not describe it as hosted. Do describe the Keychain and the fallback generator.