A tiny Flask app to upload photos and let family members rate each one with 1–5 stars. Each person’s rating is saved separately (no overwriting others). You can view averages, count of ratings, and the top images.
- Upload multiple photos (drag/drop or file picker)
- Simple "What's your name?" prompt saved in browser (localStorage)
- 1–5 star ratings; each user can rate each photo once (and update their own rating)
- Live averages and counts
- Sort by newest, highest average, most ratings
- "Top X" filter
- Works locally; all data stays on your machine
- SQLite database in
instance/family_rater.db
-
Create & activate a virtual environment (recommended).
-
Install dependencies:
pip install -r requirements.txt
-
Run the server:
python app.py
-
Open the app:
- Admin (upload & stats): localhost:5000/admin
- Gallery (family rating page): localhost:5000/gallery
Tip: Share the
/gallerylink on your home network so family can rate from their own devices.
UPLOAD_FOLDER: defaults touploads/MAX_CONTENT_LENGTH: defaults to 30 MB per request- Allowed file types:
.jpg .jpeg .png .gif .webp
- Your images are in
uploads/. - Ratings are in
instance/family_rater.db(SQLite). Stop the server and copy that file to back up.
- This is deliberately simple and meant for home use. For internet-facing use, add auth and HTTPS.d
- Add curent users name to the fullscreen mode
- add how far throught they are in fullscreen mode. e.g. 14/43 (32.6%)
- add hide photo for counting button in admin console
- add delete photo and photo data in admin conlole
- add delete all data in admin consle
- move delete buttons and download as json to a differant part of the screen
- make actual image in fullscreen mode look bigger
- adda set user dropdown to go back and change a specific user's votes
- add support for yes no votes as well as star ratings
- make it so that a users ratings appear as soon as they exit fullscreen, not only after page reload
- add multi image set funcanality
- add pw to admin pannel