Xposure Portfolio

Xposure XPF App

01

Project Brief

Project timeline

2020 - 2025

Project Type

Event Mobile Application

Client

Xposure International Photography Festival

My Contribution

Flutter Front-End Developer - UI/UX Development, BLE Beacon Integration, Guest Workflow Modules

Connecting
photographers
with
the festival experience.

The Xposure XPF App was developed to serve two principal user groups at the annual Xposure International Photography Festival in Sharjah: attendees of the festival, providing them with a rich interactive guide to the event, and guest photographers invited to the event, providing enhanced tools and personalised workflows. The festival is held at Aljada, Sharjah, and brings together photographers, filmmakers, and visual storytellers from around the world.

Xposure XPF App

Overview

To assist visitors in navigating the Xposure Festival's multi-hall exhibition area, an indoor navigation system was implemented using BLE (Bluetooth Low Energy) beacons.

The system allowed both visitors and guest photographers to see their live position on the venue map, receive directions to exhibitions or talks, and get contextual notifications nearby points of interest.

How It Works

The mobile app continuously scans for nearby BLE beacons (model MBM01, long-range type).

Each beacon broadcasts a unique ID and signal strength (RSSI).

By measuring the signal strength from at least three beacons simultaneously, the app estimates user position via RSSI-based triangulation — a lightweight method suitable for real-time indoor positioning.

Triangulation Principle:

Each beacon defines a circular signal zone. The user's device estimates its distance to each beacon, and the intersection of three or more circles defines the current location.

This setup provided accuracy within 1–2 meters, sufficient for hall navigation and event discovery.

BLE Navigation System

Technical Implementation

  • Implemented in Flutter, integrated with a native Android BLE scanning service.
  • Signal strength filtered via a Kalman filter to reduce noise from reflection and interference.
  • Mapped to the venue's PDF plan, scaled and calibrated through beacon coordinates defined in meters.
  • Combined with Firebase for real-time event location updates and proximity-based notifications.

Outcome

Attendees could:

  • Navigate easily between exhibition halls, talks, and workshops.
  • Receive indoor route suggestions.
  • Guest photographers could get personalized navigation to their assigned areas.
BLE Navigation System

E-Commerce & Payment Integration

To enhance the festival experience and provide seamless merchandise purchasing, a comprehensive e-commerce solution was integrated directly into the mobile application.

WooCommerce Store Integration

A full-featured WooCommerce store was created within the app, allowing festival attendees to browse and purchase festival merchandise, photography books, and exclusive items directly from their mobile devices.

  • Complete WooCommerce store implementation with product catalog, shopping cart, and order management.
  • RESTful API integration enabling real-time communication between the Flutter app and WooCommerce backend.
  • Synchronized inventory management ensuring product availability and pricing accuracy.
  • Secure authentication and user session management for personalized shopping experiences.

Aramex Courier Integration

To streamline order fulfillment and delivery, the WooCommerce store was integrated with Aramex API, enabling automated courier setup and shipping management.

  • Aramex API Integration: Direct integration with Aramex's shipping API for automated courier service setup and shipment creation.
  • Automated shipping label generation and tracking number assignment upon order confirmation.
  • Real-time shipment tracking integration, allowing customers to monitor their order status directly within the app.
  • Automated courier pickup scheduling and delivery notifications sent via push notifications.
  • Seamless order-to-shipment workflow, reducing manual processing time and ensuring accurate delivery information.

Mobile Payment Solutions

To provide a modern, secure, and convenient checkout experience, Apple Pay and Google Pay were integrated as primary payment methods, connected to the Network International payment gateway.

  • Apple Pay Integration: Native iOS payment processing with Touch ID and Face ID authentication for seamless one-tap purchases.
  • Google Pay Integration: Android-native payment solution with fingerprint and PIN authentication for quick and secure transactions.
  • Network International Gateway: All payment transactions are securely processed through Network International's payment provider infrastructure, ensuring PCI DSS compliance and fraud protection.
  • Real-time payment status updates and order confirmation notifications delivered via push notifications.

E-Commerce & Payment Integration

Overview

The Xposure XPF mobile application was designed around a dual-role architecture to serve both public attendees and invited guest photographers.

Each role unlocked a distinct feature set, interface, and notification flow — all within the same Flutter-based app.

This approach allowed the platform to scale elegantly without fragmenting the experience into multiple apps.

1. Attendee Workflow (Public Users)

Objective: Help visitors explore the festival efficiently and stay informed.

