End-to-end builds

case study (f)

AptLok Mobile — Android App

The gate, the ledger, and the notice board in a resident's pocket — a React Native client shipped as a signed Android release.

AptLok MyAssociation mobile app screens

At a glance

Problem

The people who most need the platform — the watchman at the gate, the resident approving a delivery — are the least likely to open a laptop.

My contribution

Designed and shipped the Android client against the same Laravel API, with one wireframe specification written as the shared source of truth for web and mobile.

Audience

Residents and security staff on shared household phones, often at a gate with weak signal.

Tech stack

React NativeExpo SDK 54AndroidPush notificationsReact NavigationLaravel APISigned AAB

01

The problem

The people who most need a community platform are the least likely to open a laptop to use it. The watchman at the gate has a phone. The treasurer chasing dues has a phone. The tenant who wants to pre-approve a delivery has a phone and about four seconds of patience.

A mobile client here is not a convenience layer over the web app — it is where the security module actually lives, because the gate is a physical place and the register has to travel to it.

A society app that assumes one adult, one phone, one login has already mis-modelled the household.

02

The ten decisions that shaped the app

  1. 01Role selection immediately after login — committee, owner, tenant, or security — because the same household member is a different user at different moments.
  2. 02Two entry paths from the landing screen: community management behind a login, rentals and real estate with no login at all.
  3. 03OTP verification on mobile where the web uses Google OAuth — the phone number is the identity that matters in this market.
  4. 04Visitor pre-approval, so a resident can clear a guest before the guest reaches a gate with no signal.
  5. 05A watchman module built for one-handed use at a gate, not for a desk.
  6. 06Push notifications with per-device tokens, so a shared household login still reaches the right handset.
  7. 07Secure credential storage on device rather than in application state, so a shared phone does not leak a session.
  8. 08Image capture for listings and complaints from the camera directly, because the alternative is a complaint with no evidence.
  9. 09Over-the-air updates, so a fix reaches residents without waiting on a store review cycle.
  10. 10Separate navigation for logged-in and anonymous users, so the app is useful before anyone commits to an account.

03

Build & release

Expo SDK 54 with React Navigation, talking to the same Laravel backend over token authentication — the platform's API was designed alongside the mobile client rather than extracted from the web app afterwards, which is why the mobile flows are not awkward reductions of desktop screens.

Released as a signed Android App Bundle. The wireframe documentation for the app was written as the shared source of truth for both the mobile client and the web module, so the two never drifted into describing different products.

Documented once

Every screen, field, validation rule and flow captured in one specification — with the web exceptions (no OTP, no biometrics, no SMS invite) called out explicitly rather than discovered later.

04

What it changes

  • The gate register becomes digital at the point of use, not transcribed afterwards.
  • Residents approve visitors before arrival, which removes the phone call that currently interrupts both parties.
  • Notices arrive as notifications rather than as messages competing with a family group chat.
  • Rentals and listings are browsable without an account, so the app has value on first open.