Inspiration

Recruiting context rarely lives in one place. Candidate information is scattered across CVs, email threads, notes, spreadsheets, and internal tools.

AI agents can help connect that information, but unrestricted access introduces a new problem: how do we make an agent useful without allowing it to silently change records or make decisions that belong to people?

Hiring Ledger grew from lessons I learned while building an earlier internal Candidate Reviewer. During Build Week, I rebuilt the concept around a much closer relationship between Codex and the recruiting application.

This project, and its predecessor, was already huge help that allowed me to review hundreds of candidates, communicate with them while still doing other game production related work.

What it does

Hiring Ledger is a local, agent-native recruiting command center.

It brings candidate profiles, documents, email history, reviewer notes, workflow stages, and custom lists into one workspace.

Codex can search this workspace, explain recent activity, inspect candidate timelines, prepare custom candidate lists, and open those results directly in the application.

The agent helps organize and understand the information, while hiring decisions and important changes remain under human control.

Integrating Hiring Ledger inside Codex also allows us to use other Codex plugins - we prepared a custom list with best candidates? Let Codex draft an emails to them with an intro call invite. And so much more.

How we built it

Hiring Ledger uses React, TypeScript, TanStack Start, SQLite, Drizzle ORM, Zod, and a dedicated MCP server that connects the application to Codex.

I used Codex with GPT-5.6 throughout Build Week to design the architecture, implement the agent workflows, solve integration problems, and test the complete experience.

GPT-5.6 runs through Codex rather than through a separate chatbot inside the application. Codex provides the reasoning and interaction, while Hiring Ledger remains responsible for the recruiting data and review workflow.

Challenges we ran into

The biggest challenge was making Codex and the application feel like one connected workspace.

The agent needed to understand what the reviewer was currently working on, retrieve the correct information, and open useful results in the interface—without silently changing candidate records.

Another challenge was preparing a safe demo based on a real workflow. I created a presentation-safe mode that replaces identities and contact details, blocks private documents and external links, and still allows the real application flow to be demonstrated.

Accomplishments that we're proud of

Codex can now work with Hiring Ledger as a practical recruiting assistant. It can find recent activity, inspect candidate history, prepare ordered candidate lists, and open those lists directly in the application.

The project also keeps source material, AI-generated context, and human decisions clearly separated.

For judges, the repository includes a one-command demo that creates a completely fictional workspace with 60 synthetic candidates across three openings. This makes it possible to test the full application and Codex integration without accessing any private recruiting data.

What we learned

A useful agent integration is about much more than giving a model access to a database.

The agent becomes far more helpful when it shares context with the interface, works through clear capabilities, and knows which actions require human control.

We also learned that safety does not need to make the experience feel rigid. With the right boundaries, Codex can still behave like a natural assistant while the application protects the underlying records.

What's next for Hiring Ledger

The next major step could be a standalone desktop version with Codex built directly into the Hiring Ledger interface. Although an app living inside Codex have some nice feel to it, and can utilize big selection of Codex / ChatGPT plugins and skills.

Other next steps include more recruiting-source integrations, better communication workflows, and easier packaging for small teams.

For now the tools is used internally, maybe it will be interesting for other to use, we will see.

Built With

Share this project:

Updates