Selected systems Get in touch

Workplace access · Multiplatform · Android & iOS

FrontDesk

A clearer welcome.
A connected workplace.

A cross-platform workplace access application that connects visitors, appointments, staff and access records across administrator, security and employee roles.

Role
Architecture and mobile build
Platform
Android and iOS, one codebase
UI
Compose Multiplatform
FrontDesk Access Control System app logo
FrontDeskApp identity

Core features.

Every part of a visit, from the invitation to the door.

Visitors and check-in

Register visitors, check them in and out, and keep their details and history in one place.

Appointments

Employees schedule visits in advance so reception knows who is coming and who they are seeing.

Access card scanning

Security scans an access card and sees the result straight away, with the entry written to the logs.

Access points and logs

Doors and gates are modelled as access points, with staff and visitor entry logs behind them.

Broadcasts and notifications

Administrators broadcast messages to staff, and each person gets their own notification feed.

Account lifecycle

First-time login, forgotten and reset passwords, and a stored session for returning users.

Architecture

One shared Kotlin codebase, two platforms, three roles.

Hover or tap a component to trace its connections.

Android app

Platform entry point hosting the shared app

  • Activity
  • OkHttp engine

Shared screens

Role-based home, visitors, appointments, logs, broadcasts

  • Compose Multiplatform
  • Material 3

ViewModels

Screen state and navigation effects

  • Lifecycle
  • Coroutines

iOS app

Xcode host for the same shared app

  • Darwin engine

Card scanning

Reads access cards and QR codes at the door

  • QR code

Repositories

Visitors, appointments, staff, access points, logs, auth

  • 8 repositories

API service

One HTTP client and call wrapper for every request

  • Ktor
  • kotlinx.serialization

Session store

Keeps the signed-in user between launches

  • DataStore

Workplace API

The shared record of visits, staff and access

  • REST
  • JSON
All connections
  1. Android app to Shared screens: hosts
  2. iOS app to Shared screens: hosts
  3. Shared screens to ViewModels: intents, state
  4. Card scanning to ViewModels: card read
  5. ViewModels to Repositories: suspend calls
  6. Repositories to API service: requests
  7. Repositories to Session store: session
  8. API service to Workplace API: HTTPS

Innovation highlights.

Innovation one

One codebase, two platforms

Screens, state and data live in shared Kotlin. Only the entry points and the HTTP engine differ between Android and iOS.

Innovation two

Role-shaped experiences

Administrator, security and employee flows are separate, built on the same shared components and models.

Innovation three

Screens that never touch the network

Viewmodels hold state and emit navigation effects. Repositories delegate to one API service, so network calls never live in the UI.

Technology stack

What it is built with.

Shared app

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Material 3

State and navigation

  • Lifecycle ViewModel
  • Navigation Compose
  • Coroutines

Data

  • Ktor client
  • kotlinx.serialization
  • DataStore

Media and utilities

  • Coil
  • FileKit
  • QR code
  • Kermit

Targets

  • Android
  • iOS

Next project

Identity & access · Android Loveworld Security