Android App Development

Event Ticketing Gate Scanner App

A native Kotlin scanner validating 25,000 tickets an hour at the gate, with no dependence on venue Wi-Fi.

View live demo Opens a working demo with sample content in a new tab.
Fieldgate Events demo on desktop and phone

On location

  • Concert Festival — Fieldgate Events
    Concert FestivalPhoto: Burst (CC0)
  • People Crowd — Fieldgate Events
    People CrowdPhoto: Maxime Bhm (CC0)
  • Band members yellow lights audience — Fieldgate Events
    Band members yellow lights audienceCC0 photo
  • Concert crowd event — Fieldgate Events
    Concert crowd eventCC0 photo
  • Concert Show — Fieldgate Events
    Concert ShowPhoto: John Price (CC0)

About the Project

This case study covers an event ticket scanning app built for a live events and festival operator whose gates were slowing to a crawl at exactly the wrong moment. Staff had been scanning tickets with a web app on borrowed tablets. When the crowd arrived, the venue Wi-Fi saturated, each scan took four or five seconds, and queues grew until stewards started waving people through unchecked. That is how duplicate tickets got in, and it is why the operator came to us.

We built a native Android app in Kotlin that validates every ticket on the device itself. The full ticket list for the event is downloaded before doors open, so a scan is a local lookup rather than a round trip across a crowded network. Scans sync in the background whenever a connection exists, duplicates are caught across gates as devices reconcile, and a live dashboard shows the operations team how every gate is performing. The result is sustained throughput of roughly 25,000 scans an hour, with validation well under a second and entirely offline.

About the Client

The client runs festivals and live events where tens of thousands of people arrive within a short window, often at temporary sites with patchy connectivity. Gate entry is the first thing every attendee experiences, and it is also where revenue is protected: a ticket waved through without a check is a ticket that can be sold twice.

The operations team needed two things at once. Stewards at the gate needed a tool that never made them wait, and the control room needed to see, in real time, which gates were flowing and which were starting to back up. Neither was possible with a web app that depended on venue Wi-Fi.

Project Goals

  • Validate tickets in well under a second, with or without a network connection.
  • Stop duplicate and invalid tickets getting through, even under pressure.
  • Support both phone cameras and dedicated rugged scanners at the gate.
  • Give the operations team a live view of scan rates and totals per gate.
  • Keep every scan recorded and reconciled for reporting after the event.

Project Overview

The Challenge and Our Solution

The Challenge

Gate staff scanned tickets with a web app on borrowed tablets. At a busy gate the venue Wi-Fi saturated, scans took four or five seconds each, and queues built to the point where staff waved people through unchecked — which is how duplicate tickets got in. The operator had no live view of throughput per gate.

Our Solution

We built a native Kotlin app that downloads the full ticket list for the event before doors open and validates entirely on-device, so throughput does not depend on the network. Scans sync in the background whenever a connection is available, and duplicate detection works across gates once devices reconcile. A live dashboard shows scan rate and totals per gate so stewards can be moved before a queue forms.

Offline Ticket Validation That Never Waits on Wi-Fi

The heart of the app is offline ticket validation. Before doors open, each device downloads the complete ticket list for the event into a local Room database, indexed for instant lookup. When a steward scans a barcode or QR code, the app checks it against that local list and returns a clear valid, already-used or invalid result in milliseconds. The network is simply not involved in the decision.

This changes the economics of a busy gate. Throughput depends on how fast stewards can present and scan tickets rather than on how many thousand phones are competing for the same access point. Background work managed by WorkManager uploads scans whenever a connection becomes available, so the central record catches up without anyone at the gate noticing.

  • Full ticket list held on the device before doors open
  • Valid, already-used and invalid results in milliseconds
  • Background upload of scans whenever a connection exists

Duplicate Ticket Detection Across Every Gate

Offline validation raises an obvious question: if each device decides locally, what stops the same ticket being used at two gates? The answer is reconciliation. Devices exchange their scans as soon as they can, and once a ticket has been admitted anywhere, every other device learns about it and will flag it as already used.

Crucially, the app flags a duplicate rather than quietly rejecting it. The steward sees which gate admitted the ticket and when, so they can handle the conversation calmly and escalate if needed. Duplicate tickets are now detected and flagged instead of being waved through when the queue gets long.

Hardware-Speed Scanning for Festival Gate Entry

Festival gate entry rewards rhythm. We tuned scanning with CameraX for phone cameras and integrated the scanner SDK for dedicated rugged Android devices, so continuous, rapid scanning feels immediate. Large, high-contrast result screens and distinct feedback for each outcome let stewards keep their eyes on the crowd rather than on small text.

The interface, written in Jetpack Compose, was designed around gloved hands, low light and noise. Every action a steward takes at the gate is one tap or less, and the app recovers instantly if a device is restarted or swapped mid-shift.

A Live Gate Dashboard for the Control Room

The operations team now has a live gate dashboard showing scan rate, running totals and exceptions for each gate. Because devices report as soon as they have a connection, the picture in the control room stays current through the busiest part of the arrival window.

That visibility turns queue management from reaction into planning. When one gate's scan rate drops or its exceptions climb, supervisors can move stewards before a queue forms rather than after attendees have started to complain. The same data feeds post-event reporting on entry times and gate performance.

Our Process

