Skip to content
MK
Work / 03

Scout Semaphore

Learn and take scout semaphore exams, graded by a YOLO model in real time.

Role
Full stack & ML model
Context
Universitas Negeri Padang — Tugas Akhir
Year
2025 — 2026
Stack
Laravel 11 · Inertia + React · FastAPI · YOLOv8-pose · Flutter · PostgreSQL
scout-semaphore.app

Scout Semaphore

Laravel 11 Inertia + React FastAPI YOLOv8-pose

Overview

A semaphore training platform for scout students and teachers. Students act out letters in front of the camera, a YOLOv8-pose model from my thesis grades the arm positions, and teachers manage classes and exams on the web.

Problem

Semaphore practice usually depends on an instructor correcting each student one by one, so students struggle to practise alone and grading practical exams takes a long time.

Solution

A YOLOv8-pose model (26 letter classes, 8 keypoints) is served through FastAPI and shared by the web and Android apps. Practical exams grade each letter against a teacher-defined accuracy threshold and attempt budget, alongside multiple-choice and essay questions. Exam rules are identical in Laravel and FastAPI.

Features

01 A–Z letter lessons and practice by letter, by word, or formula mode
02 Multiple-choice, essay and on-camera semaphore exams
03 Classes with join codes, exam results and CSV export
04 Superadmin, Teacher and Student roles with per-menu permissions
05 Theme and branding set on the web and applied on Android
Architecture
Browser ──HTTPS──► scout-semaphore-app (Laravel) ──X-Service-Key──┐
                              │                                    ▼
                              ▼                     scout-semaphore-api
                   PostgreSQL scout_semaphore ◄──── FastAPI + YOLO (best.pt)
                              ▲
Android (Flutter) ──JWT───────┴──────────────────────► /api/v1/...

Demo accounts

RoleEmail / usernamePassword
Student siswa@scout.test Siswa12345
Teacher guru@scout.test Guru12345

Next project

Absensi Karyalin