Selfwright is an open-core career operating system built around one constraint: every output traces to a locked evidence registry. It is released at 0.6.0 and in active use for career development, built in public under Apache 2.0.
Selfwright
An open-core, local-first career operating system: every output traces to a locked evidence registry.
- Architecture
-
Hexagonal, DDD, modular monolith - Fitness checks
-
33 total (28 in CI) - Holistic fit (LLM-tier close-out roles)
-
4.6-4.7 / 5.0
- TypeScript
- Hexagonal architecture (ports & adapters)
- Domain-Driven Design
- PostgreSQL + pgvector
- Claude (Anthropic) via a co-piloted generation path
-
Problem
Career tools optimize for volume and keyword-fit, not truth.
Most career and job-search tools optimize for volume and keyword-fit. Selfwright optimizes for truthful, defensible, top-tier output, then compounds everything learned — evidence, stories, decisions, contacts, lessons — into a personal knowledge system.
-
Approach
A locked truth layer, honesty walls, and scored drifts as the moat.
Four compounding goals, in build order: a career engine (truthful, ATS-tuned, archetype-tailored CVs and covers, auto-discovered roles), a coach (interview and networking prep, deliberate skill-gap closing), content (thought-leadership writing support), and expertise (becoming a functional and technical expert across the spaces it touches).
-
Architecture
Hexagonal, DDD, modular monolith — TypeScript-first, zero framework imports in the domain core.
The domain core is pure TypeScript with zero framework, provider, or storage imports — everything external (LLM calls, storage, memory, rendering, notifications) is reached only through a port, implemented by a swappable adapter. The git-based truth layer is the state of record; a PostgreSQL projection (with pgvector) provides a rebuildable index — never the source of truth itself.
-
Results
Truth validator passes on every generated artifact; evidence base compounds with each interview cycle.
Selfwright's fitness-function suite catches architectural drift and truth violations automatically. The truth-trace validator gates every generated document before use. After each interview, the coaching loop feeds debriefs, gap-scans, and drills back into the same evidence base.