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