- Project Overview
- Features
- Tech Stack
- Architecture
- Installation
- Running Locally
- API Endpoints
- Frontend Usage
- Testing
- Deployment
- Contributing
- License
- Contact
Smart CV Interview Prep is a full-stack web application designed to assist users in preparing for technical interviews by analyzing and parsing uploaded CVs (PDF format). The system extracts key CV sections (Projects, Experience, Skills, etc.) using a backend parsing service and provides a user-friendly interface to review and prepare for interviews effectively.
This project integrates a React frontend with a FastAPI backend and utilizes advanced file parsing techniques for PDF documents. It supports privacy-preserving and efficient CV processing workflows, aiming to streamline the interview preparation journey.
- Upload PDF CVs and extract structured CV sections.
- Display parsed CV sections interactively.
- Real-time error handling and validation.
- Support for common CV sections: Projects, Experience, Skills, Extracurricular.
- Responsive, modern UI using React and Tailwind CSS.
- Backend API using FastAPI with async processing.
- Docker-ready and cloud deployment support.
| Layer | Technology |
|---|---|
| Frontend | React, Tailwind CSS, Vite |
| Backend | Python, FastAPI, Uvicorn |
| Parsing | PDFMiner / PyMuPDF / Custom Logic |
| Deployment | Heroku / Docker / Local |
graph TD;
User -->|Upload PDF| Frontend(UI)
Frontend -->|POST /parse-cv| Backend(API)
Backend -->|Process PDF| Parser
Parser --> Backend
Backend -->|Parsed JSON| Frontend
Frontend -->|Display| User
- Node.js (v16+ recommended)
- Python 3.10+
- Git
- pip for Python packages
- (Optional) Docker
Bash
git clone https://github.com/Atishyy27/lastprep.git cd lastprep
Bash
`cd backend python -m venv venv
.\venv\Scripts\activate
source venv/bin/activate`
Bash
pip install -r requirements.txt
Bash
uvicorn backend.main:app --host 0.0.0.0 --port 5000 --reload
Bash
cd ../frontend
Bash
npm install
Bash
npm run dev
The app will be available at http://localhost:5173 by default.
| Endpoint | Method | Description |
|---|---|---|
/parse-cv |
POST |
Upload PDF and parse CV data |
/health |
GET |
Check backend health status |
Export to Sheets
- Navigate to the Upload page.
- Select a PDF CV file (only PDFs are allowed).
- Click "Upload & Parse CV".
- View extracted CV sections with detailed breakdowns.
- Use the UI components to review and prepare for interviews.
Tests are located in backend/tests/.
Bash
cd backend pytest
Tests (if any) can be run with:
Bash
cd frontend npm test
-
Ensure a
Procfileexists with the following content:Bashweb: uvicorn backend.main:app --host=0.0.0.0 --port=${PORT:-5000} -
Commit and push changes to the Heroku remote.
-
Set buildpacks for Python and Node.js in the Heroku dashboard.
-
Deploy and monitor logs:Bash
heroku logs --tail
- Build docker images for the backend and frontend.
- Use docker-compose to run the multi-container app.
Contributions are welcome! Please fork the repo and open pull requests for new features, bug fixes, or improvements. Follow the existing code style and provide tests where applicable.
This project is licensed under the MIT License - see the LICENSE file for details.