/projects/resume-agent
Resume Agent
A2A-compatible AI agent that represents a professional profile as a machine-queryable JSON API — built for employer AI systems, ATS tools, and personal LLM interfaces.
The problem
AI systems are increasingly the first pass in hiring. Most candidates have no structured, queryable representation of their professional profile that AI agents can interrogate directly.
My role
Sole developer and architect.
Highlights
- Production-grade MCP implementation: SSE streaming transport with 30s keepalives, OAuth2 (Auth Code + PKCE) for Claude.ai integration, and dual-visibility servers (private tools vs. public recruiter tools)
- Multi-stage Latency Optimization: Reduced behavioral p95 from 11.3s to 320ms via two-layer response caching (in-process + pgvector-aware), per-category maxToken tuning, and progressive disclosure for enumeration queries
- A2A (Agent-to-Agent) v1.0 compliance: RFC 8615 canonical /.well-known/agent.json discovery, Ed25519 domain verification (OEP), and signed git-evidence attestation for verifiable project history
- Truth contract enforced by code: inline [N] citation rules and a 18-case eval harness (deterministic rubric + LLM-as-judge) that catches fabrication, confidence inflation, and citation drops
- UX-optimized Query Engine: Dual-mode interaction (conversational prose vs. structured JSON), third-person follow-up suggestions, and progressive disclosure to bound LLM costs while maintaining quality
- Nightly GitHub-to-OB1 Sync: LLM-powered architecture reconciliation via semantic diffing (Claude-Haiku) to extract project thoughts from CHANGELOGs and automated version-drift detection between package.json and logs
- Observability & Eval Discipline: Automated median-of-N latency baselines, phase-timing instrumentation (LLM vs. retrieval), and majority-vote correctness evals to resolve behavioral-fixture flakes
- Deterministic job-fit scoring: AI provides categorical sub-dimension judgments (skills, experience, domain), while code computes the weighted average (50/30/20) to eliminate LLM drift and score inflation
Architecture
This project provides a machine-queryable AI agent that serves as a canonical, truth-grounded professional profile for employer AI systems and personal use. Built on Node.js and Hono, the architecture utilizes the Vercel AI SDK to orchestrate reasoning tasks via Anthropic and OpenAI models while leveraging the OB1 framework for knowledge capture and storage. The system exposes a public HTTP API, an OpenAPI-compliant agent card, and dual MCP servers for both public tool-calling and private knowledge management. A key engineering focus is the Truth Contract, which enforces inline citations and prevents hallucination through a deterministic evaluation harness and strict system prompt rubrics. The project further implements the Open Employment Protocol Phase 1, using DNS fingerprints and Ed25519 keys to ensure cryptographic identity verification and self-sovereign data ownership.
Impact
Designed to be discovered and queried by employer AI systems, ATS tools, and personal LLM agents. Queryable via QR code at networking events or by any A2A-compatible system.