XResume AI is an intelligent, user-friendly platform for generating, customizing, and scoring resumes tailored to job descriptions. With AI assistance and powerful customization tools, users can easily optimize their resumes for any job application.
- Resume Upload: Upload your existing resume in PDF or DOCX format.
- Job Description Upload: Add job descriptions to tailor your resume to specific roles.
- AI-Powered Resume Generation: Generate a resume that aligns with the uploaded job description.
- Customization Tools: Edit and customize your resume using a drag-and-drop interface.
- Resume Scoring: Get actionable feedback with a comprehensive resume score.
- Frontend: Next.js (TypeScript)
- Backend: Supabase and Node.js
- Database: PostgreSQL with Prisma ORM
- AI: OpenAI for language processing
- CI/CD: GitHub Actions
- Task Orchestration: Kestra
- Docker installed on your system.
- Node.js and npm/yarn (for local development).
-
Clone the repository:
git clone https://github.com/Suraj-kumar00/xresume-ai.git cd xresume-ai
-
Create a
.env
file from the template:cp .env.example .env
-
Update environment variables in the
.env
file. -
Start the application:
docker run 'command'
-
Access the app at http://localhost:3000.
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
To use Kestra for managing complex workflows like resume generation, scoring, and AI model interaction:
-
Install Kestra:
- Follow the installation guide: Kestra Documentation.
-
Define workflows for resume generation and scoring in the
kestra/
directory:-
Example workflow:
id: generate-resume namespace: resumegen tasks: - id: upload-resume type: io.kestra.task.upload.file properties: - key: resume value: "{{inputs.resume}}"
-
-
Start the Kestra server and execute workflows as needed.
For more details, check out the CONTRIBUTING.md file.
This project is licensed under the MIT License.
If you like the project, please give it a ⭐️ on GitHub!