How We Built Rezzy: An AI Agent That Actually Edits Your Resume
Most AI resume tools generate text you copy-paste. Rezzy is different: it's an agent with 29 tools that directly modifies your resume. But nothing changes until you approve it.
We built Rezzy using Vercel AI SDK 6, Claude Sonnet 4.5, and a human-in-the-loop approval pattern that we think more AI tools should adopt. Here's how it works.
The Problem With AI Resume Tools
The typical AI resume tool flow looks like this: paste your resume, get AI-generated text back, manually copy the changes you want. There's no context about what changed or why. It's a black box.
We wanted something different: conversational editing with transparency and control. You should be able to say "make the headings bigger" or "add Python to my skills" and see exactly what will change before it happens.
The Architecture
The Stack
- Vercel AI SDK 6: streamText for server-side streaming, useChat hook for client state
- Claude Sonnet 4.5: via Anthropic SDK for the agent's brain
- React context: for real-time layout updates
- Zod schemas: for tool input validation
The 29 Tools
Rezzy has 29 specialized tools split into two categories: 23 content tools that modify what your resume says, and 6 layout tools that modify how it looks. Each tool has a specific job, a validated input schema, and a structured output.
Content tools cover skills (add, remove, rename categories), experience (add/update/remove bullets and positions), education, certifications, and projects.
Layout tools handle typography (fonts, sizes, weights), colors, backgrounds, spacing, margins, and column structure.
The Approval Workflow
This is the key differentiator. Unlike typical AI agents that auto-apply changes, Rezzy uses deferred execution. The agent proposes tool calls, each one becomes a card in the UI, and you can preview changes before accepting. Nothing commits until you explicitly approve.
The State Machine
Each tool call moves through four states: pending (awaiting action), previewing (changes visible on resume), accepted (committed to data), or rejected (discarded). The preview toggle lets you see exactly what will change on your actual resume before anything becomes permanent.
Why does this matter? Trust. Users see exactly what will change. They can accept or reject individual changes, or batch accept everything at once. No black box.
Dual Execution Paths
Content tools and layout tools work completely differently under the hood, but share the same approval UX.
Content tools return structured data that gets converted to our UpdateSuggestion format. These suggestions are applied via a preview function and render as highlighted changes on the resume (green for additions, yellow for updates).
Layout tools directly manipulate React context setters for real-time UI updates. We capture baseline values before any previews, which lets us restore the original state if you reject changes.
The reason for two paths: content is data transformation (resume JSON), while layout is UI state (context values). Different execution models, unified approval experience.
Constraints and Guardrails
We limit the agent to 5 tool calls per conversation turn. This prevents runaway generation and keeps interactions focused. If you need more changes, just send another message.
The system prompt is designed for brevity: give a brief statement before tool calls, no explanation after. The UI preview shows users what changed, so the agent doesn't need to narrate.
Context injection matters too. The agent receives your current resume data as JSON, plus your target job posting if one is selected. This gives it full context to make relevant suggestions.
What Makes This Different
| Typical AI Resume Tool | Rezzy |
|---|---|
| Returns text to copy-paste | Directly modifies document |
| Single output | 29 specialized tools |
| No preview | Preview before commit |
| Content only | Content + layout in same conversation |
| Black box | Transparent tool calls |
This is how we think AI tools should work: with the user in control, seeing exactly what's happening, and deciding what to keep.
Want to see Rezzy in action? Check out our full feature showcase for a broader look at what Text2Resume can do.
Related Articles
What We've Been Building: The Text2Resume Builder That Lets You Actually Chat With Your Resume
A full feature showcase of Text2Resume's 2025 builder: layout controls, AI edits, and Rezzy.
Creddle Closed Its Doors: How Text2Resume Wants to Be the Alternative
The story of Creddle's shutdown and how Text2Resume carries forward its legacy.
