Smartend
Face, QR code and GPS attendance for companies and schools.
- Role
- Full stack — web, API, Android
- Context
- Personal product
- Year
- 2026
- Stack
- Laravel 12 · FastAPI · OpenCV · Flutter · ML Kit · PostgreSQL
Smartend
Overview
A complete attendance system: three check-in methods, leave and sick requests, overtime, attendance corrections with tiered approval, attendance scores and an automatic holiday calendar. One codebase runs as either a company or a school edition.
Problem
Manual attendance is easy to fake and hard to recap. Digital check-ins have their own loopholes: photos of a screen, fake GPS, or a tampered phone clock.
Solution
Face recognition runs on the server (OpenCV YuNet + SFace) with a two-frame liveness check, kiosk QR codes rotate automatically and are HMAC-signed per location, and GPS check-ins enforce an accuracy limit with mock-location detection. Check-in time always comes from the server. Attendance rules are implemented identically in Laravel and FastAPI, so web and Android always agree.
Features
Android ──JWT────────► FastAPI ──┐
├──► PostgreSQL (smart_attendance)
Browser ──session────► Laravel ─┘
Laravel ──X-Internal-Key──► FastAPI /internal/face/* (absen wajah dari web)
Wajah: YuNet (deteksi) + SFace (embedding), kemiripan kosinus, liveness 2 frame
Demo accounts
| Role | Email / username | Password |
|---|---|---|
| Admin | admin@demo.test | password123 |
| Atasan | atasan@demo.test | password123 |
| Anggota | anggota1@demo.test | password123 |
Next project
Scout Semaphore