Derek Blum / GetSeen
Case study · private tool

GetSeen 👀

A job-search platform that screens career boards, honestly scores fit against a real master resume, tailors a resume and cover letter per posting, and tracks the pipeline through to outcome - built to survive its own creator's job search, not a demo.

Tailored, not generic
resume + cover letter rebuilt to each posting's own language, every time
Zero auto-submit
every stage requires an explicit human click - the user always applies
Two AI arms
a Claude Code worker vs. a self-hosted model worker, identical plumbing, honest comparison
Shared framework
its agent loop is a portable package, extracted for reuse across FOMX's other apps
Never fabricates
tailoring selects and rephrases real experience only - no invented content, ever
Own sources only
screens boards the user points it at - never a scraped national job database

01The idea

Tailoring a resume to every posting, honestly, is the highest-leverage thing a job seeker can do - and the thing almost nobody has time to actually do well, for every job, every time. This automates that discipline without automating away the judgment: the AI screens, scores, and drafts; the person still decides what's true, what's good enough, and when to hit send.

The workflow: import a master resume (a superset of everything you've done, each bullet tagged by skill) → add career-board sources → screen postings against it, AI-scored or by hand → generate a tailored resume and cover letter for anything worth applying to → review and edit → export → track through to outcome. Every one of those arrows is a deliberate, explicit click - nothing advances on its own.

02Built to be honest, on purpose

Researching the competitive landscape surfaced a clear pattern: the worst-reviewed tools in this category are exactly the ones that auto-submit applications on a user's behalf.

03Architecture - a reusable agent loop, not a one-off script

The AI mechanics are a generalized, portable package (agentkit) - a queued, tool-using model loop that any app can lift by copying one folder. It's a direct port of the job-queue pattern already hardened in Tourney: the app creates a job, a worker claims it, the model gets offered a menu of tools scoped to that job's type, and every tool result is written by the app itself - never trusted from the worker, so the model can propose but never silently act.

Claude Code worker
Runs claude -p in a subprocess, non-interactive - one prompt in, one result out, no terminal session to babysit.
Self-hosted worker
The same job, run through an open-weight model on owned hardware instead - identical plumbing, only the "brain" changes.

Two independent checks gate every tool call: the worker's claimed identity, and whether that tool is even registered for that job's type. A worker that lies about which tools it wants gains nothing - an unregistered tool name is refused outright.

04Product thinking, not just code

Past the working tool, there's a real product plan behind it: a three-tier AI serving model (bring-your-own Claude access at zero marginal cost, a self-hosted tier on owned hardware, and a platform-paid tier for convenience), priced against researched competitors (Teal, Jobscan, Simplify.jobs, LazyApply, Sonara), with the honest no-auto-submit design as the actual competitive edge - not a missing feature, the reason the worst players in the category get the worst reviews.