How We Delivered It

  1. Observing real gates

    We started with how the gates actually behaved on event days: where time was lost, how stewards held devices and what happened when the network failed. That shaped an offline-first design from the first sketch.

  2. Designing the data model

    Ticket lists, scan records and reconciliation rules were modelled so that local decisions are fast and conflicts between devices resolve predictably once they sync.

  3. Building the native app

    The Kotlin app was built with Jetpack Compose, Room, CameraX and the scanner SDK, with WorkManager handling background synchronisation reliably on rugged Android hardware.

  4. Load and failure testing

    We tested continuous scanning at speed, devices going offline and coming back, and the same ticket presented at two gates, until every path produced a clear, correct result.

  5. Rollout and dashboards

    Devices were provisioned before doors opened, the live gate dashboard was set up for the control room, and scan data was reconciled after the event for reporting.

Key Features

What We Delivered

  • Offline validation

    Full ticket list held on the device, so scanning never waits on venue Wi-Fi.

  • Cross-gate duplicate detection

    Devices reconcile scans so the same ticket cannot be used at two gates.

  • Hardware-speed scanning

    Camera and dedicated scanner support tuned for continuous, rapid scanning.

  • Live gate dashboard

    Scan rate, totals and exceptions per gate for the operations team in real time.

Outcome

Results and Impact

  • Validation time per ticket reduced to well under a second, entirely offline.
  • Sustained throughput of roughly 25,000 scans an hour across gates.
  • Duplicate tickets detected and flagged rather than waved through under pressure.
  • Live gate dashboards let the operations team move stewards before queues built.

Client Feedback

What the Client Says

★★★★★

Twenty-five thousand scans an hour with no dependence on venue Wi-Fi. The first festival we ran with it was the calmest gate we have had, and the live throughput view let us move stewards before a queue formed rather than after.

Event Operations DirectorLive events & festival operator

Services

Services Behind This Project

The Android App expertise we used to build this android app development — and can bring to yours.

  • Android App Development

    Native Android apps built in Kotlin with Jetpack Compose — Material 3 design, background work, offline storage and Google Play release management.

FAQ

Frequently Asked Questions

Why build a native Android app instead of a web app for ticket scanning?

A native app can store the full ticket list locally, use the camera and dedicated scanner hardware at full speed, and keep working with no connection at all. A web app at a busy gate depends on the network for every scan, which is exactly what fails when thousands of people arrive at once.

How does offline validation stop the same ticket being used twice?

Each device records the tickets it admits and exchanges those scans with other devices and the server whenever a connection is available. Once a ticket has been admitted at any gate, every device learns about it and flags later attempts as duplicates, showing where and when it was first scanned.

Can the app work with our existing ticketing provider?

Usually, yes. The app needs the ticket list for an event before doors open and somewhere to send scan results afterwards. We integrate with ticketing platforms through their APIs or exports, and the exact approach depends on what your provider offers.

What hardware do stewards need at the gate?

The app runs on modern Android phones using the camera, and it also supports rugged Android devices with dedicated scanners for faster, continuous scanning. Many operators mix both, using rugged devices at the busiest gates and phones for overflow and roaming staff.

What drives the cost and timeline of an event scanning app?

The main factors are the number of ticket types and entry rules, the ticketing integration, the hardware you plan to use, offline reconciliation requirements and the dashboards you need. A clear scope around one event type keeps the first release focused, with more features added between events.

How is scan data used after the event?

Every scan is reconciled into a central record, so the operator can report on entry times, gate throughput, duplicates and exceptions. That data helps plan staffing and gate layout for the next event and provides evidence if a ticket dispute arises.

Similar Work

Related Projects

Case studies built with the same technologies or for similar needs.

  • Returns Warehouse Forklift moving boxes — Meridian 3PL
    • Kotlin
    • Jetpack Compose
    • Room

    Android App Development

    Warehouse Pick & Pack Android App

    A native Kotlin app for rugged scanners that keeps working when the warehouse Wi-Fi does not.

  • Shop Store — ShopEase
    • PHP
    • MySQL
    • JavaScript

    eCommerce Development

    ShopEase – Modern eCommerce Platform

    A feature-rich online fashion store with a seamless shopping experience, powerful admin management and secure transactions.

  • Semi trucks line up to pick — Northline Freight
    • React
    • TypeScript
    • Node.js

    Web Application Development

    Freight Dispatch & Driver Tracking Platform

    A live dispatch board built in React and Node.js that replaced a spreadsheet-and-phone workflow for 120 drivers.

  • Office Work — Marchmont Brokers
    • Angular
    • TypeScript
    • RxJS

    Enterprise Web Application

    Insurance Claims Administration Portal

    An Angular portal that gave 200 claims handlers one screen in place of three legacy systems.

  • Witley Bay Bingo Hall roof damage — Northshore Insurance
    • Kotlin Multiplatform
    • Jetpack Compose
    • SwiftUI

    Cross-Platform App Development

    Field Adjuster Apps on a Shared Core

    Android and iOS adjuster apps sharing one Kotlin Multiplatform core for assessment rules, sync and offline data.

  • Scooter Motorbike — Swift Kitchen
    • Flutter
    • Dart
    • Riverpod

    Mobile App Development

    Food Delivery Courier App

    A Flutter courier app with live tracking, batched drops and earnings that couriers can actually check.

Let’s Connect

Want Results Like These?

Share your project details and our experts will get back to you within one business day with the best solution — free consultation, no obligation.