AI-powered resume analysis and skill gap detection with a modern monorepo architecture.
This monorepo contains:
- Backend (
apps/backend/): FastAPI Python server with AI-powered resume analysis - Frontend (
apps/frontend/): Next.js React application with TypeScript and Tailwind CSS
- Node.js 18+ and npm 8+
- Python 3.11+
- pip
-
Install root dependencies:
npm install
-
Install all workspace dependencies:
npm run install:all
-
Set up Python backend:
cd apps/backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
Start both frontend and backend in development mode:
npm run devThis will start:
- Backend API server on http://localhost:8001
- Frontend development server on http://localhost:3000
Start services individually:
# Backend only
npm run dev:backend
# Frontend only
npm run dev:frontendBuild and start for production:
npm run build
npm run startresume-tweaker-monorepo/
├── apps/
│ ├── backend/ # FastAPI Python backend
│ │ ├── controllers/ # AI processing modules
│ │ ├── models/ # ML models and data
│ │ ├── templates/ # HTML templates
│ │ ├── main.py # FastAPI application
│ │ └── requirements.txt
│ └── frontend/ # Next.js React frontend
│ ├── src/
│ ├── public/
│ └── package.json
├── packages/ # Shared packages (future)
├── package.json # Root workspace configuration
└── README.md
npm run dev- Start both frontend and backend in developmentnpm run build- Build frontend for productionnpm run start- Start both services in production modenpm run install:all- Install dependencies for all workspacesnpm run clean- Clean all node_modules and build artifactsnpm run lint- Run ESLint on frontend codenpm run type-check- Run TypeScript type checking
- PDF resume parsing and text extraction
- AI-powered PII (Personal Information) extraction
- Enhanced skill extraction with categorization
- Skill gap analysis
- Feedback collection and model retraining
- RESTful API with automatic documentation
- Modern React with TypeScript
- Responsive design with Tailwind CSS
- File upload interface
- Real-time analysis results
- Interactive feedback forms
- Progressive Web App capabilities
The frontend communicates with the backend API at http://localhost:8001. Key endpoints:
POST /submit/- Upload resume and job description for analysisPOST /submit_pii_feedback- Submit PII extraction feedbackPOST /submit_skills_feedback- Submit skills extraction feedbackGET /lexicon_stats- Get skill lexicon statisticsGET /feedback_summary- Get feedback collection summary
- Located in
apps/backend/ - Uses FastAPI with automatic API documentation
- AI models for PII and skill extraction
- Feedback collection system for continuous improvement
- Located in
apps/frontend/ - Next.js 15 with App Router
- TypeScript for type safety
- Tailwind CSS for styling
- ESLint for code quality
- Python virtual environment with all dependencies
- FastAPI with Uvicorn ASGI server
- Environment variables for configuration
- Static export or server-side rendering
- Optimized production build
- CDN-ready assets
- Fork the repository
- Create a feature branch
- Make your changes
- Test both frontend and backend
- Submit a pull request
This project is licensed under the MIT License.