Skip to main content

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

Project: GoingsOn by max

Name Size
/ crates/
/ dist/
/ docs/
/ media/
/ migrations/
/ mockups/
/ scripts/
/ src-tauri/
· .gitignore 1.2 KB
· bento.toml 302 B
· Cargo.lock 206.2 KB
· Cargo.toml 3.6 KB
· CHANGELOG.md 2.9 KB
· CONTRIBUTING.md 11.9 KB
· LICENSE 4.4 KB
· README.md 3.3 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 two library crates and one application crate:

CratePathRole
goingson-corecrates/core/Domain models, repository traits, error types, business logic. No database dependency (optional sqlx feature for type derives).
goingson-db-sqlitecrates/db-sqlite/SQLite persistence via sqlx. Repository implementations, FTS5 full-text search, migrations.
goingson-desktopsrc-tauri/Tauri 2 desktop shell. Commands (thin wrappers over library crates), native CSV/vCard/iCal import, frontend (vanilla HTML/CSS/JS), OAuth flows, email sync, SyncKit integration.

Dependency flow: core is leaf -> db-sqlite depends on core -> src-tauri depends on both 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
  • Import: native CSV/TSV import (entity type auto-detected), plus vCard and iCalendar
  • 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.