STORE PACKAGE
AGPL-3.0 · SELF-HOSTED · YOUR KEYS

Knowledge · Store package · v1.19.2

Intelligent Career

Reads openings from employers' own public ATS job feeds into a shared corpus, scores every posting against your private career profile, and turns the best fits into a human-in-the-loop application queue — approve, approve-with-OSHAL, or deny, then it writes a tailored resume + cover letter.

Opens at career.oshal.ai — the app lives in the hostname, so a first login lands you right back on it. On your own box it is ?app=career-hunter.

14 screens in the ribbon · opens on career-board

Career ReviewMobileSearch JobsJob BoardSubmissionsRecruitersInsightsStrengthenResume StudioProfile StudioPortrait StudioApprovalsCompaniesCareer Settings

What it does

The rest of the story.

Any document in the swarm can be sent here (ADR-139 Send to…) and absorbed into your profile. Single-tenant, multi-user (per-user isolation); multi-tenant ready.

On screen

What it looks like.

The Intelligent Career job board
Index your resume, score every opening. Upload once; every posting gets a fit score against your background, and the best fits become an approval queue. The live board, on the guest demo.

What you can ask it

Tools the bot can actually call.

Registered server-side, scoped to the signed-in user. The bot calls the tool — it never shells out, and it never handles the credential behind it.

How it runs

What happens when you use it.

Not a chat window with a plugin behind it. Every step below is something the app declares in its manifest, which is why it can be told to you plainly.

  1. 01

    You open it, or the assistant does

    Opening ?app=career-hunter loads its 14 screens into the shared cockpit, starting on career-board. The ribbon, the ticket list and the assistant are already there — the app contributes views, not a second application to log into.

  2. 02

    Or you just ask

    The assistant classifies what you asked for and hands it to the bot that owns that domain. You do not pick the app, and you do not learn a command — routing is by declared capability, not by keyword matching a menu.

  3. 03

    A named bot picks it up

    career-hunter is accountable for the work. 13 declared capabilities say what it is trusted to do; the tokens and dollars it spends are recorded against that identity, so the cost has a line item rather than disappearing into a monthly bill.

  4. 04

    Longer work becomes a ticket

    Scheduled and swarm-initiated work enters the queue as a career-application ticket. It is durable, it has an owner, you can watch it move through its phases, and if it fails it fails somewhere you can open and read.

  5. 05

    The result lands where you can check it

    Back on the app's own screens, as state you own — not as a chat message you have to scroll back to find.

With the assistant

You can ignore this app entirely and just ask.

The assistant is the front door. It classifies your request, delegates to the bot that owns the domain, and answers in one voice — so you do not have to know which of the applications this happens to live in.

Accountability

13 capabilities, each attached to a named identity.

Declared in the manifest and bound to the bot above — so "what is this thing allowed to do" is a list you can read, not a prompt you have to trust.

ats-scrapingjob-scoringresume-generationcover-letter-generationcareers-discoveryjob-searchjob-fit-advicejob-matchingapplication-strategyapplication-statusresume-tailoringrecruiter-outreachcareer-coaching

What it needs

Before it can do anything for you.

Also on the knowledge shelf

Apps that pair with this one.

All 6 knowledge apps →

Underneath

What every app on this site is standing on.

This app does not ship its own queue, its own credential store or its own cockpit. It declares what it needs and the platform provides it.