Download · v0.1.2
Get Concrete.
Concrete is an experimental desktop app for macOS. Install it from source in about five minutes. Open Terminal (⌘ Space, type “Terminal”) and run each step.
- Platform
- macOS
- Runtime
- Node.js 20+
- AI (optional)
- Claude Code, Codex, or OpenRouter
- 1
Install Homebrew
The macOS package manager. It will ask for your password; nothing shows as you type. Already have it? Skip ahead.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile && eval "$(/opt/homebrew/bin/brew shellenv)" - 2
Install Node.js
Concrete needs Node 20 or newer. npm comes with it.
brew install node - 3
Download Concrete
If macOS asks to install the Command Line Developer Tools for git, click Install, then run this again.
git clone https://github.com/danielgraviet/concrete.git && cd concrete - 4
Install dependencies
npm warn lines are fine.
npm install - 5
Launch
The Concrete window opens and creates your vault in ~/Documents/Concrete on first launch. Quit with ⌘Q.
npm run dev
Later
Open it again.
From then on, this is all you need.
cd concrete && npm run devPackage
Build the app.
The packaged app is written to release/.
npm run build && npm run pack:macTroubleshooting
If something's off.
brew: command not found
Run the PATH command from step 1, or open a new Terminal window.
Node is older than 20
Run brew upgrade node.
The window never appears
Make sure nothing else is using port 5173, then run npm run dev again.
npm install permission errors
Don't use sudo. Delete node_modules and run npm install again.
Still stuck? Open an issue on GitHub ↗
AI features
Connect a model.
Quiz generation, tutoring, and agents need a model backend. Pick one under Settings → Tutor AI.
- Claude Code CLILogged in (Claude Pro/Max) or with an Anthropic API key
- Codex CLILogged in (ChatGPT plan) or with an OpenAI API key
- OpenRouterAPI key. Quizzes and tutoring only
Keys stay in Electron's main process and never reach the renderer.