brain is a single-user Rust web app for saving voice-created markdown ideas into project folders.
cargo install --path .Set the admin login with the CLI:
brain credentials set admin change-thisThis writes credentials.json inside the app home (BRAIN_HOME, or ~/.brain by default), so the web server can read the same credentials no matter which directory the binary is started from.
Environment variables are still supported and take priority over the credentials file:
export BRAIN_ADMIN_USERNAME='admin'
export BRAIN_ADMIN_PASSWORD='change-this'Check whether credentials are available:
brain credentials statusbrainThe default URL is http://127.0.0.1:8787.
Optional environment variables:
export BRAIN_ADDR='127.0.0.1:8787'
export BRAIN_HOME="$HOME/.brain"BRAIN_HOME is the app home and initial brain directory. The admin settings page can change the brain directory later.
An idea must start with a single # Title header. After that it may contain markdown headers and normal paragraphs.
Accepted:
# Server
The server stores markdown files.
## API
The API saves ideas into project folders.Rejected:
## Missing top-level title
- Lists are not paragraphs.Bad login attempts are recorded in SQLite. On every login attempt, entries older than 24 hours are deleted. An IP address is blocked after 5 failed attempts inside the remaining 24-hour window.
The Ideas page can copy or export:
- One selected idea
- The current search results
- Every idea in the brain system
The Projects page can copy or export every idea inside a single project. Exports download as markdown files, and bulk exports separate ideas with --- plus a short HTML comment containing the project, creation time, and idea id.
The Controls page in the app lists the recorder shortcuts. The most important ones are:
Enterstarts recording\stops recordingSsaves the current idea and clears the board1,2,3,4switch heading levels while recordingPswitches to paragraph mode while recording
Project switching happens on the Projects page by clicking a project.