Dev Blog

How NeatPass Scans Tickets Without a Server

A look inside the on-device ML pipeline that powers NeatPass. From image preprocessing to barcode detection, all running locally on your iPhone via Apple's MLX framework.

2 min readFeb 3, 2026

When you scan a ticket with NeatPass, everything happens on your iPhone. No server call, no cloud processing, no ticket content leaving your device. This post walks through how that works, from the moment you share a screenshot to the moment a Wallet pass appears.

The Problem with Cloud Scanning

Most ticket scanning apps work by uploading your image to a remote server, running OCR and barcode detection in the cloud, then sending the results back. It's the simpler engineering path, but it means your ticket data passes through third-party infrastructure.

NeatPass (On-Device)
  • Processing happens on your iPhone
  • Works without internet connection
  • No ticket content leaves your device
  • No server breach risk
Cloud-Based Apps
  • Images uploaded to remote servers
  • Requires internet connection
  • Personal data on third-party infrastructure
  • Vulnerable to server breaches

Built on Apple's MLX Framework

NeatPass uses MLX, Apple's machine learning framework for Apple Silicon. The AI model runs directly on your iPhone's GPU, which means the entire scanning process stays on your device. No internet connection, no server, no data leaving your phone.

What Happens When You Scan

From sharing a screenshot to seeing a finished Wallet pass, here's what NeatPass handles for you:

1

Handles Any Input

Dark Mode screenshots, photos taken at weird angles, low-res images, PDFs with complex layouts. NeatPass adapts to whatever you throw at it so you don't have to think about image quality.
2

Finds Every Barcode

NeatPass recognizes 18 barcode formats, from QR codes to PDF417 (boarding passes) and Aztec (European rail). If your ticket has multiple barcodes, all of them are detected and you choose which one to use.
3

Reads Your Ticket

The AI extracts the details that matter: event names, dates, times, venues, seat numbers, booking references. It understands the structure of tickets, not just the text on them.
4

Creates a Ready-to-Use Pass

All extracted data is mapped to the right fields automatically. Your event name goes in the title, the date goes in the date field, the barcode becomes the scannable identifier. The result is a Wallet pass you can use at the gate, not a pile of raw text.

Try on-device scanning yourself

Download

Why does it take ~20 seconds?

Running the full ML pipeline on-device takes more time than a single server round-trip. That's the tradeoff. NeatPass prioritizes privacy over speed, and 20 seconds is fast enough when you're converting a ticket before an event. I continue to optimize performance with each update.

The Result

High Accuracy

Reliable results on standard ticket formats, including low-res images and partially damaged barcodes.

Fully Offline

Works in airports, venues, and anywhere with unreliable connectivity.

Zero Breach Risk

Nothing to protect on a server because nothing is stored there.

Want to know more about the AI behind NeatPass?

See my AI model technical details. For a comprehensive guide, read about on-device AI ticket scanning and how it works.

Ready to migrate your cards?

NeatPass makes it easy to convert any ticket, pass, or loyalty card to Apple Wallet.

Try NeatPass Free

Related Updates