# resume-json

AI-managed resume with a single source of truth

- Role: Developer & Architect
- Period: Sep 2025 – present
- Status: active
- Domain: ai
- Type: case-study
- Human page: https://alicem.dev/projects/resume-json

## Summary

A private MCP server that lets an AI assistant read, back up and safely update my structured JSON resume, and keep a log of job applications. It is the tool I use most actively, and the content source for this site.

## Case study

### Problem

A resume is a different document for every job, but the facts behind it should live in one place. I also wanted an AI assistant to help tailor it without ever being able to quietly overwrite or lose the original.

### Approach

One structured JSON schema (now at version 2.9) holds career history, skills, certifications, projects and hobbies. The server is a pure data provider: it makes no AI calls of its own. The AI client does all the analysis and tailoring, and the server only reads, writes and backs up. Anything that overwrites the resume needs explicit user confirmation, and a backup is made automatically first.

### Architecture

Three-layer clean architecture: a domain layer (models and operations), an application layer (the resume service) and an infrastructure layer (the FastMCP server and configuration). Seven tools. Read: read_resume, list_resume_backups, read_usage_log. Write: save_customized_resume and restore_resume_backup (both confirmation-gated), create_resume_backup, and add_usage_log_entry. Safeguards: file path validation against directory traversal, schema validation, and no API keys anywhere.

### Result

In active use since late 2025. About a dozen automatic snapshots between December 2025 and September 2026 trace how the resume evolved, and a job-application log records which version went to which role. It now also feeds this site, through a privacy filter that decides which fields may be published.

Note: Private tool. A live demo is available on request: contact@alicem.dev

## Highlights

- Pure data provider: no external AI calls and no API keys; the AI client does the analysis
- Anything that overwrites the resume is confirmation-gated, with an automatic backup first
- Seven tools covering the resume, its backups and a job-application log
- Built with the ONE TOOL process: operation library extraction, phased and tested
- Source of truth for this site, behind a privacy filter

## Technologies

MCP, Python, FastMCP, JSON, Clean Architecture, LLM Integration

