Docerity
All work

Mobile · Access control

QwikPass

Access control, payments and compliance for gated sites, across five product surfaces, with gates that keep working when the connection does not.

FlutterFirebaseNext.jsReactTypeScriptGemini

Status

Live

Role

Lead engineer, and the only one

Timeline

2026 – present

Five surfaces, one engineer

A Flutter app for residents, a separate Guard APK for the gate, a Next.js console for management, a React surface for events and the public site, over three business lines: access control, payments, communications, compliance, analytics and operations.

Owning all of it end to end is unusual and it is the reason the parts agree with each other. There was nobody to hand an interface to and no second opinion about what a field means.

A gate with no signal is still a gate

Gates sit where connectivity is worst, and an access system that needs the network to decide is an access system that fails at the exact moment somebody is waiting at a barrier.

Offline verification uses RFC 6238 time-based codes, so the guard's device can check a pass against the clock rather than against a server. The audit trail reconciles when the connection returns.

Results

  • 488+ tests at over 80% coverage on the critical paths.
  • Gate requests under 307ms and webhook processing under 328ms at the 95th percentile.
  • 42 Firestore rules and more than 40 tamper-evident audit actions.

Got something like this to build?

Start a project