Kenresoft Technologies Ltd
Discuss a projectLog in
Back to Portfolio

Case study

Phunplan

A Flutter app for discovering local activities, planning outings with friends and booking with activity providers. We built and integrated features across the mobile app, including bookings, maps, payments and notifications, and took it through release on Google Play and the App Store.

Phunplan
TechnologyMobile App DevelopmentBackend & API IntegrationBookingsMaps & LocationNotificationsPaymentsAdministrative Systems

Building a Production Mobile Experience for Discovering and Booking Activities

Phunplan is a mobile platform built around a simple idea: make it easier for people to discover activities, make plans, and actually go out and experience them.

We contributed to the Flutter mobile application as a Mobile Engineering team, working across the product's mobile experience and helping take the application through development, testing, and production release.

The product is developed by Phunlife Technologies Ltd and is currently available on both the Google Play Store and Apple App Store.

The Product

Phunplan brings discovery and booking into a single mobile experience.

Users can discover activities and experiences around them, view available options, make bookings, invite friends, and plan outings from one application.

The platform also connects users with local activity providers, creating a marketplace between people looking for things to do and businesses offering experiences.

The application therefore had to support much more than a simple activity catalogue. It needed to coordinate discovery, location, activity details, booking, payments, social interaction, and user planning while remaining intuitive on a mobile device.

Our Role

We worked specifically on the mobile application rather than the entire Phunplan platform.

Our responsibilities included implementing and integrating mobile functionality across major product areas, working with the application's Flutter architecture and state-management layer, connecting the interface to backend services, handling complex application states, and preparing the application for production on both Android and iOS.

This was a production product rather than a portfolio prototype, which meant that reliability, platform differences, API behaviour, permissions, performance, and release requirements all had to be considered alongside the UI.

The Mobile Experience

The application was structured around several interconnected experiences.

Activity Discovery

The discovery experience allows users to find activities and experiences based on what is available around them.

Location is an important part of this workflow because the product is designed around real-world activities rather than purely digital content.

The public application currently describes location-based discovery as one of its core capabilities.

Activity Details

Activity pages bring together the information a user needs before deciding to participate.

The mobile application had to make this information easy to consume while providing a clear path from discovery to booking.

Booking

Booking is one of the central workflows in the product.

The experience takes a user from selecting an activity through the necessary booking information and confirmation flow.

This required careful handling of asynchronous states, validation, pricing-related information, availability, and successful or failed requests without making the interface feel disconnected from the user's action.

The current public app describes booking as an in-app experience intended to allow users to secure activity spots directly.

Location-Based Experiences

Because Phunplan deals with physical activities, location is not simply an optional profile attribute. It influences discovery and the relevance of activities shown to users.

The mobile application therefore had to deal with:

  • Location permissions

  • Current user position

  • Nearby activities

  • Map-based interaction

  • Location-aware discovery

  • Platform-specific permission behaviour

This also introduced platform-specific considerations between Android and iOS, particularly around permission flows and release requirements.

Social Planning

Phunplan is not only a booking application.

The product allows users to involve other people in their plans. The application includes social planning capabilities such as inviting friends and coordinating around activities. The public product description specifically highlights inviting friends and planning experiences together.

Our mobile implementation therefore had to support flows where an activity, booking, and social interaction could intersect rather than treating each feature as an isolated screen.

Timeline and Group Interaction

The product also introduced a more social layer around activities.

Users can interact around plans and activities through timeline and group-oriented experiences, creating a bridge between discovery and actually organising an outing.

This required the mobile architecture to handle dynamic content and state changes while maintaining a responsive interface.

Backpack / Cart

A dedicated Backpack experience was used to manage selected activities before completing the relevant booking flow.

This created another layer of state that had to remain consistent as users moved between activity discovery, activity details, and booking.

The challenge was ensuring that users could navigate through the application without losing the context of their selected activities.

Vendors and Activities

Phunplan operates across two sides of the experience:

  • Users discover and book activities.

  • Activity providers supply the experiences users can discover.

The mobile application therefore consumes structured information about activities, vendors, availability, locations, and bookings.

The public product description similarly positions Phunplan as a connection between users and local activity providers.

State Management

A significant part of our mobile engineering work involved managing asynchronous application state.

Different parts of the application could simultaneously be affected by:

  • API requests

  • Authentication state

  • Location state

  • Booking state

  • Cart/Backpack state

  • User data

  • Activity data

  • Vendor information

  • Social interactions

The application used Flutter's reactive architecture and BLoC-based state management to keep these concerns separated and make state transitions explicit.

This was particularly important for workflows where the UI should update immediately while background operations continued, rather than replacing the entire screen with loading states.

Production Considerations

Shipping a mobile product introduces a different set of engineering constraints from building a demonstration application.

The application needed to work across Android and iOS while dealing with:

  • Platform-specific permissions

  • Location access

  • API failures

  • Authentication

  • Network variability

  • Loading and empty states

  • Error handling

  • App lifecycle behaviour

  • Release configuration

  • Store requirements

The product ultimately reached production on both major mobile platforms. The current App Store listing identifies the application as version 1.0.1, while Google Play currently lists the application as published by Phunlife Technologies Ltd.

Working on a Real Product

One of the most valuable aspects of our work on Phunplan was that it happened against real product requirements rather than a static design specification.

Features evolved as the product was tested. Issues discovered during development had to be diagnosed within the context of the entire application rather than fixed in isolation.

That meant balancing:

  • Product requirements

  • UX decisions

  • API constraints

  • Mobile performance

  • Platform differences

  • Release requirements

The project strengthened our experience building and maintaining a mobile product where engineering decisions directly affect a live user experience.

What We Contributed

Our work on the mobile application covered areas including:

  • Flutter application development

  • Feature implementation

  • BLoC/state management

  • API integration

  • Activity discovery

  • Location-based functionality

  • Maps

  • Activity details

  • Booking workflows

  • Backpack/cart functionality

  • User flows

  • Social/group experiences

  • Timeline-related functionality

  • Vendor/activity data

  • Error and loading states

  • Android and iOS integration

  • Production release preparation

  • Bug fixing and stability improvements

Outcome

Phunplan moved from a development product into a publicly available mobile application on both Android and iOS.

The current production application allows users to discover activities, book experiences, find things to do nearby, and plan activities with friends.

For Kenresoft Technologies Ltd, the project represents hands-on experience contributing to a real, multi-feature Flutter application through the full product-development lifecycle, including the less visible engineering work required to make a mobile product reliable enough for public release.

Role

Mobile Engineering / Flutter Development

Product

Phunplan — Phunlife Technologies Ltd

Platforms

Android · iOS

Primary Technology

Flutter · Dart · BLoC · REST APIs · Maps & Location

Let's talk

Have something similar in mind?

If your product or system has similar requirements, tell us about it and we'll talk through the approach.