A modern recreation of the classic Facemash experience. Users compare two randomly selected faces and vote on which one they find more attractive, with an Elo-based ranking system updating scores in real time.
Face Match is a modern, full-stack web application inspired by the original Facemash concept.
The application randomly presents two faces to users, allowing them to vote for the more attractive person. Every vote updates each participant's ranking using an Elo Rating System, creating a dynamic leaderboard based on community votes.
The project demonstrates real-world full-stack development, including image uploads, ranking algorithms, REST APIs, authentication, responsive design, and database management.
- User Registration
- Secure Login
- JWT Authentication
- Password Encryption
- Protected Routes
- Upload Profile Images
- Image Storage
- Image Validation
- Automatic Image Display
- Random Face Pair Generation
- One-Click Voting
- Prevent Self Voting
- Real-Time Vote Updates
- Elo Rating Algorithm
- Global Leaderboard
- Highest Rated Profiles
- Automatic Ranking Updates
- Total Users
- Total Votes
- Ranking Position
- Win/Loss Record
- Mobile Friendly
- Tablet Support
- Desktop Optimized
- HTML
- CSS
- JavaScript
- Node.js
- Express.js
- JWT Authentication
- Multer (Image Upload)
- MongoDB
- Mongoose
- bcrypt
- dotenv
- cors
Face-Match/
├── frontend/
│ ├── css/
│ ├── js/
│ ├── images/
│ └── index.html
│
├── backend/
│ ├── config/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ ├── uploads/
│ └── server.js
│
├── README.md
└── .env.example
git clone https://github.com/sabtain05/Face-Match.git
cd Face-Matchcd backend
npm installIf using plain HTML/CSS/JavaScript:
Simply open
index.html
or use
Live ServerIf using React:
cd frontend
npm installCreate a .env file inside the backend folder.
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keynpm run dev- Two random user profiles are displayed.
- The visitor selects the more attractive face.
- The winner gains Elo rating points.
- The loser loses rating points.
- Rankings update instantly.
- Users continue voting with new face pairs.
- AI Face Detection
- Face Similarity Matching
- Daily Leaderboards
- User Profiles
- Follow System
- Comment System
- Social Sharing
- Dark Mode
- Filters
- Real-Time Rankings
- Achievement Badges
- Admin Dashboard
Contributions are welcome.
-
Fork the repository
-
Create your feature branch
git checkout -b feature-name- Commit your changes
git commit -m "Added new feature"- Push to GitHub
git push origin feature-name- Open a Pull Request
This project is a personal educational recreation inspired by the original Facemash website created by Mark Zuckerberg in 2003.
It is intended solely for learning, demonstration, and portfolio purposes and is not affiliated with or endorsed by Meta or Facebook.
If you enjoyed this project, please consider giving it a ⭐ on GitHub.
This project is licensed under the MIT License.
Sabtain Ali
GitHub: https://github.com/sabtain05
A Sabtain Ali production