Important
ResumeLM was sunset in October 2026.
- The hosted app at resumelm.ca shuts down on October 31, 2026. If you have an account, download any resumes you want to keep before then.
- Paid plans are closed and nobody will be charged again.
- The code stays here under AGPL-3.0. You are welcome to fork it, self-host it, and build on it (see Installation & Setup).
- This repository is archived and read-only, so there will be no further updates, and issues and pull requests are closed.
Thank you to everyone who used ResumeLM, starred the repo, and contributed. 🙏
Warning
Self-hosting with Docker or Helm? Earlier versions shipped Supabase's public demo JWT_SECRET, ANON_KEY, and SERVICE_ROLE_KEY as fallbacks (#90). Anyone who knows those values can forge admin tokens against your Supabase API. The fallbacks are removed and the stack now refuses to start without your own keys. If you deployed with the defaults, generate new ones with node scripts/generate-supabase-keys.mjs and rotate all three.
ResumeLM is open source and self-hostable, and supports your own AI provider keys. The hosted version at resumelm.ca and its Pro plan were sunset in October 2026.
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
The hosted demo is being retired on October 31, 2026. To keep using ResumeLM, self-host it with the steps below.
- 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
# Generate a unique JWT secret and matching Supabase keys (required)
node scripts/generate-supabase-keys.mjs .env.local
# 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
- ✅ Forkable - Archived, but free to fork and self-host under AGPL-3.0
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.
ResumeLM is no longer in active development. Ideas that were on the list (LinkedIn sync, interview prep, more templates, a job tracker) are fair game for forks.
This repository is archived, so it no longer accepts issues or pull requests. To keep building on ResumeLM, fork it and take it wherever you like.
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.




