05 / The Circular Net
Circular Ticket Mobile
The iOS and Android app for Circular Ticket: attendees discover events and carry their tickets; organisers create events, scan tickets at the door and request payouts.
- Company
- The Circular Net
- Role
- Sole mobile engineer
- Period
- Jul 2026 – PresentIn development
- Links
- Private / internal
- Stack
- ExpoReact NativeExpo RouterTypeScriptNativeWindTanStack QueryRedux ToolkitZodReanimatedexpo-cameraEAS
Circular Ticket Mobile
The events app for iOS and Android
Screenshots coming soon
What I built
- 01The attendee flow: discover and filter events, event details, registration, checkout and orders with QR tickets
- 02The organiser flow: a multi-step create/edit event wizard, dashboard stats, orders and scanner access
- 03A ticket scanner with camera framing that locks onto the code, validation and attendee check-in
- 04NGN/USD wallets, transactions, payout accounts and payout requests
- 05A five-step KYC wizard and in-review states on payout screens
- 06SSO sign-in, calendar sync, a notifications hub, dark mode and illustrated empty states
The system
One app, two roles, the shared package underneath
Key decisions
- 01
One account, two roles
Attendees and organisers use the same sign-in and switch roles inside the app, instead of installing two apps.
- 02
Scan, validate, then check in
The scanner frames the code, validates the ticket against the API and only then checks the attendee in, with a visible state for each step.
- 03
Ready for the newest iOS
iPad rotation and the iOS scene lifecycle are in from the start, so the app launches cleanly on the latest iOS.
01
The problem
Organisers and attendees needed a native app for the events product, with one account that switches between attendee and organiser roles.
02
The process
I built the app in the same npm-workspaces monorepo as the web app, importing services, hooks and schemas from the shared package. It started from mock data and UI primitives, then each area (events, orders, wallets, payouts, KYC and scanning) was wired to the live API.
03
The outcome
App identity, deep links and EAS builds for the Play Console are configured; the store release is next.
04
What I learned
Sharing data and validation logic kept web and mobile consistent, while the screens stayed native to each platform.