Skip to content
MK
Work / 02

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.app

Smartend

Laravel 12 FastAPI OpenCV Flutter

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

01 Face check-in, QR scan (rotating kiosk & location posters) and GPS + selfie
02 Leave, sick, overtime and attendance-correction requests with tiered approval
03 Attendance scores & rankings, closed automatically every day
04 National holiday calendar synced automatically
05 Kiosk mode and member QR cards
06 In-app APK auto-update verified with SHA-256
Architecture
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

RoleEmail / usernamePassword
Admin admin@demo.test password123
Atasan atasan@demo.test password123
Anggota anggota1@demo.test password123

Next project

Scout Semaphore