ResumeLM is open source, self-hostable, and has a free plan that supports your own AI provider keys. Pro is $20/month and provides app-funded premium model access.
ResumeLM is an open-source AI resume builder that helps job seekers create professional, ATS-aware resumes and tailored versions for specific applications.
AI-assisted bullet editing
- Smart content suggestions based on your experience
- Real-time feedback on your resume content
- Industry-specific optimization for better results
- ATS-friendly formatting and keyword optimization
Organize Your Entire Job Search
- Centralized resume management system
- Create base resumes and tailored versions
Resume performance feedback
- ATS compatibility scoring and analysis
- Keyword optimization insights
- Detailed improvement recommendations
- Performance metrics and analytics
Save 30+ Minutes Per Application
- Tailored to match specific job requirements
- Professional tone and structure
- Highlights your relevant achievements
- Personalized for each opportunity
Free plan available • Pro is $20/month • A payment method is required for the optional trial
- Next.js 15 - App Router with React Server Components
- React 19 - Latest React features and optimizations
- TypeScript - Type-safe development
- Shadcn UI - Beautiful, accessible components
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- OpenAI GPT - Advanced content generation
- Claude AI - Alternative AI model support
- Gemini AI - Google's AI integration
- DeepSeek - Cost-effective AI processing
- Groq - High-speed AI inference
- PostgreSQL - Robust relational database
- Supabase - Backend-as-a-Service with auth
- Row Level Security - Enterprise-grade security
- React PDF - Professional PDF generation
- Stripe Integration - Secure payment processing
- Real-time Updates - Live preview and editing
- Mobile Responsive - Works on all devices
ResumeLM is built with a mobile-first approach, ensuring your resume building experience is seamless across all devices:
- 📱 Mobile Optimized - Full functionality on smartphones
- 💻 Desktop Enhanced - Rich editing experience on larger screens
- 🎨 Responsive Design - Adapts to any screen size
- ⚡ Fast Loading - Optimized for performance
- Layered Depth - Multiple translucent layers create visual hierarchy
- Organic Motion - Subtle animations suggest liveliness without distraction
- Purposeful White Space - Generous spacing improves content digestion
- Consistent Interaction - Predictable hover and active states
- Gradient Aesthetics - Soft, professional color schemes
- Node.js 18+
- pnpm (recommended) or npm
- PostgreSQL database
- Supabase account
- Clone the repository
git clone https://github.com/olyaiy/resume-lm.git
cd resume-lm- Install dependencies
pnpm install- Environment setup
cp .env.example .env.local- Configure environment variables
# Database
DATABASE_URL=your_postgresql_url
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
# AI Services
OPENROUTER_API_KEY=your_openrouter_key
ANTHROPIC_API_KEY=your_claude_key
GOOGLE_AI_API_KEY=your_gemini_key
# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_secret_key
# Payments (Optional)
STRIPE_SECRET_KEY=your_stripe_secret
STRIPE_PUBLISHABLE_KEY=your_stripe_public- Database setup
# Run the schema.sql file in your Supabase SQL editor
# Or use the Supabase CLI:
supabase db push --db-url=your_supabase_db_url schema.sql- Start development server
pnpm devVisit http://localhost:3000 to see your local ResumeLM instance!
Run the complete stack locally with Docker Compose - includes Supabase, PostgreSQL, Redis, and all services:
# 1. Copy environment file and add your AI API key
cp .env.example .env.local
# Edit .env.local and add OPENROUTER_API_KEY for ResumeLM's default models
# 2. Start Docker services
cd docker
docker compose --env-file ../.env.local up -d
# 3. Wait for services to be healthy (~60 seconds)
docker compose --env-file ../.env.local ps
# 4. Run the app locally (from project root)
cd ..
pnpm devLogin: http://localhost:3000 and create a local account with credentials you control. Do not reuse example credentials in development or production.
| Service | URL | Description |
|---|---|---|
| App | http://localhost:3000 | Next.js application |
| Supabase API | http://localhost:54321 | API Gateway |
| Supabase Studio | http://localhost:54323 | Database dashboard |
| Redis Commander | http://localhost:8081 | Redis management UI |
📖 See docker/DOCKER.md for full Docker documentation including full-stack mode.
- Stores user's base information and resume components
- JSON fields for complex data (work_experience, education, skills)
- One-to-one relationship with auth.users
- Base and tailored resume versions
- Links to jobs for targeted applications
- JSONB for section_order and section_configs
- Version control and tracking
- Job listings with requirements and details
- Salary range as flexible JSONB structure
- Application status tracking
- Row Level Security (RLS) - Users only access their own data
- Authentication Integration - Secure user management
- Data Encryption - Sensitive information protection
- ✅ Free Forever - Core features always free
- ✅ No Hidden Costs - Transparent pricing
- ✅ ATS Optimization - Beat applicant tracking systems
- ✅ Multiple Formats - PDF, Word, and web formats
- ✅ Industry Templates - Tailored for different fields
- ✅ Open Source - Full access to source code
- ✅ Modern Stack - Latest technologies and best practices
- ✅ Extensible - Easy to customize and extend
- ✅ Well Documented - Comprehensive documentation
- ✅ Active Community - Regular updates and support
Primary Keywords: AI resume builder, free resume maker, ATS-optimized resume, professional resume template, job application tool
Use Cases:
- Recent graduates entering the job market
- Career changers looking to pivot industries
- Professionals seeking advancement opportunities
- Freelancers building their personal brand
- Anyone wanting to improve their resume quality
- Public pages include structured metadata and a sitemap.
- The free plan stores entered provider keys in the browser's local storage.
- ATS behavior and interview outcomes vary by employer; the product does not guarantee a hiring result.
- Enhanced AI tailoring algorithms
- Additional resume templates and themes
- Advanced PDF customization options
- Job application tracking system
- LinkedIn integration and sync
- Interview preparation tools
- Salary negotiation guidance
- Career path recommendations
- Mobile app development
We welcome contributions from developers of all skill levels! Here's how you can help:
- 🐛 Bug Reports - Help us identify and fix issues
- 💡 Feature Requests - Suggest new functionality
- 🔧 Code Contributions - Submit pull requests
- 📚 Documentation - Improve our guides and docs
- 🎨 Design - Enhance UI/UX elements
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 📧 Email Support - Contact us for technical issues
- 💬 GitHub Discussions - Community Q&A and feature requests
- 🐛 Issue Tracker - Report bugs and technical problems
- 📖 Documentation - Comprehensive guides and tutorials
- ⭐ Star this repo - Get notified of new releases
- 👀 Watch releases - Stay informed about updates
- 🐦 Follow on social media - Latest news and tips
GNU Affero General Public License v3 (AGPL-3.0)
- ✅ Commercial Use - Use in commercial projects
- ✅ Modification - Modify and distribute changes
- ✅ Distribution - Share the software freely
- ✅ Patent Use - Use any patents in the software
- ❗ Disclose Source - Must provide source code
- ❗ License Notice - Include license and copyright notice
- ❗ Network Use - Network use is considered distribution
- ❗ Same License - Derivative works must use same license
For businesses requiring proprietary licenses or commercial support, please contact us for custom licensing arrangements.




