Hunt Assistant is an AI-powered job application co-pilot that solves a real pain point - writing cover letters sucks. This app analyzes your resume against job descriptions, gives you insights on how well you fit for the role, and generates tailored cover letters you can download as Word documents. Hunt Assistant also helps you track your job applications in one place.
If you're like me and you hate writing cover letters, this is for you.
- AI-Powered Insights: Get detailed analysis of how your qualifications match job requirements
- Automated Cover Letters: Generate personalized cover letters tailored to specific job descriptions
- Document Processing: Upload and process PDF and DOCX resume files
- Download Ready: Export cover letters as properly formatted Word documents
- Job Journey Tracking: Manage your application process from draft to completion
- Playground Mode: Test the AI features without creating an account
Built with both OpenAI and Groq APIs with automatic fallback switching. The app intelligently chooses between providers based on availability and cost optimization.
- Handles PDF and DOCX resume uploads with custom text extraction using
mammothandpdf-parselibraries - Custom markdown-to-DOCX converter that preserves formatting using the
docxlibrary - Sophisticated paragraph and heading parsing for professional document generation
Implemented with better-auth and MongoDB adapter, supporting both email/password authentication and Google OAuth.
- Frontend: Next.js 15 with TypeScript, TanStack Query for state management, Radix UI components, Tailwind CSS
- Backend: Next.js API routes with MongoDB and Mongoose ODM
- Authentication: Better-auth with MongoDB adapter, email/password and Google OAuth
- AI: Dual provider integration (OpenAI + Groq) with intelligent switching
- Validation: Zod schemas for type-safe data validation
- File Uploads: Multer integration with proper MIME type handling
- Comprehensive error handling and logging
- RESTful API design with proper authorization
- Responsive mobile-first UI
- Real-time toast notifications and loading states
- Node.js 18+
- MongoDB
- OpenAI API key (optional, can use Groq instead)
- Groq API key (optional, can use OpenAI instead)
-
Clone the repository
git clone https://github.com/jason-ezenwa/hunt-assistant.git cd hunt-assistant -
Install dependencies
npm install
-
Environment Setup Create a
.env.localfile in the root directory with the following variables:# Database MONGODB_URI=mongodb://localhost:27017/hunt-assistant # AI Providers (at least one required) OPENAI_API_KEY=your_openai_api_key_here GROQ_API_KEY=your_groq_api_key_here # Authentication GOOGLE_SSO_CLIENT_ID=your_google_client_id GOOGLE_SSO_CLIENT_SECRET=your_google_client_secret NEXT_PUBLIC_BETTER_AUTH_URL=http://localhost:3000 BETTER_AUTH_URL=http://localhost:3000
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
The easiest way to deploy is using Vercel:
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel's dashboard
- Deploy!
For other platforms, ensure you have:
- Node.js runtime
- MongoDB connection
- Environment variables configured
- Build command:
npm run build - Start command:
npm start
This was a solo project, but feel free to open issues or submit pull requests for improvements!
This project is licensed under the Mozilla Public License Version 2.0 - see the LICENSE.md file for details.