CareerSet is the version of this market that already won. Reading it isn't discouraging — it's a map of where not to fight, and it points straight at our opening.
B2B2C. The real customer is the institution — universities and careers teams — plus employers and outplacement firms. The job seeker is the end-user, not the payer.
Mission language, in their words: "a fairer and more transparent job market where people are judged on their real potential"; "everyone should have access to the same quality of tools."
| CareerSet DOES | CareerSet does NOT — our wedge |
|---|---|
| CV scoring & targeting, cover-letter feedback | No Bewerbungsfoto — the Swiss CV photo every software tool skips |
| Discrete self-serve tools you operate yourself | Not an autonomous agent that runs the loop for you |
| Generic best-practice guidance | Not grounded on your real corpus with citations + honest abstention |
| Global-generic, English-first | Not Swiss / DACH-native (German, Swiss CV norms, RAV/SRK) |
| Institutional SaaS, priced to the university | Not pay-once & private for the individual (EU/on-device routing) |
The right column is not wishful — it's the negative space of a mature product. Each row is a place a distribution-moated incumbent has no reason to go, and where a small, sharp, Swiss, platform-backed tool can.
Honest stock-take: we are POC-rich and consolidation-poor. Roughly eight weeks of exploration — all real-wired to the live stack, nothing merged, nothing charging. This is the pattern to break, not repeat.
| PR | What it proved | State |
|---|---|---|
| #86 | Synthetic RAG corpus for a dossier | draft |
| #87 | Dossier verbs tailor_cv / cover_letter / interview_prep on live oll-write | draft |
| #88 | oll-scout fixture (job-lead source) | draft |
| #89 | Showcase frontend over the verbs | draft |
| #90 | RAG on real oll-memory over HTTP (not fixtures) | draft |
| #91 | Full grounded dossier: memory → write chain, end to end | draft |
ollin-* worktree spikes — ~10 real-wired probesEvery one touches the real deployed spines. Collectively they've de-risked auth, headshots, memory-grounding, generation, pricing and the frontend — independently. What's missing is not another proof; it's one path that carries them together to a URL a stranger can pay at.
| PR | What it lands | State |
|---|---|---|
| foto #92 | Guest selfie upload endpoint | green |
| scout #93 | oll-scout → real Career-Radar service · 50 tests green · real Arbeitnow / Jooble | green |
| Core #84 | Core guest-checkout re-land | open |
| foto #85 | Foto checkout page + deploy config | open |
The answer is not another spike. We have already proven every piece. The move is to pick the wedge, consolidate its winning branches, and ship one deployable path — turning green-but-parked PRs into a live product a stranger can pay at.
Here's the structural advantage careerset can't copy from the outside: we don't have a UI over a model — we own the composable infrastructure. Three frozen spines, all deployed and health-green today, plus an agent seam. Products are thin; the spines are the moat.
| Spine | What it does | State |
|---|---|---|
Corecore.oll.am | Auth (magic-link), billing (Stripe checkout / webhook / verify-session), email/send | live |
oll-modelmodel.oll.am | Any-model gateway — one provider switch (Groq default; Claude / Ollama / on-device opt-in) | live |
oll-memorymemory.oll.am | Ingest + hybrid retrieval (pgvector dense + keyword, RRF fusion) + schema-locked extraction; per-user private corpus | live |
oll-writewrite.oll.am | 11 text-ops verbs, Core-JWT gated, calls oll-model | live |
oll-mcp — an MCP gateway with Core-JWT + plan-gated tools, proven live via OpenCLAW. This is what lets an external agent drive the platform: scout → ground → tailor → track, as one loop.
foto — LoRA headshot with guest checkout. scout — Career Radar over real job boards. Both exist as green PRs (§2); they need consolidation + Sam's console to go live, not more code.
CareerSet is a UI over a model. oll.am is a composable platform — identity + billing + memory + model + agent. That inverts the build economics: their features are the product; our spines are the product, and each seeker-facing tool is thin and disposable. We compose a new product in days, not quarters — and every product we ship makes the next one cheaper.
The recommendation, plainly: don't be careerset-but-smaller. Be what a distribution-moated toolbox structurally can't. Four differentiators — ordered by nearness to a franc.
Swiss CVs culturally require a photo. CareerSet — and every software career tool — ignores it. We already have the real LoRA pipeline. Zero competitor overlap, and it's the closest thing we have to a franc: a concrete, one-off, obviously-priced job.
They hand you tools you operate yourself. We do the loop for you: scout → ground → tailor → foto → track. The agent seam (oll-mcp) is already live — this is a capability they'd have to rebuild their product model to match.
Their Target-My-CV is generic best-practice. Ours grounds on your real memory corpus, cites, and abstains honestly when it doesn't know — the memory spine, proven in CiteBible. Trustworthy where a generic tool can only guess.
German-native, Swiss CV norms, EU/on-device routing, pay once — versus global-generic institutional SaaS priced to a university. We meet the individual where the incumbent's business model can't follow.
Their moat is institutions. The Swiss analogue would be RAV, Fachhochschule career services, and outplacement firms. Noting it because it's the right long-game channel — but it stays a hypothesis, explicitly not a build. We earn the first franc in B2C direct first; institutional distribution is a later chapter, if the wedge proves out.
The wedge = the Bewerbungsfoto on-ramp. Consolidate foto #92 + foto #85 + Core #84 (guest-checkout) into one deployable path — a stranger uploads a selfie, pays once, gets a Swiss-norm application photo. The agentic grounded dossier is the DEPTH behind the on-ramp, not a me-too front door: it's why they stay, not why they arrive.
Still needs Sam's console for the live deploy: Replicate token, Stripe CHF 29 price + webhook, and a Coolify app + domain. Code is done; the last mile is a console session.
CareerSet facts are from careerset.com/about-us (company, tools, mission language, model). The POC inventory and capability map are grounded in this repo's real PRs, worktree branches and deployed services — not projections; the spines' live state is health-green today.
Honesty line holds: no "Swiss-hosted" / data-residency claim; the agent prepares, the human reviews and sends; no guaranteed-job language. The distribution hypothesis (§4) is explicitly parked as a hypothesis, not a committed build.