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/johndoe
Before you begin, ensure you have:
git clone https://github.com/idimetrix/cv.git
cd cv
pnpm install
# or use the bootstrap command for full setup
pnpm bootstrap
The 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:dev
Your 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.js
for 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 server
pnpm format # Format, lint, and type-check
pnpm lint # Run ESLint
pnpm type # Run TypeScript type checking
pnpm prettier # Format code with Prettier
pnpm clean # Clean build artifacts and node_modules
pnpm bootstrap # Fresh install and setup
The easiest way to deploy your CV:
Or manually:
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
Deploy to Netlify
# Build the project
pnpm web:build
# Deploy the .next folder
netlify deploy --prod --dir=apps/web/.next
Deploy with Docker
# Build Docker image
docker build -t cv-app .
# Run container
docker run -p 3000:3000 cv-app
cv/
├── 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 ⭐