Skip to main content
Mobile · 2025

Presensi PKP

GPS-verified employee attendance for a city government — check-in, leave requests, and history in one Flutter app.

Pemerintah Kota Pangkalpinang · DiskominfoAndroid · iOS
Google PlayApp Store
Presensi PKP — app preview
Active users
7,000+
Crash-free sessions
99.9%
Platforms — Android & iOS
2
Light & dark themes
Material 3

Overview

Presensi PKP is the official employee-attendance app for the Pangkalpinang city government, replacing manual fingerprint machines with GPS-verified mobile check-ins. Civil servants (ASN) clock in and out from the field, request leave, and review their attendance history — every action validated against the government's servers in real time.

Built in Flutter on a Clean Architecture + BLoC foundation, it ships to Android and iOS from a single codebase and today serves roughly 7,000 active employees at a 99.9% crash-free rate.

Screens

  • Presensi PKP login screen
  • Home dashboard with the attendance summary and menu
  • Check-in screen showing the office location on a map
  • Camera capture during check-in
  • Leave request (Izin) form
  • Attendance history calendar
  • Push notifications list
  • Employee profile screen

Key features

  • GPS-verified check-in

    Clock in and out only within the office geofence, validated with geolocator over an OpenStreetMap view.

  • Fake-GPS detection

    Mock-location and GPS-spoofing attempts are detected and blocked, so attendance can't be faked.

  • Photo capture

    A camera capture at check-in adds a second layer of identity verification.

  • Leave requests (Izin)

    Submit and track leave and permits with document attachments, end to end.

  • Attendance history

    A calendar view of every past check-in, check-out, and daily status.

  • Push notifications

    Firebase Cloud Messaging delivers reminders and real-time updates.

  • Server-time sync

    Timestamps are locked to server time, not the device clock, to prevent tampering.

  • Offline-ready

    Hive caching keeps the app responsive on unreliable field networks.

Built with

Framework

  • Flutter
  • Dart

Architecture

  • Clean Architecture
  • BLoC / Cubit
  • GetIt (DI)
  • Freezed

Data & Network

  • Dio
  • GoRouter
  • Hive
  • Secure Storage
  • dartz

Device

  • geolocator
  • flutter_map (OSM)
  • camera

Platform

  • Firebase Crashlytics
  • Firebase Messaging