A community-driven open-source initiative to create a JSON-based standard for resumes
JSON Resume is an open-source ecosystem of tools designed to create, share, and publish resumes in a standardized JSON format. This monorepo contains all the core applications, themes, and utilities that power the JSON Resume platform.
With JSON Resume, you can:
- Create a portable, machine-readable resume
- Publish your resume online with a unique URL
- Convert your resume to various formats (PDF, HTML, Markdown)
- Choose from a variety of community-built themes
- Leverage AI-powered tools to enhance your job search
All projects hosted on this domain can be found in the /apps folder:
| Application | URL | Source |
|---|---|---|
| Homepage | jsonresume.org | /apps/homepage2 |
| Registry | registry.jsonresume.org | /apps/registry |
JSON Resume themes allow you to render your resume in different styles. This repository includes several official themes:
jsonresume-theme-cvjsonresume-theme-flatjsonresume-theme-fulljsonresume-theme-onepagejsonresume-theme-onepage-plusjsonresume-theme-papirusjsonresume-theme-professionaljsonresume-theme-spartacusjsonresume-theme-standardjsonresume-theme-tailwindjsonresume-theme-stackoverflow
JSON Resume includes several AI-powered features to enhance your job search:
| Feature | Description | URL |
|---|---|---|
| Job Recommendations | Matches your resume with job postings from Hacker News Who Is Hiring | /[username]/recommendations |
| Cover Letter | Generates personalized cover letters based on your resume | /[username]/letter |
| Resume Suggestions | Provides suggestions to improve your resume | /[username]/suggestions |
| Interview Simulator | Simulates an interview based on your resume | /[username]/interview |
This project requires pnpm, an alternative to npm/yarn.
To install pnpm:
curl -fsSL https://get.pnpm.io/install.sh | sh -This repository uses Turborepo for managing multiple applications and packages.
# Clone the repository
git clone https://github.com/jsonresume/jsonresume.org.git
cd jsonresume.org
# Install dependencies
pnpm i# Start all applications
pnpm turbo dev
# Start a specific application (e.g., registry)
pnpm turbo dev --filter=registryThe registry allows users to publish and share their resumes with unique URLs.
# Start the registry application
pnpm dev --filter=registryThese variables are optional and used for running different parts of the registry. The main rendering behavior of resumes does not require them.
# GitHub token for authentication
GITHUB_TOKEN=
# Database URLs
DATABASE_URL_RAW=
DATABASE_URL=
# AI configurations
PINECONE_API_KEY=
PINECONE_ENVIRONMENT=
OPENAI_API_KEY=
PERPLEXITY_API_KEY=
SUPABASE_KEY=Local server will be available at http://localhost:3000/thomasdavis
The homepage serves as the main entry point for the JSON Resume project.
# Start the homepage application
pnpm dev --filter=homepage2The registry can render React-based themes. Here's how to create one:
- Create a new theme package in
/themes/your-theme-name - Export a React component that accepts
resumeprop - Important: Avoid using Node.js-specific modules like
fs- they won't work on Vercel's edge runtime - Use the
@repo/uipackage for shared components
Example structure:
// themes/your-theme/index.js
export default function YourTheme({ resume }) {
return (
<div>
<h1>{resume.basics.name}</h1>
{/* Your theme JSX */}
</div>
);
}- Test locally:
pnpm dev --filter=registry
# Visit http://localhost:3000/thomasdavis?theme=your-theme-nameThe AI-powered features require additional environment variables:
# Required for AI features
OPENAI_API_KEY=your_openai_key
PERPLEXITY_API_KEY=your_perplexity_key
PINECONE_API_KEY=your_pinecone_key
PINECONE_ENVIRONMENT=your_pinecone_envAI features use the Vercel AI SDK v5 (ai package). See the registry app for implementation examples.
# Run tests for all projects
pnpm turbo test
# Run tests for a specific project
pnpm turbo test --filter=registryFor more detailed documentation about:
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Clone your fork to your local machine
- Create a branch for your feature or bugfix
- Make your changes and commit them
- Push your changes to your fork
- Submit a Pull Request
Please make sure to follow our code style and include appropriate tests for your changes.
Join our Discord community for discussions, support, and collaboration.
Brand colors: Color Hexa
This project is licensed under the MIT License.
- Enhance AI recommendation features
- Add support for more export formats
- Improve theme customization options
- Add an option to use your own API key for AI features
- Create a unified CLI tool for the ecosystem
- If you don't import components from
@repo/ui, it will not work in the build step