Plan experiments, reuse protocols, preserve what actually happened, and keep samples and files connected.
A private, local-first electronic lab notebook and experiment manager for biomedical wet-lab work.
Download LabFlow · User guide · Architecture
LabFlow connects the parts of an experiment that are often split across a calendar, Word documents, spreadsheets, and folders:
Scheduled Task → Versioned Protocol → Actual Record → Samples, images, and original files
It is designed for researchers, students, and small biomedical teams who want a lightweight electronic laboratory notebook (ELN) without setting up a cloud account or a laboratory-wide LIMS.
Schedule wet-lab Tasks in a weekly calendar, organize them under an Experiment, and connect dependent steps. A Task leads into its execution Record, so the plan and the evidence of what happened stay together.
Create built-in or custom Protocols and reuse them across experiments. LabFlow freezes a version snapshot when a Record is created. Later Protocol edits do not change historical Records, while each run can preserve its actual parameters, deviations, observations, inputs, and outputs.
Record sample inputs, generated outputs, consumption, derivation, treatment groups, containers, and plate positions. Insert experimental images into the Record body and attach original files of any type. The SQLite database and attachment files remain in the same local workspace and can be exported as a complete backup.
LabFlow starts with practical biomedical Protocols, so a researcher can begin with a real experiment instead of configuring an entire lab system first.
| Workflow | What LabFlow supports |
|---|---|
| Experiment scheduling | Create, edit, relate, and complete Tasks in a 24-hour weekly calendar |
| Experiment context | Group Tasks under an Experiment, inspect their dependency graph, and hide inactive Experiments from planning views |
| Protocol management | Use built-in methods or create custom Protocols with version history and Record snapshots |
| Experimental Records | Capture the procedure actually performed, deviations, observations, images, and arbitrary file attachments |
| Sample tracking | Register inputs, outputs, consumption, derivation, conditions, containers, and plate positions |
| Terminal assays | Store Plate Mapping and Raw Data structures for qPCR, ELISA, and CCK-8 |
| Export and backup | Print Records, create low-memory PDFs, export PDFs with original attachments, and back up the complete workspace |
The current catalog includes:
- Cell thawing, passaging, plating, and treatment
- RNA extraction and reverse transcription
- SYBR Green qPCR
- Western blot
- Culture-supernatant collection
- ELISA and CCK-8
Custom Protocols can describe passthrough samples, one-to-one, one-to-many, and one-to-zero transformations. Each Record captures the concrete outputs and sample lineage produced during that run.
The packaged desktop app does not require an Express server, localhost HTTP API, cloud account, or always-on internet connection. Canonical user data is stored outside the application bundle and source tree:
macOS: ~/Library/Application Support/LabFlow/
Windows: %APPDATA%\LabFlow\
The workspace contains labflow.sqlite and files/. Original attachments remain in files/; SQLite stores their metadata and relative paths. Use Data Management inside LabFlow to export or restore a complete .labflow-backup workspace.
- macOS 0.1.7 for Apple Silicon — macOS 12 or later. This release introduces signed update manifests, startup update checks, user-confirmed download, and install-and-restart.
- Windows 0.1.5 for x64 — Windows 10/11. Windows was not updated in the 0.1.7 release and does not yet include in-app updates.
- Public installation guide
- Release changelog
The current MVP uses ad-hoc signing on macOS and is not notarized with Apple Developer ID. Windows packages are not Authenticode-signed. Follow the public installation guide if Gatekeeper or SmartScreen asks for confirmation. Updater signatures verify the origin and integrity of update artifacts; they do not replace operating-system code signing.
LabFlow also exposes part of its Task, Experiment, Protocol, and Record capabilities to local AI clients through a bundled Model Context Protocol (MCP) server. The desktop UI and MCP adapter call the same domain services and validation rules; an Agent does not receive direct SQLite access.
This integration is optional. LabFlow remains a complete local desktop workflow without an Agent. See the MCP user guide and architecture overview for details.
Requirements: Node.js 24, Rust 1.98, and Xcode Command Line Tools on macOS. Windows installers are built on a native GitHub Actions Windows runner.
cd eln-app
npm install
npm run tauri:devProject checks:
cd eln-app
npm run lint
npm test
npm run build:web
cargo test --manifest-path src-tauri/Cargo.tomlSee eln-app/README.md for packaging and data-isolation details.
- Product scope
- User guide
- Core objects, Records, and Sample Flow
- Protocol domain
- Sample lineage
- Architecture overview
- Database schema
- Architecture decisions
LabFlow is an MVP for individual researchers and small biomedical wet-lab teams. The current interface is primarily Chinese. It does not currently provide cloud sync, real-time multi-user collaboration, automatic conversion of arbitrary Word/PDF files into executable Protocols, or automated scientific conclusions from experimental data.
LabFlow is distributed under the PolyForm Noncommercial License 1.0.0. Personal use, education, academic research, and other noncommercial uses are permitted. Commercial use requires separate authorization.





