DEV Community

Cover image for I made my résumé something a machine can read fairly — here's how it's built, and how to stand up your own
sunny yuen
sunny yuen

Posted on

I made my résumé something a machine can read fairly — here's how it's built, and how to stand up your own

A model reads my work before any person does, and I had no say in what it concluded from a frozen PDF. I couldn't change that a machine reads first. I could change what I put in front of it. So I did — and here's the build.

The shape of it

  • A small backend exposes a profile as an API — GET /info, POST /query (grounded answers + sources), POST /match (fit score), POST /resume (tailored). It also speaks agent: an MCP endpoint and an A2A agent-card for machine callers.
  • A web front (React + a tiny Hono server) renders it as a conversation for people, and as JSON-LD + llms.txt + a crawlable <noscript> for machines — so a non-JS fetch isn't an empty shell.
  • Nothing hardcodes me. Identity comes from /info. Fork the front, point two env vars at your backend, and it's yours. Both repos are MIT.

Why I bothered

I'd rather be queryable and checkable than impressively static. The whole thing is grounded — ask it "what's the evidence?" and it answers with commit counts, tests, and live endpoints; the dated reasoning is browsable too. (The resume-agent repo links to a live instance if you want to poke it.)

If you want to build one

The smallest version is about ten minutes — fork the front, point it at any backend (even a stub /info), and deploy. That's a real, queryable node. If you stand one up, I'd genuinely like to see it. You don't have to agree with where I think this goes; a working node is its own statement.

This is the candidate side of a two-sided thing — an open protocol for hiring. The employer-side reference and the spec are open too, if the architecture pulls you further.

The repos


Built with a lot of AI help, deliberately unnamed — it wasn't one tool, it was the compounded work of everything that came before mine. Which is the kind of AI I'm building on: something you extend and pass forward.

Top comments (4)

Collapse
 
hello_gregkulp profile image
Gregory Kulp •

Similar drop in this niche, but for a semantic JSON-LD overlay to support existing docs.

github.com/Hello-GregKulp/resume-ld

Love your idea here!

Collapse
 
yuens1002 profile image
sunny yuen •

@hello_gregkulp thanks for sharing your repo. i take it the id part is just a tool along the chain. what's your resume pipeline like?

Collapse
 
hello_gregkulp profile image
Gregory Kulp •

pipeline would be disingenuine ~ it's a local tool to add JSON-LD semantics overlay to support context of an existing resume.

Would definitely like to hear more about yours

Thread Thread
 
yuens1002 profile image
sunny yuen •

authenticity (trust) and the truth be told in code:

Identity — Your deployed instance is tied to your domain via DNS fingerprint + Ed25519 key (OEP Phase 1). A fork at a different domain can't reproduce your proof. Verifiable by anyone: npx tsx scripts/verify-oep-domain.ts your-domain.com. Full chain: Fork the code. Your identity is yours.

Trust — The agent card, public key, and verification scripts are independently auditable. No third party required — verifiers run the scripts themselves against your domain and either get a cryptographic PASS or they don't. Full chain: Fork the code. Your identity is yours.

Truth — Every factual claim is cited inline and grounded in data you publish. The agent declines rather than fabricates, and a deterministic eval harness enforces this — run npm run eval:query and watch it pass or fail case-by-case. Full spec: Truth contract — we walk the talk