Featured projects Get in touch

Staff & events · Access management · Deployed in Lagos

Loveworld
Security

A clear answer at the gate.
A record after every visit.

Loveworld Security helps guards check who may enter a staff area or event using a QR pass. Administrators manage permissions, while each entry and exit leaves a record the team can review.

For
Guards & event administrators
Role
Architecture and full build
In use
Loveworld headquarters, Lagos
Demo scan result showing access allowedLoveworld Security virtual access pass with fictional demo data
Loveworld SecurityAndroid · Demo screens

Inside the Android app

From sign-in to the checkpoint.

App layouts captured in the emulator with fictional demo data and an AI-generated attendee portrait. The scanner and access decision are simulated; the QR code is not a valid pass.

Loveworld Security welcome screen with demo content
01

Welcome

A clear introduction to the security app.

Loveworld Security login screen with demo content
02

Login

Email and access code sign-in.

Loveworld Security dashboard screen with demo content
03

Dashboard

Access checks and daily administration in one place.

Loveworld Security scan a pass screen with demo content
04

Scan a pass

Choose the event and checkpoint before scanning.

Loveworld Security scan result screen with demo content
05

Scan result

See the access decision before recording entry or exit.

Loveworld Security access pass screen with demo content
06

Access pass

A virtual card with a QR code and permitted areas.

What it makes possible.

01 / What makes it useful

Recognise known passes on the device

The app checks its saved pass records first, so every familiar pass does not need a fresh server lookup. Unknown passes are checked with the server and saved for next time.

02 / What makes it useful

Explain a denied entry

The guard can see whether a pass is expired, belongs to another event or lacks permission. That gives them something useful to explain to the person waiting.

03 / What makes it useful

Keep checkpoints up to date

Devices receive changes to passes, events and permissions and send back access logs. Administrators and guards work from a connected set of records.

The everyday essentials.

Give security staff the information they need at the checkpoint, and administrators a clearer view of access.

Check a pass with a scan

A guard scans the QR code to see whether the holder is allowed in, with a reason if access is denied.

Prepare passes for an event

Register attendees and issue passes for the event and areas they are permitted to enter.

Set the right access

Group permissions so different staff and attendees can be given access to the appropriate areas.

Know who is at the checkpoint

Staff profiles include photographs and departments to support identification.

Review entries and exits

Access records identify the pass, guard and checkpoint, giving administrators a history to review.

Verify account phone numbers

A one-time code checks the phone number during account verification.

For the curiousBehind the buildExplore the architecture and tools.

Architecture

The components behind a trusted scan.

Hover or tap a component to trace its connections.

Access pass

QR credential tied to an event, its permissions and an expiry

  • QR generator
  • Access groups

Guard app

Scanning, passes, events, guards and logs on Android

  • Kotlin
  • Fragments
  • ViewModel

Security API

Guards, users, events, passes, logs and OTP verification

  • PHP
  • CodeIgniter 4
  • Auth filter

Firebase

Sign-in, runtime configuration and field crash reports

  • Auth
  • Remote Config
  • Crashlytics

Verification rules

Checks event, permission and expiry, and names the failed check

  • Scan view model

Local database

Synced passes, events, permissions and pending logs on the device

  • Room
  • DataStore

MySQL

The system of record administrators review

  • MySQLi
All connections
  1. Access pass to Guard app: QR scan
  2. Guard app to Verification rules: pass + checkpoint
  3. Verification rules to Local database: lookup by hash
  4. Local database to Security API: incremental sync
  5. Guard app to Security API: unknown pass, logs
  6. Security API to MySQL: persist
  7. Guard app to Firebase: auth, config

Technology stack

What it is built with.

Android app

  • Kotlin
  • Fragments + Navigation
  • ViewModel + LiveData
  • Room
  • DataStore

Scanning

  • code-scanner
  • ZXing
  • QR generator

Network

  • Retrofit
  • Gson
  • OkHttp logging

Platform services

  • Firebase Auth
  • Remote Config
  • Crashlytics

Server

  • PHP
  • CodeIgniter 4
  • MySQL

Next project

Church services · Live presentation LumosCast