oll.am · Competitive study · POC inventory · platform capabilities · 2026-07-10

oll.in — positioning after careerset: inventory + the wedge.

CareerSet proves the market is real — and warns us off it. This study reads the mirror, takes honest stock of what we already have (POC-rich, ship-poor), maps the live platform we do own, and names the wedge: don't be careerset-but-smaller — be what a distribution-moated toolbox structurally can't.
Mirror: careerset.com Inventory: ~8 weeks of spikes Moat: composable spines Wedge: Bewerbungsfoto on-ramp
Part of the oll.in thread. This is the strategy layer above the voice work: the market-voice research tells us how the audience talks; this page decides what we build and why. It answers a single question honestly — after seeing careerset, do we keep spiking, or do we pick a wedge and ship?

1The mirror: what careerset teaches us

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.

The company, plainly

  • AI career platform, live since 2018 (founders Chris Schaap & Rohan Mahtani).
  • 1M+ job seekers/year, 100+ education institutions across the UK, EU and US.
  • Product = a toolbox of discrete self-serve tools: Score My CV, Target My CV, Cover Letter Feedback, LinkedIn Optimisation, Interview Practice, Career Map.
  • No public pricing — a tell that the buyer isn't the seeker.

The model & the mission

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."

The strategic reading — the whole point of this section

  • (a) The market is VALIDATED but MATURE. Someone has run this for eight years at million-user scale. We are late and small — that's a fact to plan around, not a wall.
  • (b) Their moat is DISTRIBUTION, not features. The tools are commodity; the institutional B2B2C channel is the asset. A solo builder cannot outspend an institutional sales motion in B2C paid acquisition — so we don't try.
  • (c) Their product is exactly the commoditized toolbox our dossier POCs replicate. "Score My CV / Target My CV / Cover Letter / Interview Practice" is what our spikes already do. Building "careerset but smaller and unknown" is a red-ocean trap.

Where their edges stop — and our wedge begins

CareerSet DOESCareerSet does NOT — our wedge
CV scoring & targeting, cover-letter feedbackNo Bewerbungsfoto — the Swiss CV photo every software tool skips
Discrete self-serve tools you operate yourselfNot an autonomous agent that runs the loop for you
Generic best-practice guidanceNot grounded on your real corpus with citations + honest abstention
Global-generic, English-firstNot Swiss / DACH-native (German, Swiss CV norms, RAV/SRK)
Institutional SaaS, priced to the universityNot 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.

2What we actually have: the POC inventory

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.

Draft POC PR chain — the grounded dossier, end to end

PRWhat it provedState
#86Synthetic RAG corpus for a dossierdraft
#87Dossier verbs tailor_cv / cover_letter / interview_prep on live oll-writedraft
#88oll-scout fixture (job-lead source)draft
#89Showcase frontend over the verbsdraft
#90RAG on real oll-memory over HTTP (not fixtures)draft
#91Full grounded dossier: memory → write chain, end to enddraft

Local ollin-* worktree spikes — ~10 real-wired probes

ollin-auth · real Core JWT ollin-crud ollin-foto-live · real LoRA headshots ollin-fully-functional · memory+write+Groq ollin-money · Stripe CHF 29/99/19mo ollin-real-only · zero fixtures ollin-nomock ollin-product-frontend ollin-wired-frontend · real UI on live stack ollin-real-cv · Sam's actual CV as corpus

Every 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.

Two MERGEABLE feature PRs (CI green, not draft)

PRWhat it landsState
foto #92Guest selfie upload endpointgreen
scout #93oll-scout → real Career-Radar service · 50 tests green · real Arbeitnow / Jooblegreen
Core #84Core guest-checkout re-landopen
foto #85Foto checkout page + deploy configopen

The verdict

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.

3What the platform can do: capability map

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.

SpineWhat it doesState
Core
core.oll.am
Auth (magic-link), billing (Stripe checkout / webhook / verify-session), email/sendlive
oll-model
model.oll.am
Any-model gateway — one provider switch (Groq default; Claude / Ollama / on-device opt-in)live
oll-memory
memory.oll.am
Ingest + hybrid retrieval (pgvector dense + keyword, RRF fusion) + schema-locked extraction; per-user private corpuslive
oll-write
write.oll.am
11 text-ops verbs, Core-JWT gated, calls oll-modellive

The agent seam

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.

Built, not deployed

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.

The point to hold onto

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.

4The wedge: where oll.in wins

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.

1 The Bewerbungsfoto on-ramp

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.

Why it wins · uncontested + shippable + pays now

2 Agentic, not a toolbox

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.

Why it wins · a different product shape, not a better tool

3 Grounded on YOUR corpus, with citations

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.

Why it wins · truthful + personal, not templated

4 Swiss · pay-once · private

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.

Why it wins · the incumbent's model is the constraint

Distribution hypothesis to steal from careerset — parked, not a build

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.

Single next action

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.

§Sources & grounding

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.