Piramilan Suthesakumaran

Full-Stack & AI Engineer

Published April 10, 2026Updated April 10, 20263 min readBy Piramilan Suthesakumaran

Building Mobile Apps with Expo & React Native for Canadian Organizations

How I build cross-platform mobile apps for organizations like the Canadian Tank Museum and Canadian Tamil Radio using Expo and React Native.

Building Mobile Apps with Expo & React Native for Canadian Organizations

I am currently building two cross-platform mobile apps using Expo and React Native for Canadian organizations — the Canadian Tank Museum and Canadian Tamil Radio. This post covers why I chose this stack, how the projects are structured, and what I have learned so far.

Why Expo and React Native

For both projects, the requirement was clear: build one codebase that works on both iOS and Android, ship fast, and keep long-term maintenance simple. Expo with React Native was the best fit because:

  • Single codebase for iOS and Android reduces development time and cost
  • Over-the-air updates let me push fixes without app store review cycles
  • Rich ecosystem of libraries for audio streaming, push notifications, offline storage, and maps
  • TypeScript support keeps the codebase maintainable as features grow

Both clients needed apps that work reliably in real-world conditions — museum visitors with spotty WiFi and radio listeners who want background playback while driving.

Canadian Tank Museum App

The Canadian Tank Museum needed a digital companion app for visitors. The app includes:

  • Interactive exhibit guides with rich media content and historical context
  • Audio tour narration that works offline once downloaded
  • Event calendar with push notifications for upcoming exhibits and events
  • Visitor feedback tools to help the museum improve the experience

The biggest technical challenge was offline support. Museum visitors often have poor connectivity inside the building, so the app pre-caches exhibit content and audio files when connected to WiFi. I used Expo's file system APIs and a local SQLite database to make this seamless.

Canadian Tamil Radio App

Canadian Tamil Radio serves the Tamil diaspora across Canada with live radio, talk shows, and cultural programming. The app includes:

  • Live radio streaming with background playback and lock screen controls
  • On-demand podcast episodes with offline download support
  • Show schedule with host profiles and favourite show tracking
  • Push notifications when live shows start or new episodes drop
  • Community features for song requests and dedications

The core challenge here was reliable audio streaming with background playback on both platforms. I used expo-av for audio playback with proper handling of interruptions (phone calls, other audio), lock screen controls, and stream quality adaptation based on network conditions.

Shared architecture patterns

Both apps share similar architectural decisions:

  • Expo Router for file-based navigation
  • TypeScript throughout for type safety
  • React Query for server state management and caching
  • Expo Notifications for push notification handling
  • Custom hooks for shared business logic like auth, offline sync, and analytics

What I have learned

Building these apps reinforced a few things:

  1. Offline-first is not optional for apps used in physical spaces or while commuting
  2. Expo has matured significantly — most native modules I needed were available out of the box
  3. Push notifications drive engagement — both organizations saw higher return visits after implementing targeted notifications
  4. Audio apps need careful state management — handling background playback, interruptions, and buffering states requires thorough testing on real devices

Interested in a mobile app?

If your organization needs a cross-platform mobile app — whether it is a visitor guide, streaming app, operational tool, or customer-facing product — I can help. I work with Expo and React Native to deliver production-ready apps for both iOS and Android.

Check out the project pages for Canadian Tank Museum and Canadian Tamil Radio for the latest development updates.

Reach out at milan@findmilan.ca to discuss your project.

Frequently asked questions

Why use Expo and React Native for business apps?

Expo and React Native make it possible to ship one codebase across iOS and Android while keeping maintenance simpler and delivery faster for most business applications.

Can Expo apps support offline content and push notifications?

Yes. Expo supports offline storage, local databases, push notifications, and the native APIs most operational or customer-facing mobile products need.

Do you build mobile apps for Canadian organizations?

Yes. I build mobile apps for Canadian organizations, startups, and operational teams using Expo and React Native for cross-platform delivery.

Related articles

View all

Need help with setup or delivery?

I take on freelance and outsourcing work across AI consulting, website development, mobile apps, automation, and OpenClaw setup. If you want to discuss your project, email milan@findmilan.ca.

You can also review the services page or browse the full blog archive.