Skip to content

Latest commit

 

History

84 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

900Project

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.0 is 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.

Download

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

Installing unsigned builds

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 infoRun anyway in the SmartScreen dialog.
  • Linux: .deb installs normally. For .AppImage, run chmod +x then 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.

Why it exists

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.

What it does

Plan and deliver work

  • 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

Manage budgets and reporting

  • 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

Keep data local and portable

  • SQLite workspaces with optional SQLCipher encryption
  • Local, content-addressed attachment storage
  • Workspace backups and portable .900proj project 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

Support real-world operations

  • 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

Privacy and security model

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.

Architecture

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.

Build from source

Prerequisites

Run the desktop app

git clone https://github.com/900Labs/900Project.git
cd 900Project
corepack enable
pnpm install --frozen-lockfile
pnpm run tauri:dev

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

Create a local production build

pnpm run tauri:build

Tauri writes platform-specific bundles under src-tauri/target/release/bundle/.

Validate a checkout

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

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

Contributing

Contributions are welcome. Start with:

Please keep changes compatible with the project's core constraints: offline operation, local data ownership, portable data, modest resource use, and cross-platform behavior.

Project documentation

Detailed architecture decisions, process guides, historical sprint notes, and maintainer evidence live under docs/.

900 Labs

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.

License

900Project is licensed under the Apache License 2.0. See NOTICE for attribution information.

About

Offline-first, local-first project management for teams that need capable software without subscriptions, servers, or reliable internet.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages