Skip to content

How WorkWingman Spends Your AI — In Plain English

(Plain-language twin of byok-efficiency.md. Same design, no jargon.)

WorkWingman doesn't come with its own AI. You plug in your AI accounts — Claude, ChatGPT, Gemini, Grok, or a free local model — and the app uses them on your behalf. That's your money and your monthly limits, so the app owes you three promises:

  1. You can always see what it spent, and what you got for it.
  2. It never eats the AI quota you use for your own chats.
  3. It never grades its own homework.

Here's how each piece keeps those promises.

Every AI call goes through one door

All of WorkWingman's AI traffic passes through a single internal gateway that writes down every call: which provider, which model, how big, what it cost, and which job it was for. There is no side door — the build itself fails if any code tries to call an AI provider directly.

The logbook is designed so it physically cannot contain your resume text, your name, or anything personal — the record format has no field where text could go. It holds numbers and category labels only. Your documents never end up in telemetry, because there's nowhere to put them.

The AI only sees what the task needs

When WorkWingman sends something to an AI model, the model gets a fenced, minimal package — just the fields that task requires. It gets no tools, no access to your files, no access to your password vault, and its answers are treated as text to review, never as commands to run. The AI works for the app on one task at a time; it doesn't get the keys to the app.

It knows what plan you're on

Efficiency only means something against your real limits. At setup you tell the app which plan each key is on (say, Claude Max, or ChatGPT Plus, or a pay-as-you-go key). While running, the app also reads the usage signals the providers send back. If what it observes disagrees with what you declared — say the responses look like a Pro plan but you picked Max — it asks you instead of silently changing anything. Every plan-related number on screen is labeled with how sure we are: you told us, confirmed by the provider, inferred, or unknown.

Your personal quota is protected first

You set two dials per key: a monthly cap for WorkWingman, and a reserve slice that WorkWingman may never touch — headroom for your own chatting. The app throttles itself against its slice, never against your whole plan:

  • Green — everything runs.
  • Yellow — background extras pause first (overnight job enrichment, study suggestions). Anything you click yourself still works.
  • Red — only things you directly ask for, using the cheapest capable model.
  • Blackout — the app stops spending on that key entirely, and tells you.

The order of sacrifice is fixed: nice-to-haves die first; the core "help me apply" flow is always the last thing standing.

The right-sized model for each job

Sorting job listings doesn't need the same brainpower as writing your cover letter. A routing table sends grunt work (parsing, sorting, de-duplicating) to free local or cheap models, and saves your strongest model for what actually represents you — resume wording, interview answers. You can see the whole table and override any row.

Compression never touches your documents

Internal chatter between the app and the AI gets compressed to save your money. But anything a human will read — your resume, cover letters, thank-you notes, interview answers — is always produced at full quality. The boundary is built into the type of task, not left to judgment: document-producing tasks structurally cannot use the compressed path.

The council asks before it spends

For high-stakes writing — a final resume pass, a big interview answer — you can convene several of your AI models at once: each drafts independently, they critique each other, and the best synthesis wins. That costs several models' worth of tokens, so it never runs on its own. You get a consent box first:

Council Mode (3 models) · estimated cost $0.15 · about 15 seconds · uses ~4% of your Anthropic key's window. [Approve] [Use single model instead]

You can drop any seat, cap the spend, and see afterward whether council results were actually worth adopting versus a single model.

The Metrics tab: what you see

For each of your keys:

  • Spent this window and % of your plan used (with the confidence label).
  • Cost per finished outcome. The headline is honest: dollars per qualified application you actually submitted and didn't withdraw within a week — "qualified" meaning your skills genuinely covered the job's requirements, checked mechanically, so firing off mismatched applications can't flatter the number. It includes every regeneration and do-over it took. Not "AI calls made." Not "documents generated." Finished, qualified things.
  • Savings, in two separate piles: real receipts (e.g., cache discounts, work the free local model handled) and estimates (e.g., "a stronger model would have cost X"). The two piles are never added together, because mixing receipts with guesses makes the total meaningless.
  • The routing log — which model handled what, and why.

What the numbers refuse to count

  • Applications fired off in bulk don't flatter the stats: the headline pairs with your response rate, so spam-applying makes the numbers worse, not better.
  • The AI scoring its own writing is banned as a success measure. "The model rates this resume 9/10" counts for nothing here. Only your actions count — you kept it, you sent it, you submitted it, it stayed submitted.
  • Interviews earned shows as context, but it's never the headline — interviews depend on luck and timing, and a metric you can't influence honestly invites dishonesty.
  • Skipping AI entirely to make cost look low isn't rewarded either: regeneration counts and outcomes-per-hour are watched alongside cost, so under-spending that creates rework shows up too.

Every number on the tab traces back to logged events on your machine. Nothing leaves your computer, and nothing on the screen exists that can't be recomputed from the local log in front of you.