A cover letter generator that takes a job description, a resume, and 2 short answers from the user and produces a tailored, human-sounding cover letter.
- Node.js 18+
- MongoDB Atlas account
- Google Gemini API key (or Groq API key as fallback)
cd covercraftcd server
npm installCreate a .env file in the server/ directory with the following variables:
| Variable | Description |
|---|---|
PORT |
Server port (default: 5000) |
MONGODB_URI |
MongoDB Atlas connection string |
GEMINI_API_KEY |
Your Google Gemini API key |
GROQ_API_KEY |
Your Groq API key (fallback) |
To get your Gemini API key:
- Go to Google AI Studio
- Create a new API key
To get your Groq API key:
- Go to console.groq.com
- Create a new API key (used as automatic fallback)
cd ../client
npm installCreate a .env file in the client/ directory:
VITE_API_URL=http://localhost:5000
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
- Go to clerk.com and create a free account
- Create a new application
- Enable Google as a sign-in provider (one toggle)
- Copy the Publishable Key from the Clerk dashboard
- Add it to
client/.envasVITE_CLERK_PUBLISHABLE_KEY
cd server
npm run devThe server will run on http://localhost:5000.
cd client
npm run devThe client will run on http://localhost:5173.
- Job Description Input: Paste or type the full job posting
- Resume Upload: Upload a PDF or paste resume text directly
- Personalization: Answer 2 quick questions to customize your letter
- AI Generation: Uses Gemini 2.5 Flash with Groq Llama 3.3 as automatic fallback
- Copy to Clipboard: One-click copy of the generated letter
- MongoDB Storage: All generated letters are saved for reference
- Credit System: Guest users get 2 free generations, signed-in users get unlimited
- Frontend: React, Vite, Tailwind CSS, shadcn/ui, Axios, Clerk
- Backend: Node.js, Express.js, Multer, pdf-parse
- Database: MongoDB (Mongoose)
- AI: Google Gemini 2.5 Flash, Groq Llama 3.3
- Auth: Clerk (Google sign-in, credit system)
covercraft/
├── client/ # React Vite frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── hooks/ # API hooks
│ │ └── lib/ # Utilities
│ └── .env
├── server/ # Express backend
│ ├── routes/ # API routes
│ ├── services/ # AI & PDF services
│ ├── models/ # Mongoose models
│ ├── middleware/ # Multer config
│ └── .env
└── README.md