Access Path:

  • Registered or anonymous sign-in (email or social).
  • Automatic assignment to the Attendee role.

Main Modules:

  • 📅 Schedule & Agenda: View all exhibitions, talks, and workshops.
  • Favourites: Bookmark sessions and receive reminders before they start.
  • 🧭 Indoor Navigation: Use BLE-based positioning to find routes to stages, halls, or events.
  • 🔔 Push Notifications: Get alerts about schedule changes, announcements, or crowd updates.
  • 📰 News & Highlights: Daily summaries, live photos, and updates from organizers.

UX Traits:

  • Focused on discoverability and navigation.
  • Minimal input from user — mostly read-only or bookmarking actions.
  • Designed for speed and clarity, with large typography and high-contrast dark theme for readability indoors.

Overview

The Venue Map & Search module served as the core spatial interface of the Xposure XPF app.

It allowed users to explore the festival layout, locate exhibitions, talks, and meeting points, and navigate to sessions with high precision through BLE beacon–assisted indoor positioning.

Unlike static maps, this system was designed as a layered hybrid mapping engine combining real-world geolocation with the detailed indoor floor plan of the venue.

Layered Mapping Architecture

🧩 1. Google Maps Foundation

The base layer used Google Maps coordinates as a universal geospatial reference frame.

This allowed the app to anchor the indoor map precisely to its real-world location while retaining compatibility with external navigation (e.g. guiding visitors from airport → festival entrance).

  • Accurate geolocation reference
  • Enabled outdoor-to-indoor transition
  • Simplified integration with existing map SDK tools

📐 2. Venue Plan Overlay

The official Xposure venue layout (PDF) was overlaid on top of the Google Maps base layer using captured corner points (latitude/longitude).

Each corner of the plan was manually mapped to its corresponding coordinate in Google Maps, allowing the overlay to align seamlessly with the real environment.

  • Used offset calibration between real coordinates and plan pixels
  • The plan was dynamically scaled and rotated based on captured reference points
  • Final alignment achieved sub-meter accuracy across the exhibition halls

📍 3. Beacon Coordinate Layer

On top of the venue plan, we added a beacon positioning layer — defining the BLE beacon grid used for indoor triangulation.

To populate this layer, we built a custom internal tool app:

  • Displayed the venue plan on-screen
  • Allowed developers to tap on the map to mark beacon positions visually
  • Automatically captured the device's current GPS coordinates, associating them with the tapped point
  • Exported data to Firestore for use by the main navigation app

This method ensured fast, accurate mapping of dozens of BLE beacons without manual coordinate entry.

Functional Highlights

  • Interactive Map View: Users could zoom, pan, and explore the venue in real time.
  • Session Search: Integrated search filtered events, talks, and exhibitions by name, category, or location.
  • Favourites & Routing: Sessions marked as favourites appeared on the map, and users could navigate directly to them via indoor guidance.
  • Seamless Beacon Integration: The app merged map coordinates with BLE signal strength data for live indoor positioning.

Technology Stack

Modern technologies powering the festival mobile application

Flutter

Cross-platform mobile development

BLE Beacons

Indoor navigation & positioning

Firebase FCM

Push notifications

QR Pass System

Single-use access codes

WooCommerce

E-commerce store & API integration

Apple Pay

iOS mobile payments

Google Pay

Android mobile payments

Network International

Payment gateway provider

Aramex API

Automated courier & shipping

Results

The Xposure XPF App was successfully delivered in time for the festival launch, serving both general attendees and invited guest photographers. The app provided reliable indoor navigation via BLE beacons, seamless role-based workflows, and real-time updates throughout the event. The modular architecture in Flutter allowed for easier iterations and maintainability, ensuring a smooth experience for all festival participants.

Process

Development approach for building an event-based mobile application

Module Development

Developed multiple interconnected modules using Flutter, including event schedule, push notifications, guest-photographer tasks, BLE beacon navigation, interactive venue maps, favourites/bookmarking, news/updates section, and info section. Separating concerns (schedule, map/navigation, guest-workflow, QR pass) allowed easier iterations and maintainability.

BLE & Backend Integration

Integrated BLE beacon SDKs/plug-ins to communicate with MBM01/LR beacons for indoor localisation and positioning. The app consumed APIs for schedule, flights, guest tasks, QR passes, venue mapping. Custom widgets were developed for indoor map rendering, beacon-based positioning, and venue way-finding, with fallback strategies for weak Bluetooth signals.