Flutter Architecture for a Scalable Digital Membership Card App

Hi everyone,

I’m currently building a Flutter application for a digital membership platform used by museums and other visitor attractions. The app needs to display digital membership cards, support Apple Wallet and Google Wallet passes, generate QR codes for entry, and continue working even when internet connectivity is unreliable.

The backend exposes REST APIs and uses JWT authentication, but I’m trying to decide on the best Flutter architecture for a production-scale app. My biggest questions are around state management, offline data synchronization, caching strategies, and keeping wallet passes updated automatically whenever a member renews or changes their membership.

Has anyone here built a Flutter app with similar requirements? Did you use Riverpod, BLoC, or another approach? I’m also interested in hearing how you handled secure QR validation, background data refresh, and performance when the app serves a large number of users.

I’ve been looking at solutions like MembershipAnywhere, which provide digital membership card for museums and attractions, and I’m curious how the Flutter community would design a similar application from the mobile side.

I’d separate this into three systems before choosing Riverpod vs BLoC:

  1. The backend owns membership and renewal status.

  2. The app keeps a versioned, read-only snapshot for offline display.

  3. Wallet pass updates are handled server-side, independently of whether the app is open.

For the QR flow, decide first whether the venue must validate entry offline. An online scanner can resolve a short-lived opaque token against current membership status. Offline validation needs a signed payload, expiry, key rotation, and an explicit acceptance that revocations will be delayed. I wouldn’t put membership data or an app JWT directly in the QR.

On mobile, refresh on foreground/connectivity changes and show when cached status may be stale. Riverpod or BLoC can both support this; ownership, revocation and conflict rules are the decisions that will determine whether it stays reliable in production.