CityAppTour app icon
CityAppTourTravel & Tourism · iOS, Android

CityAppTour: Explore cities at your own pace

CityAppTour is a travel app with GPS-guided audio tours across European cities. We designed and developed a mobile platform that lets travelers explore on their own schedule, without the costs of traditional guided tours.

  • UI/UX designFlutter cross-platform app developmentBackend development
  • QA and testingProject management
CityAppTour map with the audio player
Market
Travel
Duration
1 year
Team
5 people
Model
Fixed price
In short

CityAppTour is a travel and tourism app offering GPS-guided audio tours across European cities. Perpetio worked with the client to design and develop a mobile platform that lets travelers discover new places independently, without the fixed schedules or costs of traditional guided tours.

CityAppTour

CityAppTour now offers travelers a flexible way to discover European cities independently, while giving the client tools to support user acquisition and engagement.

Travel & Tourism
Market
1 year
Duration
5 people
Team
Fixed price
Model
What we did

The problem: making self-guided city tours more accessible

A guided city tour costs around €30 and runs on someone else’s schedule. CityAppTour wanted to change that by giving travelers an affordable app that works like a personal guide in their pocket. The business also needed growth built in, with gifting features and smart push notifications to bring travelers back.

Making it feel effortless was the hard part. Each waypoint needed its own GPS trigger distance. Audio had to play in the right order, starting at Waypoint 1, with no overlapping recordings. And in quiet places like churches, travelers needed a way to listen discreetly.

  • Smart GPS triggers: each waypoint has its own trigger radius, so audio starts exactly where it should
  • Discreet listening mode: audio plays through the earpiece, perfect for churches and museums
  • Seamless tour flow: waypoints unlock in order from Waypoint 1, with no overlapping audio
  • Offline-ready: maps and audio are cached, so the tour works without roaming or Wi-Fi
  • Group purchases and gifting: one person can buy a tour for friends or gift it to someone else
  • Free tour credits via deep links: easy promo distribution through dynamic links
  • Branded selfie frame: travelers share their tour moments, and the app gets free promotion
  • RevenueCat integration: reliable in-app payments across development and production
  • Built-in growth tools: gifting and smart push retargeting bring travelers back

The solution: a flexible GPS audio tour app

  • GPS-triggered audio navigation

    A dynamic map and GPS waypoints lead travelers along the route, and each story starts by itself at its stop. Audio plays through the speaker, Bluetooth or the earpiece, for quiet places like churches and museums.

    • Each stop has its own trigger distance, adjustable without an app update
    • Waypoints unlock in order, from Waypoint 1
    • Recordings never overlap
    • The intro plays before the first stop
    • Speaker
    • Bluetooth
    • Earpiece
  • Marketing and growth features

    Branded selfies, shareable credits and well-timed nudges turn travelers into promoters.

    • Branded selfie frame
    • Deep-link tour credits
    • Cart reminders
    • Review prompt at 70%
  • Group bookings and tour gifting

    Buy a tour for friends and family, even for people who have no CityAppTour account yet.

    • Multi-person bookings
    • Email gifting
    • Tour balance
  • Localization and user experience

    The tour language is picked separately from the app language, and favorites stay when it changes.

    • English
    • Polish
    • More European languages
    • Dark mode
  • Technical implementation

    One Flutter codebase for iOS and Android, with tour content managed in Statamic CMS v6.

    • Flutter
    • Firebase
    • RevenueCat
Travellers

Discover a city at your own pace

Travelers can explore cities at their own pace, listen through the phone speaker, Bluetooth, or earpiece, and access cached maps and audio when they’re offline.

  • Pick a city and a tour
  • Follow the route on the map
  • Listen automatically or manually

OfflineCached maps and audio

CityAppTour map with a stop card
Gift givers

Give a tour to a friend

We developed multi-person bookings and email gifting, allowing users to purchase tours for friends and family, including recipients without a CityAppTour account.

  • Buy a tour as a gift
  • Find a friend by email
  • Pay and send it to their library

Group purchasesEmail gifting, and referral credits

CityAppTour payment screen

Inside the CityAppTour

Find a tour

From a country to the best tour nearby

Travellers choose a city from the list and see the best tours near them, with the key facts on every card.

  1. 1Choose a country and city
  2. 2Browse tours with distance, rating and price
  3. 3Open a tour for details
Home screen with tours
Select a city
Tour details

A more flexible way to explore cities

GPS-guided navigation, location-based audio and flexible booking in one app. Travelers explore at their own pace, listen however they like, and keep going even without a connection.

Tours keep running with no signal: maps and audio are cached
Offline
stops in the flagship Amsterdam tour
12
into a tour, the app asks for a review while the experience is fresh
70%
platforms from one Flutter codebase: iOS and Android
2

What changed for travelers and for the business

  • Travelers
  • Business
  • More accessible city tours

    A self-guided alternative to live tours, with no fixed group schedules and no high price barrier.

  • Flexible audio experiences

    Speaker, Bluetooth or a discreet earpiece, even for quiet places like churches.

  • Offline exploration

    Cached maps and audio keep the tour going without a reliable connection.

  • A more adaptable experience

    Multiple tour languages, independent language selection and dark mode.

  • More ways to share tours

    Group purchases, email gifting and referral credits bring friends and family in.

  • Built-in engagement tools

    Branded selfies, cart reminders and progress-based review prompts keep users coming back.

Technical details

Built with Flutter, the app supports iOS and Android from a single codebase. The technical stack also includes Firebase, RevenueCat, and Statamic CMS v6.

Development period
1 year
Client location
Europe
Team
5 people
Platforms
iOS, Android

Technologies

  • Flutter
  • Flutter SDK
  • Statamic CMS v6
  • Firebase
  • RevenueCat
  • Stripe
  • in-app purchases

Authentication

  • Google Sign-In
  • Apple ID
  • Facebook Login

Team composition

  • Project Manager
  • Flutter Developer
  • Backend Developer
  • QA Engineer
  • UI/UX Designer

Additional features

  • GPS navigation
  • waypoint-based audio playback
  • offline map and audio caching
  • earpiece mode
  • tour gifting

Planning a travel or audio guide app?

We’ll design and build an app travellers use on every trip.

More projects

All use cases