Turn real workflows into documentation — locally, with your own AI key.
Website · Download · Quick start · Documentation · Report a bug
FlowCapture is an open-source, local-first desktop app that records your screen, mouse, keyboard, and window activity — then uses your own AI API key to produce step-by-step documentation, SOPs, and export-ready guides.
No cloud account required. Sessions stay on your machine in SQLite. You bring the AI provider (OpenAI, Claude, Gemini, or Ollama).
| Platform | Status | Link |
|---|---|---|
| macOS (Apple Silicon) | Available | Download v0.1.0 .dmg |
| Windows (x64) | Available | Download v0.1.0 .exe |
| Linux | Build from source | See Build from source |
macOS may show an “unidentified developer” warning for unsigned builds. Open System Settings → Privacy & Security and choose Open Anyway, or right-click the app and select Open.
- Rich capture — screen video, event-driven screenshots, mouse, keyboard, and window tracking
- Local-first storage — SQLite on your machine; optional redaction before AI processing
- BYOK AI — OpenAI, Claude, Gemini, and Ollama; you control keys and models
- Multi-stage pipeline — timeline compression, screenshot selection, writing, and review
- Exports — Markdown, styled HTML, PDF, and video
- Session replay — step through captured workflows before generating docs
- Record — perform your workflow; FlowCapture captures events and screenshots as you go.
- Review — inspect the compressed timeline and replay steps in the app.
- Generate & export — run the AI pipeline, edit the Markdown, then export in your preferred format.
- Install FlowCapture from Releases (or build from source).
- Open Settings and enable an AI provider with your API key.
- Click Start Recording on the home screen and complete a workflow.
- Use the overlay to Mark Step (
Cmd+Shift+Mon macOS) or Stop when finished. - Open the session, click Generate Documentation, review the output, and export.
For a full walkthrough, see the Quick start guide.
All platforms require Node.js 20+ and Rust stable.
git clone https://github.com/Abhi6722/FlowCapture.git
cd FlowCaptureThen follow the steps for your OS below. The first tauri:dev run compiles the Rust backend and may take several minutes.
| Requirement | Notes |
|---|---|
| Node.js 20+ | Required |
| Rust (stable) | Installed by setup:install if missing |
| Xcode Command Line Tools | xcode-select --install |
npm run setup # check deps + npm install
npm run tauri:dev # run the appIf Rust is not installed yet:
npm run setup:install
npm run tauri:devRuntime: Screen Recording and Accessibility permissions are required. See permissions docs.
| Requirement | Notes |
|---|---|
| Node.js 20+ | Required |
| Rust (stable) | Installed by setup:install if missing |
| Ubuntu 22.04+ | Or any distro with WebKitGTK 4.1 (libwebkit2gtk-4.1-dev) |
| System libraries | Tauri (WebKitGTK) + X11 screen capture (xcb, dbus) — installed by setup:install |
npm run setup:install # Rust + system libs (needs sudo) + npm install
source "$HOME/.cargo/env" # load cargo into current shell
npm run tauri:devAdd this to ~/.bashrc or ~/.zshrc so cargo is available in new terminals:
. "$HOME/.cargo/env"Runtime: On Wayland (Ubuntu 22.04 default), screenshots use GNOME Shell / portal capture. If captures are blank, install gnome-screenshot (sudo apt install gnome-screenshot) or log into an X11 session. ffmpeg is downloaded automatically on first build.
Common compile errors on Linux:
| Error | Fix |
|---|---|
webkit2gtk-4.1 / xcb / dbus-1 not found |
Run npm run setup:install |
spa_video_info_raw has no field named flags |
Pull latest — Linux uses xcap 0.4.x without PipeWire. Run cargo clean in src-tauri and rebuild. |
| Requirement | Notes |
|---|---|
| Node.js 20+ | Required |
| Rust (stable) | Installed by setup:install if missing |
| Visual Studio Build Tools | Install the Desktop development with C++ workload |
| WebView2 | Usually preinstalled on Windows 10/11 |
npm run setup:install
npm run tauri:devRestart your terminal after Rust installs so cargo is on your PATH.
Runtime: Periodic frame capture encoded to MP4 via bundled ffmpeg.
npm run tauri:buildPackaged artifacts are written to:
src-tauri/target/release/bundle/
| Command | Description |
|---|---|
npm run setup |
Check prerequisites and install npm deps |
npm run setup:install |
Same as setup, plus install Rust / Linux system packages |
npm run tauri:dev |
Run the desktop app with hot reload |
npm run build |
Build the app frontend |
npm run tauri:build |
Build a production desktop bundle |
npm run test:rust |
Run Rust tests |
npm run build:linux |
Build/test in Ubuntu 22.04 Docker (requires Docker) |
npm run build:linux:bundle |
Linux installers → dist-linux/ (.deb, AppImage, etc.) |
npm run website:dev |
Run the marketing site and docs (port 4321) |
npm run website:build |
Build the static website |
FlowCapture/
├── src/ # React app (Tauri webview)
├── src-tauri/ # Rust backend (recording, AI, exports, SQLite)
├── website/ # Marketing site + documentation
└── docs/ # Legacy planning notes (PRD, dogfooding)
Full docs are hosted at flow-capture.vercel.app/docs:
Run the docs locally:
npm run website:dev
# http://localhost:4321/docs/introContributions are welcome. To get started:
- Fork the repo and create a branch from
main. - Make your changes and run
npm run buildandnpm run test:rust. - Open a pull request with a clear description of what changed and why.
See the development setup guide for environment details.
| Platform | Recording | Export extras |
|---|---|---|
| macOS | In-app video at ~15 fps | PDF via headless Chrome |
| Linux | ffmpeg MP4; PipeWire/X11 dependent | PDF via Chrome or wkhtmltopdf |
| Windows | ffmpeg MP4 via periodic frame capture | PDF via Chrome or wkhtmltopdf |
All platforms store sessions locally in SQLite. PDF export uses headless Chrome or wkhtmltopdf when available on the system.
This project is licensed under the MIT License.
