Skip to content
Concrete
AboutDownload

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. 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. 2

    Install Node.js

    Concrete needs Node 20 or newer. npm comes with it.

    brew install node
  3. 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. 4

    Install dependencies

    npm warn lines are fine.

    npm install
  5. 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 dev

Package

Build the app.

The packaged app is written to release/.

npm run build && npm run pack:mac

Troubleshooting

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.