Skip to content

lerlerchan/KinderSort

Repository files navigation

KinderSort — Student Photo Organiser

Platform Python Offline CPU Only Release Download EXE

中文说明 (简体)

KinderSort is an offline desktop app for kindergarten teachers. It scans event photos, matches student faces, and copies each photo into the correct student folder automatically — no internet connection, no coding knowledge required.


Highlights

Feature Detail
Fully offline No cloud upload, no internet required
CPU-only Works on any Windows PC without a GPU
Simple GUI Point-and-click, no terminal needed
Group photo support One photo copied to all matched students
Safe operation Files are copied, never moved or deleted
Audit trail Detailed log written to kindersort_log.txt

Who this is for

  • Teachers who need to organise large batches of student photos quickly
  • Schools that require local/offline processing for privacy

Quick Start (Teachers)

  1. Download KinderSort.exe from the Releases page
  2. Double-click KinderSort.exe — no installation needed
  3. Select the three folders (Reference / Events / Output)
  4. Click Start Sorting
  5. Review the summary and open the Output folder

Full illustrated teacher guide: guidebook.md


Screenshot Walkthrough

Step Screenshot
1. App launch KinderSort launch
2. Reference folder selected Reference folder selected
3. Events folder selected Events folder selected
4. All folders ready All folders set
5. Sorting in progress Sorting in progress
6. Sorting complete Sorting complete
7. Timer display during sorting Sorting with timer

Folder Setup

You choose three folders inside the app:

  1. Reference Photos — one clear front-facing photo per student, file name = student name

    reference/
      Ali.jpg
      Siti.png
      Kumar.jpeg
    
  2. Events Folder — subfolders of mixed event photos

    events/
      Sports_Day/
      Concert/
      Field_Trip/
    
  3. Output Folder — where sorted results are written


Output Structure

Output/
  Ali/
    Sports_Day__IMG_001.jpg
    Concert__IMG_045.jpg
  Siti/
    Sports_Day__IMG_001.jpg    ← same photo, Siti was also in it
    Field_Trip__IMG_023.jpg
  _unmatched/
    blurry_photo.jpg
    no_face_detected.jpg
  kindersort_log.txt

Important Behaviour

  • Face matching threshold is 0.55 (strict — minimises false positives)
  • Photos are copied, not moved — originals are always safe
  • Photos placed directly in the Events root (no subfolders) are also supported — the folder name is used as the event name
  • If a reference photo has no detectable face, that student is skipped with a warning
  • v1.1 uses higher-accuracy face recognition (CNN + multi-jitter) — sorting 500 photos typically takes 8–15 minutes on a standard PC; the spinning timer shows progress so the app will not appear frozen

Tech Stack

face_recognition Pillow tkinter PyInstaller

Component Library
Face recognition face_recognition + dlib
Image handling Pillow
GUI tkinter (built-in)
Packaging PyInstaller
Language Python 3.10+

Developer Setup

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python main.py

Build Windows executable:

pyinstaller --onefile --windowed --name "KinderSort" main.py
# Output: dist/KinderSort.exe

About

KinderSort is an offline, easy‑to‑use photo‑sorting tool designed for teachers. It recognises student faces in event photos and automatically puts each photo into the correct student’s folder — saving hours of manual sorting. Perfect for kindergartens, schools, and activity centres.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages