Skip to main content

JobJitsu Architecture

Software architecture for the AI Career Operating System.
On-device. On-target. On your terms.

This folder defines how the system is structured. It is design intent — not runnable code, APIs, or a sprint backlog.

Anchors: Product vision · Features · Principles · Non-goals · Terminology · Architecture rule


Architecture thesis​

JobJitsu is a local-first desktop OS for career craft. All intimate state lives on the machine. The agent prepares; Send is the only place career data may leave — and only with explicit user sovereignty. Automation is a belt, not a leash.

Status chrome for on-device intelligence is Agent · On-device (see TERMINOLOGY.md). Technical docs may still say Local LLM when discussing model providers.


Document map​

DocumentCovers
SYSTEM_ARCHITECTURE.mdSystem map (C4, runtime paths, control plane)
MONOREPO.mdRepository layout and workspace roles
PACKAGE_BOUNDARIES.mdPackage ownership and dependency rules
EVENT_SYSTEM.mdLocal domain events and audit
PLUGIN_ARCHITECTURE.mdAgent skills and plugin host
EXTENSION_SYSTEM.mdBroader host contributions & capabilities
DESKTOP_ARCHITECTURE.mdShell, IPC, UI, privacy chrome
AI_ARCHITECTURE.mdAI Provider, Context Builder, honest AI, workflow engine contract
DATA_MODELS.mdConceptual entity schemas & ownership
SCHEDULER.mdLocal jobs, follow-ups, quiet automation
TESTING_STRATEGY.mdPrivacy, sovereignty, and quality bars
../adr/README.mdAccepted ADRs (Tauri, React, bus, …)

Non-negotiable architectural laws​

  1. Privacy is the platform — default data plane is local disk/process memory; not a JobJitsu cloud.
  2. Explicit outbound boundary — Send (and equivalent egress) is gated, audited, and honest about success.
  3. Agent preparative; Send sovereign — packages must not let the agent call egress APIs directly.
  4. Local Intelligence primary — cloud model paths, if any, are opt-in and obvious in UI and config.
  5. User-enabled extensibility — plugins/extensions never run with hidden employer-side or surveillance intents.
  6. Calm surface area — architecture favors quiet progress events over urgency metrics and streak systems.
  7. Open trust — boundaries and egress call sites remain inspectable in an open-source tree.

Violating a non-goal is an architecture defect, not a product tradeoff.


Mapping product modules → architecture​

Product modulePrimary packages / surfaces
Identity & Resume / Knowledge Basepackages/identity (+ storage); see DATA_MODELS.md
Preferencespackages/preferences / config
Local Intelligencepackages/ai (Provider, Model Manager, Context Builder, Validation)
Agent / Workflow / Task Queuepackages/agent — see AI_ARCHITECTURE.md (workflow engine section)
Discovery & Curationpackages/discovery (+ extension Job Providers)
Applicationspackages/applications
Queue & Reviewpackages/queue
Sendpackages/send (egress)
Follow-upspackages/followups + scheduler
Timeline & Memorypackages/timeline
Privacy & Trust Chromedesktop shell UI + timeline egress records
Plugins / Extensionsplugin-sdk / extension-sdk

Technology posture (design-level)​

Choices optimize for native, light, fast, auditable open source, and local AI — not for SaaS multi-tenant convenience.

ConcernPosture
Desktop hostLightweight native shell hosting a web UI (prefer Tauri-class over heavy Chromium-only stacks when practical)
Domain logicTypeScript (or shared language) packages in a monorepo — inspectable, testable
PersistenceLocal encrypted-at-rest optional; always on-device stores — no default remote DB
ModelsUser-provided local LLM runtimes via adapter interface
Packagingpnpm/npm workspaces (or equivalent) with clear public package boundaries

Specific framework pins belong in implementation RFCs later; this folder locks boundaries and laws.