Offline-first project management for teams that need capable software without subscriptions, servers, or reliable internet.
900Project is an open-source desktop application for planning, delivering, and reporting on projects. It keeps the workspace on the user's device, works without a permanent internet connection, and packages the project data in portable formats that the user controls.
It is built with Tauri, Svelte, Rust, SQLite, and optional SQLCipher encryption. The application targets Windows, macOS, and Linux.
Release status:
v0.1.0is an early public release. Download pre-built binaries from the Releases page, or build from source using the instructions below.These binaries are not code-signed. Your operating system may show a security warning on first launch — see Installing unsigned builds below.
Pre-built binaries are available on the Releases page for:
| Platform | Download |
|---|---|
| Windows | .msi installer or .exe |
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux | .deb or .AppImage |
These builds are not code-signed or notarized. Your operating system will warn you on first launch:
- macOS: Right-click the app → Open → confirm in the dialog. Gatekeeper will warn that the app is from an unidentified developer.
- Windows: Click More info → Run anyway in the SmartScreen dialog.
- Linux:
.debinstalls normally. For.AppImage, runchmod +xthen double-click.
If you prefer to build from source, see the Build from source section below. If you can contribute code-signing certificates (Apple Developer ID, Windows EV), please open an issue.
Modern business software often assumes reliable broadband, cloud infrastructure, international payment access, and a recurring software budget. Those assumptions exclude many of the organizations that could benefit most from capable operational tools.
900Project is part of the 900 Labs impact mission: building enterprise-grade, permissively licensed tools for people and organizations priced out of mainstream business software. Four principles shape the project:
- Free and open source: no subscription is required to use the software.
- Local-first: core work and user data stay on the device.
- Offline-first: essential workflows do not depend on a server or a continuous connection.
- Built to last: portable data, documented architecture, and maintainer-owned validation reduce dependence on one vendor or contributor.
900Project is intended for small businesses, NGOs, contractors, public-sector teams, community organizations, and anyone else who needs serious project-management workflows under constrained operating conditions.
- Hierarchical tasks with list, Kanban, Gantt, and calendar views
- Dependencies, milestones, critical-path visualization, drag-and-drop ordering, and timeline editing
- Project templates for software, NGO, construction, agriculture, and government workflows
- Recurring tasks, team members, labels, work calendars, and capacity profiles
- Single-active-timer time tracking and project dashboards
- Category budgets, donor allocations, expenses, actuals, and variance reporting
- Burndown, burnup, velocity, utilization, and calendar reporting
- Offline CSV exports and Rust-generated PDF reports or full project packs
- Compact project summaries suitable for sharing through messaging tools
- SQLite workspaces with optional SQLCipher encryption
- Local, content-addressed attachment storage
- Workspace backups and portable
.900projproject bundles - Checksum validation, conflict review, and explicit keep-local/use-incoming import resolution
- An append-only change log that preserves the foundation for future peer-to-peer synchronization
- English, French, Spanish, Arabic, Swahili, and Hindi interface coverage, including Arabic RTL layout
- Native file dialogs and platform-owned open/reveal actions
- Workspace integrity checks and bounded repair for orphaned attachment blobs
- Public-safe support bundles, issue reproduction kits, compatibility fixtures, and recovery evidence for maintainers
900Project does not require an account or hosted backend for its core workflows. Workspace data is stored locally, and the application does not need to send project content to 900 Labs.
Local-first is not the same as risk-free. Users remain responsible for device security and backups. Encrypted workspaces use SQLCipher, while unencrypted workspaces rely on the operating system and storage device for protection. Before using this early release for sensitive or irreplaceable work, test backup and restore behavior in your own environment.
Security issues should be reported through the process in SECURITY.md. Do not put private workspaces, project bundles, attachments, secrets, personal data, or exploit details in a public issue.
Svelte 5 interface
│
│ typed Tauri commands and events
▼
Rust application layer
│
├── SQLite / SQLCipher workspace
├── local attachment store
├── import, export, backup, and integrity services
└── Rust PDF generation
The desktop boundary is deliberate: the frontend owns interaction and rendering, while Rust owns workspace lifecycle, persistence, migrations, filesystem-sensitive operations, import/export, and PDF generation. See the architecture overview for the full design.
- Node.js 22
- pnpm 10.6.2 (the version pinned in
package.json) - Stable Rust
- The Tauri v2 system prerequisites for your operating system
git clone https://github.com/900Labs/900Project.git
cd 900Project
corepack enable
pnpm install --frozen-lockfile
pnpm run tauri:devpnpm run dev starts only the browser-facing Svelte shell. Native workspace, database, dialog, and filesystem features require the Tauri desktop runtime, so use pnpm run tauri:dev for normal development.
pnpm run tauri:buildTauri writes platform-specific bundles under src-tauri/target/release/bundle/.
The repository's baseline validation command runs frontend checks, linting, unit tests, maintainer and release-tool tests, a production frontend build, Rust formatting and compilation checks, and Rust tests:
./scripts/verify-local.shThe Playwright browser-shell smoke also runs in CI with an owned Vite server. Heavier generated compatibility, transfer, recovery, and performance fixtures remain separate opt-in profiles. See local validation for the exact commands and environment notes.
Contributions are welcome. Start with:
- CONTRIBUTING.md for the branch, test, and pull-request workflow
- Community contributor starter kit for a bounded first contribution
- Maintainer handoff pack for architecture and operational ownership
- Support guide for questions and non-security problems
- Code of conduct for community expectations
Please keep changes compatible with the project's core constraints: offline operation, local data ownership, portable data, modest resource use, and cross-platform behavior.
- Architecture overview
- Audit hardening boundaries
- Core data and search architecture
- Backup, export/import, and merge architecture
- Print-ready PDF architecture
- Local validation
- Release process
- Issue triage
- Roadmap
Detailed architecture decisions, process guides, historical sprint notes, and maintainer evidence live under docs/.
900 Labs builds open-source business software around a simple belief: access to useful technology should not be determined by geography, purchasing power, or connectivity. Learn more at 900labs.com/impact.
900Project is licensed under the Apache License 2.0. See NOTICE for attribution information.