Skip to main content

Vertical slice process

Engineering work proceeds one user story at a time.

Pick story → Plan → Implement → Test → Docs → Next story

Never build multiple features in parallel in the same change set.

Current focus​

FieldValue
EpicPE21 Shell IA
StoryPE21-S02–S05 — Job Mail, Reset, Sources, icon accents
StatusIn Progress · branch feat/pe21-shell-restructure
NoteSingle-pass IA restructure. Plan: docs/product/SHELL_IA.md.

Completed slices​

StoryDateNotes
Shell UX chrome2026-08-13data-layout; Applications list + detail; Agent status bar; PR #121
Sellable local MVP2026-08-11Durable applications; Queue/Follow-ups/Timeline; approval prefs; no fake send; onboarding
PE05-S072026-08-11List on-device Agent models from Ollama; PR #113
PE08-S042026-08-11Applications list + open detail; PR #111
PE08-S022026-08-11Application cover letter draft; PR #110
PE28-S032026-08-11Craft chat refine + clarifying questions; PR #109
PE28-S022026-08-11HTML preview + local PDF export; PR #108
PE28-S012026-08-11Craft screen résumé + cover letter; PR #107
PE05-S062026-08-11Real on-device Agent via local Ollama; PR #106
PE03-S042026-08-11Tailor résumé draft no send; PR #100
PE08-S012026-08-11Application drafts create/edit; soft-duplicate; PR #98
PE03-S102026-08-11AI parse import draft; Profile prefill; PR #97
PE05-S052026-08-11Offline / local-primary Agent; PR #96
PE05-S032026-08-11Context Builder allowlist + budgets; PR #95
PE05-S022026-08-11Path-gated Agent readiness; Preferences model path; PR #94
PE05-S012026-07-23Fake provider health/complete; Ai.LocalModel*; no silent cloud fallback; PR #93
PE03-S092026-07-23Create Path from existing résumé; PR #92
PE03-S082026-07-23LinkedIn PDF import + source label; PR #91
PE03-S072026-07-23Attach identity/path/both after review; PR #90
PE03-S062026-07-23Review import before library write; PR #89
PE27-S01 (multi-profile)2026-07-23Multiple local profiles; Paths/resumes nested; PR #88
PE04-S032026-07-23Honest Agent privacy chrome; PR #76
PE04-S042026-07-23Fit/tone/constraints via façade + IPC; Preferences.Changed
PE04-S062026-07-23Durable data folder; profile/resume/prefs on disk
PE04-S012026-07-23Approval default on; façade + IPC + Preferences toggle
PE04-S052026-07-23Data folder + native picker; Preferences.Changed dataRoot
PE03-S032026-07-23Version list/select; parentVersionId; select ≠ send
PE03-S022026-07-23Resume library import + Preferences UI; Resume.Imported
PE03-S012026-07-23Local profile CRUD; Preferences form via IPC
PE02-S032026-07-23Memory durable sink; allowlist coverage tests
PE02-S022026-07-23Full EVENT_SYSTEM catalog; Progress minimization
PE02-S012026-07-23FS storage provider; temp-dir KV/blob restart tests
PE01-S042026-07-23Dark default + light toggle
PE01-S032026-07-23IPC allowlist + typed bridge
PE01-S022026-07-23Primary H1 nav
PE01-S01 / DF-012026-07-23Tauri host

Sellable local MVP bar​

What must be true to sell the local-first MVP (on-device Agent, no cloud résumé storage, agent ≠ send):

  • Career drafts survive restart — applications persist under the on-device data folder.
  • User owns outbound: approval-before-send is visible in Preferences; nothing sends without intent.
  • Primary nav destinations all work — no "Coming Soon" for core nouns.
  • Startup is honest: health-check the Agent only; never fake a send.
  • First-run onboarding guides profile + on-device Agent model, and stays skippable.
  • Agent view describes readiness calmly — status and recent activity, no cascade theater.
  • Craft output can land in an application draft ("Save to application"); nothing is sent.
  • Queue lists items ready for review: Approve (stays on device) or Keep drafting.
  • Follow-ups can be scheduled on an application, with a due list.
  • Timeline shows a calm local activity feed (durable sink still deferred).
  • Primary intelligence is Ollama on this device; chrome says Agent · On-device; UI never imports @jobjitsu/ai.
  • Deferred honestly: real mail/apply channels, discovery network, structured résumé studio, remote providers, durable event log, plugins.