A ticket is a piece of art, not a PDF.
You have 47 tickets. They all look the same. They all look bad. They're all forgotten.
You get a PDF, screenshot it, lose it in the camera roll. The ticket of the gig that changed your life ends up between grocery receipts.
Snap. Read. Transform.
- 01 · Snap
Open FunTicket, point at the PDF, screenshot, or email. Even just the QR works.
- 02 · Read
ML Kit extracts text, the IATA BCBP parser reads boarding passes, the TicketOne / Live Nation one reads concerts. All on-device.
- 03 · Transform
Three seconds later you have a styled ticket. Colors lifted from the poster, typography picked, code intact.
Nine ways to sit in your pocket.
Nine structural renderers, infinite customisation. A stub is a stub, a boarding pass is a boarding pass.
They light up on their own. They fade on their own.
Seasonal presets that appear in the catalogue when the season comes. Coachella's over? It's gone.
- LIVEWorld Cup 2026May 2026 → Aug 2026
- NEXTPride 2026Jun 2026 → Jul 2026
- NEXTGlastonbury 2026Jun 2026 → Jul 2026
- NEXTSummer 2026Jun 2026 → Sept 2026
- NEXTTomorrowland 2026Jul 2026 → Aug 2026
- NEXTHalloween 2026Oct 2026 → Nov 2026
- NEXTDía de Muertoswith FunTicket MéxicoOct 2026 → Nov 2026
- NEXTChristmas 2026Dec 2026 → Jan 2027
- NEXTNew Year's Eve 2026Dec 2026 → Jan 2027
Four voices, one app.
The aesthetics and palette are TOP. It's the first ticket I actually want to show off. For Italian indie gigs I'd buy a poster of it.
I photograph the boarding pass, it reads the PDF417 and fills everything in. Apple Wallet then takes it straight from my FunTicket.
I thought it'd be complicated. I opened it, photographed it, ended up with a ticket I could send my kids with the opera's QR.
I like how it treats typography and editorial. It's not a poster editor, it's a ticket editor that treats them like real objects.
Serious stuff, told seriously.
- 01 · IATA BCBP parser
- M1 prefix, all mandatory fields, readable conditional items
- 02 · @shopify/react-native-skia 2.2
- 60fps canvas rendering
- 03 · On-device ML Kit
- no photo ever hits our server
- 04 · Bun + Elysia backend
- 27 endpoints, JWT HS256, Supabase RLS
- 05 · 91 integration tests passing
- ≥ 85% coverage
- 06 · Hermes + New Architecture
- startup < 1.2s
- 07 · Offline-first sync via durable mutation queue
- 08 · One-tap Apple Wallet export
Export to Apple Wallet with one tap.
Compatible with native iOS passes. The QR is always one Face ID away.
Your tickets live on your phone. Sync only if you want.
No mandatory account. Guest mode on first launch, account when you want to keep them for real.
Quick questions, honest answers.
01 Is it free?
Yes. FunTicket is free with no cap on the number of tickets you can make. No paywall, no ads. We may add premium partner presets later, but core features stay free.
02 Does it work with TicketOne and Live Nation?
Yes. Dedicated parsers read the typical structure of TicketOne and Live Nation emails and PDFs: title, date, venue, city, section, row, seat, and code are all extracted. For boarding passes we use the IATA BCBP standard (PDF417).
03 What happens without internet?
Everything keeps working. Tickets live in SQLite on your phone, photos are local, the sync queue drains when you're back online. OCR runs on-device — nothing of yours ever leaves the device to be parsed.
04 Can I use it without an account?
Yes, guest mode is built in. You can make a ticket on the fly without signing up. When you want to keep the collection, sign in and everything migrates to your profile automatically.
05 Does it run on Android too?
Yes. Available on the App Store (iOS 15.5+) and Google Play. Skia rendering, sync queue, and the BCBP parser behave identically on both platforms.