It has live departures, alerts, track predictions, ticket purchase, automatic ticket recovery, Apple Wallet, and iCloud backup. The interesting technical part is making NJ Transit’s unofficial web ticket flow reliable: ViaNJ keeps purchases recoverable through redirects/failures and only considers checkout complete once the actual ticket is recovered.
It’s SwiftUI with a small backend and Cloudflare services. NJ Transit still processes all ticket payments directly, and ViaNJ never stores card data.
Still actively working on it, and accept any and all feedback. Fun fact, NJT is apparently a working on integrating Apple Wallet ticketing into their existing app. Unfortunately, I don’t see their app UX improving much more, but happy to be proven wrong eventually.