
Absensi HRIS App (Face Recognition & GPS)
Detail Proyek
GeoFace Attendance — Smart Attendance & HR Management Platform
GeoFace Attendance adalah platform manajemen kehadiran dan operasional HR terintegrasi yang menghubungkan aplikasi mobile karyawan dengan dashboard admin berbasis web. Sistem ini memungkinkan karyawan melakukan pencatatan absensi yang akurat dan aman menggunakan verifikasi wajah berbasis AI serta validasi radius lokasi GPS (geofencing), sekaligus mempermudah pengajuan cuti dan lembur secara mandiri.
Saya membangun sistem ini sebagai Full-Stack Engineer, mulai dari perancangan arsitektur database, integrasi machine learning untuk pengenalan wajah di sisi mobile, validasi geolokasi, integrasi API, hingga pembuatan dashboard admin untuk memantau data kehadiran dan operasional perusahaan secara menyeluruh.
Ringkasan Proyek
- Kategori: Mobile App & HR Management Platform
- Peran: Full-Stack Engineer (Flutter & Laravel)
- Mobile App: Flutter, Dart, BLoC State Management, Google ML Kit Face Detection, TFLite
- Backend & Admin Web: Laravel, Filament PHP, RESTful API
- Database: MySQL, Eloquent ORM
- Autentikasi: Laravel Sanctum (Token-Based Auth)
- Peta & Lokasi: Geolocator, Google Maps / OpenStreetMap, Geofencing Radius Check
- Hardware & Sensor: Front Camera, GPS, QR Code Scanner
Latar Belakang
Pencatatan kehadiran manual atau menggunakan mesin absensi konvensional di kantor sering kali menimbulkan masalah, seperti antrean panjang, ketidakakuratan data, risiko kecurangan (titip absen), hingga sulitnya memantau karyawan yang bekerja di luar kantor atau memiliki jadwal shift dinamis. Selain itu, proses pengajuan cuti dan lembur yang masih berbasis kertas membuat proses persetujuan menjadi lambat.
GeoFace Attendance dirancang untuk menyatukan seluruh proses absensi dan administrasi HR ke dalam satu ekosistem digital.
Melalui aplikasi mobile, karyawan dapat:
- Melakukan absensi masuk dan pulang menggunakan foto wajah langsung (Face Recognition).
- Memastikan kehadiran hanya dapat dilakukan di dalam area kantor yang telah ditentukan (Geofencing).
- Mengajukan permohonan cuti dan izin lengkap dengan lampiran dokumen (seperti surat dokter).
- Melihat sisa kuota cuti tahunan yang diperbarui secara otomatis.
- Mengajukan lembur kerja dan memantau status persetujuannya.
- Melihat riwayat absensi harian dan jadwal shift kerja.
Di sisi manajemen dan HR (Web Admin):
- Mengelola data master karyawan, divisi, jabatan, dan jadwal shift kerja.
- Menentukan titik koordinat kantor dan mengatur batas radius absensi yang diperbolehkan.
- Memverifikasi dan menyetujui pengajuan cuti serta lembur karyawan.
- Memantau rekap data kehadiran secara real-time dan mengekspor laporan absensi.
Kontribusi Full-Stack Saya
1. Verifikasi Biometrik Wajah (Face Recognition)
- Menerapkan deteksi wajah menggunakan kamera depan ponsel secara real-time.
- Mengintegrasikan model pengenalan wajah di sisi perangkat (on-device) untuk mengekstrak ciri wajah saat pendaftaran dan mencocokkannya secara akurat saat absensi.
- Mencegah kecurangan absensi dengan memastikan foto wajah diambil langsung dari kamera aktif.
2. Validasi Lokasi & Geofencing (GPS Protection)
- Mengembangkan modul pelacak lokasi untuk mengambil koordinat GPS perangkat secara akurat.
- Menghitung jarak antara posisi karyawan dan titik pusat kantor secara otomatis.
- Menerapkan pembatasan absensi, di mana tombol presensi hanya dapat diproses jika karyawan berada di dalam batas radius yang telah ditentukan oleh perusahaan.
3. Manajemen Cuti & Saldo Cuti Karyawan
- Merancang alur pengajuan cuti, mulai dari pemilihan jenis cuti, rentang tanggal, hingga unggah dokumen pendukung.
- Membangun logika pengurangan kuota saldo cuti tahunan secara otomatis setelah pengajuan disetujui oleh admin/HR.
- Menyediakan informasi sisa cuti yang transparan dan dapat diakses langsung oleh karyawan.
4. Pengajuan & Persetujuan Lembur (Overtime)
- Membuat fitur pengajuan lembur dengan pencatatan jam mulai, jam selesai, dan rincian pekerjaan yang dilakukan.
- Menyediakan status persetujuan terstruktur (Pending, Approved, Rejected) yang langsung diperbarui ke aplikasi karyawan.
5. Backend RESTful API & Keamanan Data
- Membangun API yang bersih dan terstruktur menggunakan Laravel untuk melayani seluruh kebutuhan aplikasi mobile.
- Mengamankan jalur komunikasi data menggunakan otentikasi token (Laravel Sanctum).
- Menangani upload berkas (foto absensi, foto profil, dan dokumen izin/surat dokter) dengan validasi ukuran dan format file.
6. Dashboard Admin & Manajemen Operasional Perusahaan
- Membangun panel admin berbasis web menggunakan Filament PHP untuk memudahkan HR mengelola seluruh data karyawan dan perusahaan.
- Menyediakan pengaturan master data: departemen, jabatan, hari libur nasional, akhir pekan, dan konfigurasi shift kerja.
- Membuat rekap kehadiran karyawan harian dan bulanan yang mudah dipantau dan dianalisis.
7. Desain Antarmuka Mobile yang Ramah Pengguna
- Merancang tampilan antarmuka mobile yang bersih, modern, dan intuitif menggunakan arsitektur BLoC pattern.
- Menyajikan informasi utama di halaman beranda seperti status check-in/out, jadwal shift, cuplikan kalender, dan menu cepat untuk mempermudah rutinitas harian karyawan.
Fitur Produk
- Face Recognition Check-In/Out — Absensi biometrik wajah langsung dari ponsel karyawan.
- Geofencing Location Lock — Memastikan absensi hanya valid di lokasi kantor yang ditentukan.
- QR Code Alternative Attendance — Opsi absensi cadangan melalui pemindaian kode QR di lokasi kerja.
- Leave & Permission Management — Pengajuan cuti/izin mandiri beserta lampiran bukti dokumen.
- Live Leave Balance Tracking — Informasi sisa kuota cuti tahunan yang terhitung otomatis.
- Overtime Request & Tracking — Pengajuan jam kerja lembur beserta pemantauan statusnya.
- Shift & Schedule Viewer — Informasi jadwal kerja dan shift yang berlaku untuk masing-masing karyawan.
- Attendance History Log — Riwayat absensi lengkap dengan catatan jam masuk, jam pulang, dan status keterlambatan.
- Centralized HR Admin Panel — Panel web terpusat untuk kontrol data karyawan, perizinan, dan laporan.
Teknologi & Arsitektur (Tech Stack)
- Mobile Frontend: Flutter, Dart
- Mobile State Management: Flutter BLoC, Freezed, Dartz
- Face Detection & AI: Google ML Kit Face Detection, TFLite Flutter
- Location & Map: Geolocator, Google Maps Flutter, Flutter Map, LatLong2
- Backend Framework: Laravel (PHP)
- Admin Dashboard: Filament PHP
- Database: MySQL / MariaDB
- Authentication: Laravel Sanctum (Token-Based)
- Architecture: Clean Architecture di sisi Flutter & MVC / Service Layer di sisi Laravel
Tantangan Teknis & Solusi
1. Akurasi dan Kecepatan Pengenalan Wajah di Berbagai Perangkat
Tantangan: Proses pencocokan wajah di aplikasi mobile harus cepat, tidak memberatkan kinerja ponsel, dan tetap akurat meskipun perangkat memiliki spesifikasi yang bervariasi.
Solusi: Memanfaatkan komputasi lokal di dalam perangkat (on-device) menggunakan ML Kit dan model TFLite yang ringan. Ekstraksi ciri wajah dilakukan secara efisien sehingga proses verifikasi absensi berlangsung dalam hitungan detik tanpa membebani koneksi internet.
2. Pencegahan Manipulasi Lokasi (Fake GPS & Di Luar Radius)
Tantangan: Karyawan bisa saja mencoba melakukan absensi dari luar area kantor atau menggunakan aplikasi pemalsu lokasi (fake GPS).
Solusi: Menerapkan validasi jarak menggunakan rumus perhitungan jarak koordinat (geodesic distance) antara koordinat GPS perangkat dengan titik pusat kantor, serta memastikan izin lokasi perangkat aktif dengan tingkat akurasi tinggi sebelum formulir absensi dapat dikirim ke server.
3. Konsistensi Pengurangan Kuota Cuti
Tantangan: Menghindari kekeliruan perhitungan sisa kuota cuti jika ada beberapa permohonan yang diajukan bersamaan atau ketika permohonan dibatalkan/ditolak.
Solusi: Menerapkan mekanisme database transaction pada backend Laravel, di mana saldo cuti hanya terpotong secara resmi setelah status permohonan disetujui (approved) oleh admin, dan otomatis dikembalikan jika terjadi pembatalan.
Pembelajaran & Poin Kunci
- Memperoleh pengalaman mendalam dalam mengintegrasikan model Machine Learning dan Computer Vision (Face Recognition) ke dalam aplikasi mobile Flutter.
- Memahami implementasi validasi geolokasi dan geofencing untuk keamanan data absensi lapangan.
- Mengembangkan arsitektur aplikasi mobile yang terstruktur rapi menggunakan BLoC pattern untuk memisahkan logika bisnis dari tampilan antarmuka.
- Membangun backend API yang andal menggunakan Laravel serta panel admin yang produktif menggunakan Filament PHP.
- Mengelola alur administrasi SDM (absensi, cuti, lembur, dan shift kerja) menjadi sistem digital yang efisien dan mudah digunakan oleh siapa saja.
Spesifikasi Proyek
Ingin Proyek Serupa?
Tim ahli kami siap membantu Anda merealisasikan inovasi sistem software terbaik.
Project Showcase
13 Tangkapan Layar





Proyek Lainnya
Jelajahi karya rekayasa perangkat lunak lainnya.

Koperasi Sedia
Cooperative core banking platform: automated savings, flat & annuity loans, daily cash register, proportional dividend allocation, and print-ready legal loan agreements.

SupportSense AI
Autonomous enterprise AI customer support engine fusing Hybrid RAG + KAG (PostgreSQL & ChromaDB) for zero-hallucination order tracking and cost-efficient sub-second routing.

Bizinsight AI
BizInsight AI adalah sistem Multi-Agent yang mengubah pertanyaan bisnis sehari-hari menjadi query database, grafik interaktif, dan wawasan bisnis otomatis tanpa perlu paham SQL.