max / goingson
git clone https://makenot.work/git/max/goingson.git
git clone git@ssh.makenot.work:max/goingson.git
git send-email --to goingson@patches.makenot.work
| Name | Size | |
|---|---|---|
| crates/ | ||
| docs/ | ||
| media/ | ||
| migrations/ | ||
| mockups/ | ||
| plugins/ | ||
| scripts/ | ||
| src-tauri/ | ||
| .gitignore | 411 B | |
| Cargo.lock | 190.7 KB | |
| Cargo.toml | 2.4 KB | |
| CHANGELOG.md | 2.5 KB | |
| CONTRIBUTING.md | 11.6 KB | |
| LICENSE | 4.4 KB | |
| README.md | 3.5 KB | |
| synckit.toml | 316 B |
README
GoingsOn
A desktop productivity app – tasks, email, calendar, contacts, and project management in one place. Built with Tauri 2, Rust, and vanilla JS.
Local-first. Your data lives in a SQLite database on your own machine. No telemetry, no analytics, no remote logging. Cloud sync is optional and end-to-end encrypted.
Published by Make Creative, LLC. Contact: info@makenot.work. Privacy policy: docs/privacy-policy.md.
Your data
- Export – JSON (full), CSV (tasks), ICS (calendar events).
- Backup and restore – full snapshots restorable into a fresh install.
- Storage – SQLite on disk; you can copy or back up the file directly.
- Updates – checked on launch; install is user-initiated, never forced.
Prerequisites
- Rust (stable toolchain, 2024 edition)
- Tauri 2 CLI (
cargo install tauri-cli --version '^2') - Linux only: system dependencies for WebKitGTK
# Debian/Ubuntu sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \ libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev # Arch sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl \ appmenu-gtk-module libappindicator-gtk3 librsvg2-dev - macOS / Windows: no extra system dependencies beyond Rust and the Tauri CLI.
Build and Run
# Development (hot-reload frontend, debug backend)
cargo tauri dev
# Production build (macOS DMG, Windows installer, Linux AppImage)
cargo tauri build
# Run all workspace tests
cargo test --workspace
Workspace Architecture
The project is a Cargo workspace with three library crates and one application crate:
| Crate | Path | Role |
|---|---|---|
goingson-core | crates/core/ | Domain models, repository traits, error types, business logic. No database dependency (optional sqlx feature for type derives). |
goingson-db-sqlite | crates/db-sqlite/ | SQLite persistence via sqlx. Repository implementations, FTS5 full-text search, migrations. |
goingson-plugin-runtime | crates/plugin-runtime/ | Rhai scripting engine for import plugins (CSV, custom formats). File watching for hot-reload. |
goingson-desktop | src-tauri/ | Tauri 2 desktop shell. Commands (thin wrappers over library crates), frontend (vanilla HTML/CSS/JS), OAuth flows, email sync, SyncKit integration. |
Dependency flow: core is leaf -> db-sqlite and plugin-runtime depend on core -> src-tauri depends on all three plus synckit-client.
Features
- Tasks – urgency scoring, recurrence, snooze, subtasks, day planning (time blocking), weekly review
- Email – IMAP/SMTP and Fastmail JMAP, OAuth (Google, Microsoft, Fastmail), threaded display, compose/reply
- Calendar – events with recurrence, project/contact linking, timeline view
- Contacts – multi-field (emails, phones, social handles), tags, search
- Projects – per-project dashboards (tasks + events + emails), milestones
- Search – FTS5 full-text search across all entity types
- Cloud sync – SyncKit integration with E2E encryption
- Plugins – Rhai scripting for CSV/data import
- Themes – built-in light and dark themes with system auto-detection (see
src-tauri/frontend/themes/helix/) - Keyboard shortcuts – vim-style navigation throughout
- Platforms – macOS (primary), Windows, Linux; iOS in development
License
PolyForm Noncommercial 1.0.0. Personal, research, and non-commercial use are free. For commercial use, contact info@makenot.work to discuss a commercial license.
Releases
GoingsOn Desktop
Desktop App for GoingsOn - macOS (apple silicon) dmg - linux (x86) appimage - windows (x86) exe