A modern, minimalist CV builder designed for professionals who value simplicity and results. Built with the latest web technologies, this tool creates beautiful, print-friendly CVs that actually get past Applicant Tracking Systems (ATS).
Perfect for:
- 💼 Job seekers wanting a professional online presence
 - 🎓 Recent graduates building their first CV
 - 👨💻 Developers showcasing their technical skills
 - 🚀 Professionals who need quick, reliable CV generation
 - 🏢 Organizations managing CVs for multiple team members
 - 🌐 Platforms hosting CVs for 1000+ users
 
- Clean, minimalist layout that highlights your experience
 - Responsive design works perfectly on all devices
 - Print-friendly formatting for physical copies
 
- Configure everything in a single file
 - No complex forms or databases required
 - Live preview as you make changes
 
- Passes Applicant Tracking Systems with ease
 - Semantic HTML structure for better parsing
 - SEO-optimized for maximum online visibility
 
- Built with modern tech stack (React, Next.js, TypeScript)
 - Fully customizable and extensible
 - Type-safe development experience
 
- Print directly from browser
 - Download as PDF
 - Export as PNG, JPG, or SVG
 - Share via unique URL
 
- Support for unlimited users (tested with 1000+)
 - Dynamic loading - only loads data when needed
 - Each user gets their own URL: 
/user/{username} - API endpoints for user management
 - Scales effortlessly with your needs
 
| 
 Frontend 
  | 
 Tooling 
  | 
 Deployment 
  | 
Get your CV up and running in less than 5 minutes:
# Clone the repository
git clone https://github.com/idimetrix/cv.git
# Navigate to the project
cd cv
# Install dependencies and setup
pnpm bootstrap
# Start the development server
pnpm web:dev🎉 That's it! Open http://localhost:3000 to see your CV.
Want to host multiple CVs? Check out the Multi-User Guide for detailed instructions.
# Quick: Create a new user
mkdir apps/web/users/johndoe
cp -r apps/web/users/idimetrix/* apps/web/users/johndoe/
# Edit the user data
# Then add to apps/web/utils/users.ts
# Access at http://localhost:3000/user/johndoeBefore you begin, ensure you have:
git clone https://github.com/idimetrix/cv.git
cd cvpnpm install
# or use the bootstrap command for full setup
pnpm bootstrapThe bootstrap command will:
- Install all dependencies
 - Run code formatters (Prettier)
 - Run linters (ESLint)
 - Type-check the codebase
 
Edit the configuration file at:
apps/web/users/idimetrix/index.ts
Or create your own profile folder:
apps/web/users/your-name/
pnpm web:devYour CV will be available at http://localhost:3000
All your CV content is managed in a single configuration file:
// apps/web/users/idimetrix/index.ts
export const RESUME = {
  firstName: "Your",
  lastName: "Name",
  email: "[email protected]",
  phone: "+1234567890",
  // ... more fields
};- Personal Information - Name, contact, location
 - Professional Summary - Your elevator pitch
 - Experience - Work history with achievements
 - Education - Academic background
 - Skills - Technical and soft skills
 - Projects - Portfolio pieces
 - Languages - Language proficiency
 
- Styling: Modify 
tailwind.config.jsfor theme changes - Layout: Edit components in 
apps/web/components/ - SEO: Update metadata in 
apps/web/utils/seo.tsx 
pnpm web:dev        # Start development server
pnpm web:build      # Build for production
pnpm web:start      # Start production serverpnpm format         # Format, lint, and type-check
pnpm lint           # Run ESLint
pnpm type           # Run TypeScript type checking
pnpm prettier       # Format code with Prettierpnpm clean          # Clean build artifacts and node_modules
pnpm bootstrap      # Fresh install and setupThe easiest way to deploy your CV:
Or manually:
# Install Vercel CLI
npm i -g vercel
# Deploy
vercelDeploy to Netlify
# Build the project
pnpm web:build
# Deploy the .next folder
netlify deploy --prod --dir=apps/web/.nextDeploy with Docker
# Build Docker image
docker build -t cv-app .
# Run container
docker run -p 3000:3000 cv-appcv/
├── apps/
│   └── web/                    # Main Next.js application
│       ├── components/         # React components
│       │   ├── atoms/         # Basic UI elements
│       │   ├── molecules/     # Composite components
│       │   └── organism/      # Page-level components
│       ├── constants/         # Configuration & constants
│       ├── pages/             # Next.js pages
│       │   ├── index.tsx      # Homepage (default user)
│       │   ├── user/          # Multi-user routes
│       │   │   └── [username].tsx  # Dynamic user pages
│       │   └── api/           # API endpoints
│       │       └── users/     # User API
│       ├── styles/            # Global styles
│       ├── types/             # TypeScript types
│       ├── users/             # User CV data ⭐ Multi-user support
│       │   ├── idimetrix/     # Example user
│       │   └── {username}/    # Add more users here
│       └── utils/             # Utility functions
│           └── users.ts       # User management utilities
├── packages/                   # Shared packages
│   ├── config/                # Shared configuration
│   ├── dayjs/                 # Date utilities
│   ├── lib/                   # Shared utilities
│   ├── mongodb/               # Database utilities
│   ├── trpc/                  # API layer
│   └── tsconfig/              # TypeScript configs
├── USERS_GUIDE.md             # Multi-user setup guide ⭐
└── turbo.json                 # Turbo configuration
Contributions are what make the open-source community amazing! Any contributions you make are greatly appreciated.
- Fork the Project
 - Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
 
- Follow the existing code style
 - Write meaningful commit messages
 - Add tests for new features
 - Update documentation as needed
 - Ensure all tests pass before submitting
 
This project is licensed under the MIT License - see the LICENSE file for details.
What this means:
- ✅ Use commercially
 - ✅ Modify freely
 - ✅ Distribute
 - ✅ Private use
 - ❌ Liability or warranty
 
Dmitrii Selikhov
- 🌐 Website: LinkedIn
 - 📧 Email: [email protected]
 - 🐙 GitHub: @idimetrix
 
- Inspired by the need for simple, effective CV creation
 - Built with amazing open-source technologies
 - Community feedback and contributions
 
- Multi-User Guide - Complete guide for hosting multiple CVs ⭐
 - Next.js Documentation
 - TypeScript Handbook
 - Resume Type Definition
 - Example User Data
 - User API Documentation
 
- ⭐ Stars: Show your support by starring this repo!
 - 🐛 Issues: Found a bug? Report it
 - 💡 Ideas: Have a feature request? Share it
 
If this project helped you, please consider giving it a ⭐
