Skip to content
YK Développement
Back

GodMode

Active

A native dashboard to drive all my local projects and AI models, in a single click.

Screenshot of GodMode's interface (1 of 1)

The context

Juggling several local projects (backends, frontends, workers) and LLM models loaded in RAM turns the command line into friction. GodMode is a unified control panel: a menu-bar icon plus a detailed window. One click to start, stop or restart a service; one shortcut to unload every AI model overheating the machine. Multi-project by design: what works for one project works for all, with no hardcoding.

My role

End-to-end design and development: Rust core architecture, IPC surface, system scanners, LLM runtime detection, React interface and test suite. Built solo.

Key features

  • Project dashboard: per-project cards, start/stop/restart per service, a health dot and favorites-then-alphabetical sorting.
  • Process lifecycle: graceful SIGTERM shutdown with a grace window then SIGKILL, cleanup of orphaned children.
  • LLM control: detection of the main local inference runtimes, with real RAM footprint, model, size, quantization and owning-process attribution.
  • Kill all LLMs: a large long-press button, a system-bar item and a global shortcut, with a macOS notification of the number of processes stopped and the RAM freed.
  • Memory-pressure panel: detailed system memory (used, wired, compression, swap), a deterministic pressure level, hiding of non-killable daemons.
  • Automatic service detection by reading manifests (package.json, Cargo.toml, pyproject.toml, requirements.txt, Makefile), inferring the port and build script.
  • Live scan of listening ports (lsof cross-referenced with the current directory) and live log tailing, with a readable crash summary extracted from stderr.
  • Developer toolbox: inspecting and freeing a busy port, measuring and purging caches (npm, pnpm, yarn, pip, Homebrew, Hugging Face, Xcode).

Technical challenges

  • Cleanly killing a shell-wrapped service: GodMode creates a process group at spawn (setsid) then signals the whole group (killpg, grace window, SIGKILL escalation) and sweeps the remaining children: the cause handled, not the symptom.
  • Making user-installed tools visible: an app launched from Finder inherits launchd's minimal PATH; the tool resolves the real PATH once at startup via a login shell, then caches it.
  • Attributing an LLM model to its project: walking up the parent-process chain (bounded depth, cycle detection) and matching directories at exact boundaries, with the project match winning over the named owner.
  • Identifying the model robustly: a fallback cascade (--model flag, Hugging Face cache, weights file, Python module) with size and quantization extraction, using linear ReDoS-safe regexes.
  • Measuring true memory pressure: two-level filtering of system daemons to surface only safe-to-kill processes, and pressure computed deterministically (usage, compression, swap) rather than a plain percentage.
  • Scanning continuously without drowning the UI: oversampling before filtering, parallel ps/lsof enrichment, distinct cadences (ports, health) and deduplication.

Scale

A real, tested implementation, not a prototype.

  • A native desktop application, genuinely functional and battle-tested, not a mock-up.
  • Secure by design: everything runs locally, with no server and no port exposed to the outside.
  • A carefully tested core, for reliable behaviour on every launch.

Results

An active tool, used daily to orchestrate a multi-project development environment.

  • A tool in daily use: starting, stopping and supervising every local project in a single gesture.
  • A modular Rust architecture (registry, process manager, scanners) that drives any repository without hardcoding.

Tech stack 03 families · 08 technologies

The tech stack

Every technology in this project, wired into the rest of my practice: the wider a neuron, the more projects it has proven itself on.

  • Architecture

    • IPC natif
    • État server-authoritative (source de vérité backend Rust)
    • Event bus Rust → frontend
    • Isolation sous ~/.godmode/
  • Core

    • Rust
    • Tokio (multi-thread, process, signal)
    • rusqlite
    • nix (signaux POSIX)
    • sysinfo
    • regex linéaires
    • serde
    • anyhow / thiserror
    • tracing
  • Desktop

    • Tauri 2
    • Plugins global-shortcut, notification, dialog, fs
    • Trayicon permanent + titlebar custom
    • Cible macOS 13+ (Apple Silicon / Intel)
  • Interface

    • React 19
    • TypeScript 5
    • Tailwind 4
    • Zustand
  • Quality

    • 64 tests Rust
    • 24 Vitest + Testing Library
    • 6 Playwright e2e
    • cargo clippy -D warnings
    • écritures config atomiques
  • Approach

    • Un clic = une action, safe-by-default
    • allowlist de permissions, zéro injection shell, aucun sudo
    • regex anti-ReDoS, chemins sanitizés
    • fix à la cause racine

Next project

Alpha

Active

A real-time autonomous system, built with extreme engineering discipline.