This is a web application we developed in DevJam (a hackathon hold by GDG). It can analyze resumes and provide feedback by Gemini AI.
- Developed a web application using Flask and React, allowing users to upload resumes and receive feedback.
- Implemented Gemini AI to analyze resumes and provide suggestions for improvement.
- Use RAG (RetrievalAugmented Generation) to enhance the accuracy of resume analysis.
- With online mock interview mode, you can practice and improve your interview performance.
erichung9060 : Project Manager / Back-end / General Codes / mock interview / Gemini api
weng__0721 : Front-end / mock interview interface design
boyan1001 : Back-end / resume analysis pipeline design / Gemini api / prompt engineering / Deploy
noyapoyo : Front-end / resume analysis interface designresume-analysis
├── /backend/ # Flask app
│ ├── Dockerfile
│ ├── interview_results.db # Database
│ └── ...
├── /backend/ # Next.js app
│ ├── Dockerfile
│ └── ...
├── docker-compose.yml
├── .gitignore
├── LICENSE
└── README.mdTo run the program successfully, please check the following:
- Node.js 18+ / pnpm (for frontend)
- Python 3.12+ / uv (for backend)
- Docker % docker-compose (you can also deploy by Docker)
First enter your gemini api key and firebase config
echo 'GOOGLE_API_KEY=<your_gemini_api_key>
NEXT_PUBLIC_FIREBASE_API_KEY=<your_firebase_api_key>
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<your_firebase_auth_domain>
NEXT_PUBLIC_FIREBASE_PROJECT_ID=<your_firebase_id>
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=<your_firebase_storage_bucket>
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=<your_firebase_messaging_sender_id>
NEXT_PUBLIC_FIREBASE_APP_ID=<your_firebase_app_id>
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=<your_firebase_measurement_id>' > .envBuild and start the containers:
docker compose up --buildThen access the services:
- Frontend: http://localhost:3000
- Backend: http://localhost:3001
First enter your gemini api key and firebase config
echo 'GOOGLE_API_KEY=<your_gemini_api_key>
NEXT_PUBLIC_FIREBASE_API_KEY=<your_firebase_api_key>
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<your_firebase_auth_domain>
NEXT_PUBLIC_FIREBASE_PROJECT_ID=<your_firebase_id>
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=<your_firebase_storage_bucket>
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=<your_firebase_messaging_sender_id>
NEXT_PUBLIC_FIREBASE_APP_ID=<your_firebase_app_id>
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=<your_firebase_measurement_id>' > .envUse uv to install dependencies the backend app need:
cd backend
uv sync
uv run app.pyYour backend app runs at http://localhost:3001
Then use pnpm to runs frontend:
cd frontend
pnpm install
pnpm devYour frontend runs at http://localhost:3000