FaceFit is an AI-powered hair accessory recommendation app that analyzes a user's selfie and suggests matching products based on hair color, face shape, and style preferences.
- Upload a selfie to get smart product recommendations
- Uses Python (MediaPipe, TFLite) to analyze selfies
- Spring Boot backend handles image upload and runs the Python model
- React + Tailwind frontend built with ShadCN UI
- Realistic product data powered by curated Temu/Etsy accessories
- Tag-based filtering: style, occasion, face shape, hair color
- Java 17+, Spring Boot
- Python (OpenCV, TFLite, MediaPipe)
- React + Next.js (TypeScript)
- Tailwind CSS, ShadCN UI
- Puppeteer/Node.js for scraping
- JSON for product dataset
- Clone the repo
- Run Spring Boot backend:
./mvnw spring-boot:run - Run frontend:
npm install && npm run dev - Upload selfie from UI or use Postman to test
/api/upload - To regenerate products: edit
products.jsonor run the scraper
/FaceFit
├── backend (Spring Boot)
│ ├── src/main/java/com/example/facefit
│ ├── resources/products.json
├── frontend (React)
│ ├── public/products.json
│ ├── pages/index.tsx
├── scrape-products.js
This project is dual-licensed under either:
You may choose either license for your use case.