<img src="https://i.postimg.cc/xnTr6TCb/ResumeAI.png" alt="Project Banner">
<img src="https://img.shields.io/badge/-Next_JS-black?style=for-the-badge&logoColor=white&logo=nextdotjs&color=393D72" alt="nextjs" />
<img src="https://img.shields.io/badge/-MongoDB-black?style=for-the-badge&logoColor=white&logo=mongodb&color=1FAD58" alt="mongodb" />
<img src="https://img.shields.io/badge/-Tailwind_CSS-black?style=for-the-badge&logoColor=white&logo=tailwindcss&color=3FBFF8" alt="tailwindcss" />
<img src="https://img.shields.io/badge/-NextAuth-black?style=for-the-badge&logoColor=white&logo=auth0&color=7C3AFF" alt="nextauth" />
<img src="https://img.shields.io/badge/-Typescript-black?style=for-the-badge&logoColor=white&logo=typescript&color=387CC8" alt="typescript" />
<img src="https://img.shields.io/badge/-Framer_Motion-black?style=for-the-badge&logoColor=white&logo=framer&color=E649A2" alt="framer motion" />
<b>ResumeAI</b> is designed to make resume creation effortless. With the help of AI, users can generate, update, and customize their resumes, ensuring they stand out to potential employers. The application is secure, user-friendly, and highly customizable.
/resume/<id> URL. Resumes are private by default with an opt-in public toggle; old link formats redirect permanently.Framework: Next.js (App Router)
Language: TypeScript
Authentication: NextAuth (Auth.js v5)
Email: Nodemailer (SMTP)
AI Integration: Gemini API
Styling: Tailwind CSS
Animations: Framer Motion
Forms & Validation: React Hook Form + Zod
Rich Text: Quill
Database: MongoDB + Mongoose
Testing: Vitest
Follow these steps to set up the project locally on your machine.
Make sure you have the following installed on your machine:
git clone https://github.com/Mahmud0808/ResumeAI.git
cd ResumeAI
Install the project dependencies using npm:
npm install
Create a new file named .env.local in the root of your project and add the following content:
# Generate with: npx auth secret
AUTH_SECRET=
# Google Cloud Console -> Credentials -> OAuth client
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
MONGODB_URL=
GEMINI_API_KEY=
# Email (SMTP) — verification + password-reset links. Use a DEDICATED mailbox
# (e.g. a Gmail made for the app) so your personal address is never exposed.
# Free, no custom domain needed:
# Gmail : smtp.gmail.com : 587 (SMTP_PASS = a Google App Password)
# Brevo : smtp-relay.brevo.com : 587
# If left blank, emails are skipped and the link is logged to the server console.
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
SMTP_FROM=ResumeAI <resumeai.mailer@gmail.com>
BASE_URL=localhost:3000
Replace the placeholder values with your actual credentials. You can obtain these by signing up at Google Cloud Console (OAuth), MongoDB and Google AI Studio. For email, create a dedicated mailbox and generate an App Password (Gmail) or use any SMTP provider. See docs/AUTH_SETUP.md for the full auth setup.
npm run dev
Open http://localhost:3000 in your browser to view the project.
npm test
npm run build
Contributions are welcome! Here's how you can contribute:
git checkout -b feature/AmazingFeature).git commit -m 'Add some AmazingFeature').git push origin feature/AmazingFeature).Authentication has been migrated from Clerk to NextAuth, removing the previous 500-user cap — registrations are no longer limited. You can use the live app, or fork the repository, set up the environment variables, and run it locally.
Wanna reach out to me? DM me at 👇
Email: mahmudul15-13791@diu.edu.bd
$ claude mcp add ResumeAI \
-- python -m otcore.mcp_server <graph>