JSON Resume: AI-Optimized Technical Reference
Core Concept
JSON Resume: Store career data as JSON, generate multiple output formats (HTML, PDF, Word). Solves data duplication across LinkedIn, portfolio sites, and resume files.
Configuration
Working Setup Requirements
- Node.js: Required for resume-cli
- Command:
npm install -g resume-cli
- Alternative:
resumed
package (modern rewrite, actively maintained)
Critical File Structure
{
"basics": {
"name": "string",
"label": "string",
"email": "string",
"phone": "string",
"url": "string",
"summary": "string"
},
"work": [{
"name": "string",
"position": "string",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"summary": "string"
}],
"skills": [{
"name": "string",
"keywords": ["array", "of", "strings"]
}]
}
Production-Ready Themes (Only These Work Reliably)
- elegant: Clean, professional, good PDF export
- stackoverflow: Familiar design, mobile responsive
- kendall: Modern typography, handles long content
- paper: Minimal, well-maintained, proper PDF support
Theme Failure Rate: ~80% of available themes are broken/unmaintained since 2019
Resource Requirements
Time Investment
- Initial Setup: 2-4 hours (includes learning JSON syntax, debugging)
- Per-Update: 5-10 minutes once configured
- Theme Testing: 30-60 minutes per theme with real data
Expertise Requirements
- JSON syntax knowledge (critical - one missing comma breaks everything)
- Command-line comfort
- Git/version control understanding
- Basic Node.js troubleshooting
Skill Difficulty Comparison
- Easier than: Building custom resume templates from scratch
- Harder than: Google Docs/Canva resume editing
- Similar to: Managing configuration files for development tools
Critical Warnings
What Documentation Doesn't Tell You
JSON Syntax Failures:
- Trailing commas break validation:
"skills": ["JavaScript", "Python",]
= fatal error - Date format must be YYYY-MM-DD or themes break
- Unicode characters from copy-paste cause invisible validation errors
- Error messages are useless: "ValidationError: child 'education' fails"
Theme Reality vs Previews:
- Previews use perfect sample data
- Real data with 15+ skills breaks most layouts
- PDF export often generates 20 pages from 2 pages of content
- Print styles missing or broken in most themes
Export Limitations:
- PDF generation hit-or-miss depending on theme
- Word export formatting corrupted (bullets become Unicode chars)
- Mobile responsiveness varies dramatically by theme
Breaking Points and Failure Modes
Will Break If:
- Node.js version incompatibility (try Node 16.x if CLI crashes)
- npm permissions not configured properly
- JSON contains any syntax errors
- Theme hasn't been updated for current schema version
Common Production Failures:
- UI breaks at 1000+ character summaries, making long career histories unreadable
- Date parsing fails with non-standard formats, causing entire work sections to disappear
- Skill arrays with 20+ items break most theme layouts completely
Decision Criteria
Use JSON Resume When:
- You're a developer comfortable with JSON/CLI tools
- You update career info across multiple platforms frequently
- You need version control for resume changes
- You want automated resume generation in CI/CD
Don't Use JSON Resume When:
- You update resume twice per year maximum
- You're not comfortable with command-line tools
- You need immediate PDF without technical setup
- Your audience expects traditional resume formats only
Cost-Benefit Analysis
Worth It Despite:
- 2-4 hour initial setup cost
- Theme quality lottery
- JSON syntax learning curve
- PDF export limitations
Hidden Costs:
- Theme debugging time (2-3 hours per broken theme)
- JSON syntax error hunting (common: 1-3 hours per error)
- PDF formatting fixes (manual CSS tweaking required)
- Node.js/npm environment maintenance
Implementation Reality
Actual vs Documented Behavior
Documented: "Easy theme switching"
Reality: Most themes break with real data, require testing and fixes
Documented: "Clean PDF export"
Reality: PDF formatting broken in 60%+ of themes
Documented: "JSON validation catches errors"
Reality: Validation catches syntax but not logical/theme compatibility issues
Working Production Settings
# Validation (catches basic errors only)
resume validate
# Local testing (essential before committing)
resume serve --theme elegant
# Export formats
resume export resume.pdf --theme elegant
resume export resume.html --theme elegant
# Skip Word export - formatting always broken
Integration Patterns That Work
- Keep resume.json in private Git repo with dotfiles
- Use separate files for public/private versions
- GitHub Actions for automated builds
- Export to multiple formats, distribute PDFs to recruiters
- Import JSON directly in React/Vue portfolio sites
Migration Pain Points
- No migration path from Word/PDF to JSON (manual conversion required)
- Schema changes break older themes
- Theme abandonment requires theme switching and reformatting
Community and Support Quality
- Discord community: Active, faster than GitHub issues
- GitHub issues: Slow response, many unresolved theme problems
- Theme maintenance: Most themes abandoned, ~20 actively maintained
- Documentation: Outdated, missing real-world implementation details
Failure Recovery Strategies
- Use JSONLint.com for syntax debugging
- Test themes with actual data before committing
- Keep multiple export formats as backup
- Maintain separate public/private versions for security
Comparative Analysis
JSON Resume vs Traditional Approaches
Aspect | JSON Resume | PDF Resume | Word Document |
---|---|---|---|
Setup Effort | 2-4 hours + learning | 30 minutes | 30 minutes |
Update Frequency Efficiency | High (once → many formats) | Low (manual each time) | Low (manual each time) |
Version Control | Excellent (Git diffs) | None (binary files) | Poor (track changes) |
Automation Potential | High (CLI + CI/CD) | None | Limited (mail merge) |
ATS Compatibility | Good (clean HTML/PDF) | Variable | Variable |
Recruiter Acceptance | None (must export PDF) | Universal | Universal |
Error Detection | Good (JSON validation) | None (spell check only) | Basic (grammar check) |
Theme Quality | 20 good / 200+ broken | Template dependent | Template dependent |
Resource Investment ROI
- Break-even point: ~10 resume updates across multiple platforms
- High ROI scenarios: Frequent job changes, portfolio maintenance, team bio updates
- Negative ROI scenarios: Infrequent updates, non-technical users, PDF-only workflows
Useful Links for Further Investigation
Links That Actually Matter
Link | Description |
---|---|
JSON Resume Official Website | Official docs, kind of outdated but you need to read it first. |
Schema Specification | The JSON structure you need to follow. Read this first or you'll waste time with validation errors. |
JSON Resume Schema Repository | Source code for the schema. Check here for recent changes and GitHub issues about schema problems. |
Resume CLI | The official CLI tool. Install with `npm install -g resume-cli` and hope it doesn't break. Sometimes npm updates fuck with it. |
Resumed | Modern rewrite of the CLI. Actively maintained, uses current Node.js features, worth trying if the official CLI gives you trouble. |
resume-builder | Alternative CLI tool for building resumes from JSON data. Simpler than the official CLI. |
@jsonresume/schema NPM Package | Validation library. Use this in your build scripts to catch JSON errors before they break your resume generation. |
JSON Resume Themes Gallery | Tons of themes but most are garbage. Sort by recent updates to find ones that might actually work. |
Elegant Theme | Clean, professional, actually works with real data. Good PDF export. |
Stack Overflow Theme | Familiar design for developers. Mobile responsive. |
Kendall Theme | Modern, good typography, handles long content well. |
Paper Theme | Clean, minimal theme. Well-maintained fork with proper PDF export support. |
JSON Resume Registry | Free hosting. Create a GitHub Gist named `resume.json` and get `registry.jsonresume.org/yourusername`. |
Netlify | Best option for self-hosting. Free tier, automatic HTTPS, custom domains, continuous deployment from Git. |
Vercel | Similar to Netlify. Good for Next.js integration if you're building a portfolio site. |
GitHub Pages | Free but limited. Works fine for simple HTML exports. |
Resume with GitHub Actions Tutorial | Step-by-step guide for automating builds with GitHub Actions. Takes 5 minutes if it works, 2 hours when it breaks. |
JSON Resume npm integrations | Various npm packages for integrating JSON Resume into build tools. |
Gatsby JSON Resume Source | Use JSON Resume data in Gatsby sites via GraphQL. |
Fresh Resume Schema | Alternative resume schema format. More complex but more flexible than JSON Resume. |
Universal Resume | JSON-based resume with Vue.js frontend. Good if you want more control over the design. |
reactive-resume | Open source resume builder with JSON export. Good alternative if JSON editing intimidates non-developers. |
JSON Resume Discord | Active community for questions. Faster responses than GitHub issues. |
JSON Resume Issues | Bug reports and feature requests on the official repository. |
JSON Resume Examples | Browse real JSON Resume examples from the community registry. |
JSONLint | Fix JSON syntax errors. Use this when your resume.json breaks validation. |
JSON Schema Validator | Test your JSON against the official schema. Useful for debugging complex validation errors. |
JSON Resume CLI Documentation | Built-in validation docs: `resume validate`. Use this first before trying external tools. |
Related Tools & Recommendations
OpenAI Thinks They Can Fix Job Hunting (LOL)
Another tech company convinced they can solve recruiting with AI, because that always goes well
OpenAI Launches AI-Powered Hiring Platform to Challenge LinkedIn
Company builds recruitment tool using ChatGPT technology as job market battles intensify
Bun's Peer Dependency Hell - What Actually Works
When Bun breaks your ESLint setup and you want to throw your laptop out the window
NPM снова в говне - червь "Shai-Hulud" жрет пакеты как ебанутый
Очередной кошмар для JS-разработчиков: самовоспроизводящийся малварь ползет по NPM как песчаный червь из Дюны
npmワーム出現、マジでヤバい - Shai-Huludが大暴れ中
GitHubトークン盗んで勝手に広がる
jQuery - The Library That Won't Die
Explore jQuery's enduring legacy, its impact on web development, and the key changes in jQuery 4.0. Understand its relevance for new projects in 2025.
Hoppscotch - Open Source API Development Ecosystem
Fast API testing that won't crash every 20 minutes or eat half your RAM sending a GET request.
Stop Jira from Sucking: Performance Troubleshooting That Works
Frustrated with slow Jira Software? Learn step-by-step performance troubleshooting techniques to identify and fix common issues, optimize your instance, and boo
Microsoft Word Now Auto-Saves to Cloud by Default: Privacy Nightmare or Productivity Win? - August 29, 2025
Microsoft decided your documents belong in their cloud whether you want it or not
Northflank - Deploy Stuff Without Kubernetes Nightmares
Discover Northflank, the deployment platform designed to simplify app hosting and development. Learn how it streamlines deployments, avoids Kubernetes complexit
LM Studio MCP Integration - Connect Your Local AI to Real Tools
Turn your offline model into an actual assistant that can do shit
CUDA Development Toolkit 13.0 - Still Breaking Builds Since 2007
NVIDIA's parallel programming platform that makes GPU computing possible but not painless
Taco Bell's AI Drive-Through Crashes on Day One
CTO: "AI Cannot Work Everywhere" (No Shit, Sherlock)
Technical Resume Builders - Stop Getting Rejected by Robots
Master technical resume building to beat ATS systems and impress recruiters. Get expert tips, compare top builders, and learn from 200+ applications to secure y
gitconnected Resume Builder - Your GitHub is Your Resume
Stop manually updating your resume every time you learn a new framework. Automatically syncs your GitHub repos to build your resume.
AI Agent Market Projected to Reach $42.7 Billion by 2030
North America leads explosive growth with 41.5% CAGR as enterprises embrace autonomous digital workers
Claude API Code Execution Integration - Advanced Tools Guide
Build production-ready applications with Claude's code execution and file processing tools
MongoDB Node.js Driver Connection Pooling - Fix Production Crashes
depends on MongoDB Node.js Driver
Which JavaScript Runtime Won't Make You Hate Your Life
Two years of runtime fuckery later, here's the truth nobody tells you
Builder.ai's $1.5B AI Fraud Exposed: "AI" Was 700 Human Engineers
Microsoft-backed startup collapses after investigators discover the "revolutionary AI" was just outsourced developers in India
Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization