Transform your resume in minutes, not hours. Upload, customize, and download tailored resumes for any job application.
SWERM is a browser-based AI tool that eliminates the tedious process of manually rewriting resumes for each job application. Instead of spending 2-3 hours tailoring your resume, get a customized version in minutes.
- Time-consuming: Manually rewriting resumes for each application takes hours
- Keyword matching: Difficult to identify and emphasize relevant experience
- Formatting: Maintaining professional formatting while making changes
- Consistency: Ensuring all versions maintain quality and accuracy
- 📄 PDF Upload & Parsing: Upload your existing resume and let AI extract structured data
- ✏️ Editable Fields: Review and edit parsed data (name, experience, skills, projects)
- 📝 Job Description Input: Paste any job posting to analyze requirements
- 🤖 AI Tailoring: Intelligent analysis creates an optimized version emphasizing relevant experience
- 📥 PDF Download: Get your tailored resume in professional PDF format
Upload PDF → Review Data → Enter Job Description → Generate → Download
- Upload your existing resume (PDF format)
- Review the AI-extracted data and make any necessary edits
- Paste the job description you're applying for
- Generate a tailored version that emphasizes relevant experience
- Download your customized resume as a professional PDF
- Frontend: React + Tanstack Router + TypeScript + Vite
- PDF Parsing: unpdf (client-side)
- AI: Vercel AI SDK + Google Gemini
- PDF Generation: React PDF Renderer
- Validation: Zod
- Styling: Modern UI components
- Node.js (v18 or higher)
- pnpm (recommended) or npm
- Clone the repository:
git clone https://github.com/bishaln/swerm.git
cd swerm- Install dependencies:
pnpm install- Start the development server:
pnpm dev- Open your browser and navigate to
http://localhost:5173
SWERM uses Google Gemini for AI processing. You'll need to:
- Get a Google AI API key from Google AI Studio
- Enter your API key when prompted in the application
- The app will store your key locally for future use
- Upload Resume: Click "Upload Resume" and select your PDF file
- Review Data: Check the parsed information and edit if needed
- Job Description: Paste the job posting text in the provided field
- Generate: Click "Generate Tailored Resume" and wait for AI processing
- Download: Save your customized resume as a PDF
pnpm dev- Start development serverpnpm build- Build for productionpnpm preview- Preview production buildpnpm lint- Run linter
src/
├── components/ # React components
│ ├── ui/ # UI component library
│ └── ... # Feature components
├── lib/ # Utility functions
├── routes/ # Application routes
├── stores/ # State management
└── integrations/ # Third-party integrations
- ✅ PDF upload and parsing
- ✅ AI-powered data extraction
- ✅ Job description analysis
- ✅ Resume tailoring
- ✅ PDF generation and download
- Resume Support: Graceful handling of non-software engineer resumes
- AI Models: Support for different AI models beyond Gemini
- Performance: Optimize form re-rendering and tailoring speed
- UX Improvements: Better job description feedback, auto-save functionality
- Mobile: Responsive text sizing and mobile optimization
- Editor: WYSIWYG editor for description fields
- Form Handling: Better dynamic form field management
- User accounts and authentication
- Resume templates and styling options
- Version history and management
- Advanced AI features and scoring
- Multiple export formats
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Include steps to reproduce any bugs
- Built with React
- Powered by Google Gemini
- PDF processing with unpdf
Made with ❤️ for job seekers everywhere