lucid
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- process.env — Environment variable access in apps/desktop/e2e-packaged/target.ts
- process.env — Environment variable access in apps/desktop/e2e-real/acceptance.spec.ts
- process.env — Environment variable access in apps/desktop/e2e/app.spec.ts
- process.env — Environment variable access in apps/desktop/e2e/appearance.spec.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Voice to structured notes and diagrams. Talk, and a local model builds the headings, lists, tables and diagrams while you think, then typesets a PDF. Hands-free or one-handed with an MCP toolbox for AI agents.
Lucid
Voice to structured notes and diagrams.
Talk, and Lucid builds the headings, lists, tables and diagrams while you think, then typesets a PDF.
Made to work hands-free or one-handed, and local-first: the language model runs on your own computer.
Website · Download · User guide · Changelog
Why I made it
For a while I couldn't type comfortably, so I built Lucid for myself: a productivity and accessibility tool for taking notes and
learning system design by voice, or with one hand.
I learn by thinking out loud and want to see it as I say it: the diagram when I explain a system, the notes taking shape, and a
way to cut what I got wrong. I couldn't find one open-source project that turns speech into something structured, so I built it.
This first version doesn't listen by itself. You dictate with an app that pastes text, like Wispr Flow,
OpenWhispr or VoiceNative (my own,
for macOS), and Lucid turns what lands in the box into the page.
How it works
flowchart LR
you["You, by voice or keyboard"] --> box["The input box"]
box --> model["A local model in LM Studio<br/>(for example Qwen 3.8)<br/>sees the page and its history"]
model --> page["Blocks on your page:<br/>headings, lists, tables, diagrams"]
page --> history["The history keeps what you said,<br/>what was understood, what changed"]
The model runs on your own computer, because you talk a lot and change a lot, and a local model keeps that cheap. It always has
the page in front of it, so it puts what you said under the right heading and builds the right kind of block. Every change is one
undo step, and your words are never lost.
Diagram mode: keywords, connections, editing
A diagram of ten parts is hard to say in one breath, so a guided builder has three phases: the keywords (the parts), the
connections (how they link, one at a time) and editing (everything is numbered, so a fix is one sentence: "rename 3 to
Cache"). Say "done" and the diagram goes onto your page. A database is drawn as a cylinder, a queue as a pipe, a CDN as a
cloud.
1. Keywords |
2. Connections |
3. Editing |
Command mode: talk to the page
The model has the whole page in context, so you can talk about it: "add a cache in front of the database", "cross out
Memcached, we are choosing the local LRU", "add a row for cost to this table", "undo". A crossed-out idea stays on the page,
struck through. Hold the right ⌥ key and everything you say is one command, which works with one hand.
History, edit mode and how well it works
The history keeps what you said and what changed, so you can see why a page looks the way it does, take back any single change,
or edit what you said and send it again. When the model gets something wrong, Edit mode lets you type in the page.
I score the model on my own set of cases (docs/evals.md) with a bar of 90%; the latest run got 98 of 99. To get
the most from it, say things in short pieces, use diagram mode for diagrams and command mode to change the page.
Keep your notes
- PDF, typeset on your computer with real diagrams; Settings → PDF look sets paper, type, margins and accent colour, and you
can edit the template. - A whole note, with its history, to back up or move, and Markdown.
- Three note formats (concept note, system design, comparison) or a blank page; formats are plain data. See them.
- The page has its own light and dark, apart from the app's.
Start from a format, or a blank page |
Export a whole note, with its history |
A dark page in a light app (the first picture is the other way round) |
Built-in MCP server
An AI agent such as Claude Code can read your pages and add to them. Each change is one undo step and shows in the history as the
agent's. Tools and set-up: docs/mcp.md.
Install
| System | Download |
|---|---|
| macOS (Apple Silicon, macOS 13+) | Lucid-<version>-mac-arm64.dmg |
| Windows (10+, 64-bit) | Lucid-<version>-win-x64.exe |
| Linux (64-bit) | Lucid-<version>-linux-amd64.deb or Lucid-<version>-linux-x86_64.AppImage |
Get them from the latest release or the
website, which picks the right one for your computer. The apps are free and
not signed, so macOS and Windows ask once before opening them; the steps, the checksums and the model set-up are in
docs/install.md. You also need LM Studio with the model qwen/qwen3.8-27b.
Quick start
- Click New page, or New from a format… to start from one of three note formats, or from a blank page.
- Type or dictate notes in the box at the bottom: "A cache hit costs microseconds, a miss costs a database round trip.
Options are Redis, Memcached and a local LRU." They appear on the page, structured, a few seconds later. - Switch to Command (⌘2) and talk about the page: "Cross out Memcached, we are choosing the local LRU."
- Download PDF when it looks right.
To dictate, use any app that pastes text: Wispr Flow,
OpenWhispr (free, open source) or
VoiceNative (free, macOS). See docs/dictation.md.
Learn more
| User guide | the whole app on one page (also in the app: Help → Lucid Guide) |
| What Lucid does | typed blocks, three modes, diagrams and tables by voice, history, export and the PDF look |
| Note formats | the three formats, with the PDF of a sample of each |
| Dictation | which apps to speak with, using Lucid by voice or with one hand, and a ten-minute check-list |
| For AI agents | the MCP tools and how to connect Claude Code |
| Installing | steps for each system, checksums, troubleshooting |
| Architecture · Evals | how it fits together; how the model is scored |
Contributing
Issues and pull requests are welcome. Set-up, the commands, the rules the code keeps, and how to add a note format or a block
type are in CONTRIBUTING.md; security problems go through SECURITY.md. Changes are listed in
the changelog.
git clone https://github.com/triggeredcode/lucid.git
cd lucid
pnpm install
node scripts/fetch-tectonic.mjs # the PDF engine, checked against a pinned SHA-256
pnpm dev
Licence
MIT. Lucid is built on open-source software; the list of what it bundles and their licences comes with the app
(Help, Licences of the Software Lucid Uses). Special thanks to BlockNote,
Mermaid, Tectonic, Electron
and iA Writer Mono.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found