"I have written for a decade. The problem was never writing more. The problem was finding the one line I know I wrote — and could never find again." — Dad
Start With What It Owns
Lantern is a corpus engine. Give it a decade of scattered writing — guides, books, essays, market theses, a manuscript, a website's content tree — and it owns four verbs over that body: register it, ingest it, retrieve from it, and preserve it. Nothing more, and — this is the interesting part — nothing less blurred into something else. A light web console is its first client, the way a lightbulb is the first thing you plug into a new circuit. The engine is the circuit; the console just proves the current flows.
Four Things Lantern Is Not
Boundaries define an engine more sharply than features do. Lantern is deliberately not four tempting things:
- Not a RAG chat app. No conversation, no memory, no brain. It never answers you in prose.
- Not your assistant's memory. A separate system owns the private vault and conversation history. Lantern never indexes those.
- Not a digital asset manager. Binary originals — images, video, audio masters — never live here. Lantern is text-first: it stores text, snapshots of text, and pointers.
- Not an LLM pipeline. No model call anywhere in the retrieval path. Embedding and reranking are deterministic services; interpretation happens above the API, never inside it.
Each not is a wall someone will eventually lean on, expecting it to open into a room. It doesn't. That refusal is the design.
Why "Engine" Is the Load-Bearing Word
Call it an app and you'll build a UI first and bolt an API on later — and the API will forever leak the UI's assumptions. Call it an engine and the order inverts: you finish the core, expose a clean API, and let clients arrive after. When you type POST /api/search and get back a result carrying full provenance, that result is just as useful to a code editor, a website's search box, or your AI assistant as it is to the console. One engine, many lanterns lit from the same flame.