← All Case Studies

Case study · IOT / FITNESS

From Reception Desk to Gym Floor: A Complete Hardware-Software Integration

How we designed and delivered a fully integrated gym ecosystem — bridging CRM, React Native mobile app, QR-enabled gate hardware, and kiosk payment systems into a single real- time platform on AWS.

Explore other case studies

Client background

Client Background

Our client is a growing multi-location gym chain serving thousands of active members across several cities. As the business scaled, its operational infrastructure had not kept pace: membership records lived in spreadsheets, check-ins were handled manually at reception, promotions were communicated informally, and in-club retail had no connection to member accounts whatsoever. Each new branch added complexity rather than efficiency, and the member experience was inconsistent across locations. Staff time was being consumed by administrative tasks that should have been automated, and management had no reliable view of attendance or revenue across the business in real time. The brief was unambiguous: build a unified platform that connects every part of the member journey — and make sure it works not just on screens, but physically at the club door and on the gym floor.

The core challenge

The Core Challenge: Making Software Decisions Execute in the Physical World

The hardest aspect of this engagement was not writing the software. It was making software decisions — membership status, wallet balance, access rights — execute reliably in the physical world, in real time, without friction. A gate that hesitates for three seconds at 7am during peak rush is not a minor inconvenience; it is a queue, and queues kill member experience. A kiosk that double-charges a member or fails to dispense after debiting their account erodes trust immediately and irreparably.

This created a category of engineering problem that sits at the intersection of distributed systems, hardware integration, and user experience design. Every component — the React web portal, the .NET Core API, the React Native mobile app, the entry gate controllers, and the health drink kiosks — had to behave as a single coherent system sharing one live source of truth about every member's state. A membership suspended in the back-office portal had to be enforced at the gate within seconds. A wallet topped up in the app had to be available at the kiosk before the member had walked across the floor.

Achieving that level of real-time consistency across software and physical hardware, deployed reliably on AWS across multiple branch locations, was the central technical challenge of the project — and the thing that fundamentally distinguishes this platform from a standard gym management tool.

Management platform

The CRM & Management Platform

Built in React with a .NET Core API backend hosted on AWS, the management platform handled the full membership lifecycle: sign-ups, plan assignment, renewals, suspensions, cancellations, and tier management. A CRM layer tracked member history, visit patterns, communication preferences, and engagement data, giving staff the context to provide personalised service and giving management the intelligence to drive retention decisions.

The offer and discount engine allowed staff to create targeted promotions by membership tier, visit frequency, or tenure — replacing ad-hoc discounts with a structured, auditable campaign system. Active offers were surfaced automatically to the relevant members in their mobile app. Each member account carried an integrated digital wallet, topable via the app, which served as the sole payment mechanism for in-club kiosk purchases. Multi-location reporting gave the ownership team a consolidated, real-time view of attendance, revenue, and wallet activity across all branches from a single screen.

Mobile application

The React Native Mobile Application

The member-facing mobile application — built in React Native for cross-platform deployment on iOS and Android — was the physical key that unlocked the entire ecosystem. Its two most critical functions, gate access and kiosk payment, had to work instantly and without ambiguity every single time a member used them.

Both were powered by a secure QR generation service embedded in the .NET Core backend. QR codes were dynamically generated, cryptographically signed, and time-bound — expiring after a short window to prevent screenshot sharing, credential forwarding, or replay attacks. The app was designed so that a member arriving at the gate could have their QR on screen within one or two taps from the lock screen, with no re-authentication required per visit. Beyond access, the app provided full membership visibility: plan status, wallet balance, transaction history, active offers, and renewal dates. Push notifications handled low-balance alerts, renewal reminders, and targeted campaign messages.

Hardware integration

Hardware Integration: QR Gate Access

The gate access integration was built around a hardware communication layer — a lightweight, always-on service running at each branch that maintained a persistent, low-latency connection between the physical gate controllers and the AWS-hosted .NET Core API.

When a member presented their QR at the gate, the scan event was relayed to the backend in real time. The API validated the QR signature, evaluated the member's current state — active membership, no suspensions, no outstanding payment holds — and returned an access decision. On a valid response, the gate opened and an attendance record was written to the member's account instantly, with timestamp, branch ID, and entry type. On a failed scan, the gate remained closed and a status message was surfaced on the gate display — expired membership, suspended account, or unrecognised credential — clearly enough for the member to understand the issue without requiring staff intervention.

The most operationally critical design decision was how the system would behave during a network interruption. A gate that fails closed during a brief AWS connectivity blip would create an unacceptable blockage at peak hours. We implemented a resilient local validation cache at each gate controller: members who had been successfully validated within a recent time window were eligible for short-window local admission during an outage, while members with new or flagged status required a live API response. The cache carried a deliberately short TTL — long enough to absorb brief disruptions, short enough to ensure that a genuine suspension could not be bypassed for more than a matter of minutes. All locally cached admissions were automatically reconciled back to the cloud record once connectivity was restored.

Hardware integration

Hardware Integration: Kiosk Payments & Dispensing

The health drink kiosk integration introduced a more complex challenge than the gate: a multi- step transaction that had to complete atomically across three systems — the member's wallet in the cloud, the kiosk dispense controller, and the audit log — with no possibility of partial success.

When a member scanned their QR at a kiosk, the .NET Core backend executed a tightly sequenced atomic transaction: validate the QR signature and member identity, confirm the wallet balance was sufficient for the selected product, deduct the amount from the wallet, and dispatch a confirmed dispense signal to the kiosk hardware. If any step in that chain failed — network timeout, insufficient balance, hardware non-response — the entire transaction was rolled back. No charge without a confirmed dispense. No dispense without a confirmed charge.

The system was fully idempotent: if a network retry caused the same request to arrive twice, the backend detected the duplicate and returned the original result without re-executing, eliminating any possibility of double-charging or double-dispensing. Every kiosk transaction was written to the member's account in real time and was immediately visible in both the app's transaction history and the back-office portal. Branch managers could report on kiosk revenue, product popularity, and per-member spend alongside attendance data in the same unified dashboard — a first for this client.

Architecture

Architecture: One Source of Truth Across Hardware and Software

The platform was architected around a single authoritative member state service hosted on AWS. Every peripheral system — the React management portal, the React Native app, the gate controllers, and the kiosks — communicated exclusively through the .NET Core API and read from and wrote to the same underlying data store. This single-source-of-truth design meant that state changes propagated everywhere without synchronisation complexity: a membership suspended in the portal was enforced at every gate across every branch within seconds; a wallet top-up on the app was available at the nearest kiosk before the member had crossed the room.

Core Architecture Components

01

Member State API (.NET Core on AWS)

The authoritative backend governing all member data, wallet operations, QR validation, access rule evaluation, offer logic, and transaction settlement. Every hardware device and application interface is a consumer of this single API.

02

Secure QR Token Service

Embedded within the backend, generating time-limited, cryptographically signed tokens for gate and kiosk use. Short expiry windows prevent replay attacks and credential sharing without impacting the member experience.

03

Hardware Communication Layer

A resilient integration service managing persistent, low-latency connections between the AWS backend and physical gate and kiosk devices at all branch locations, with local caching logic for graceful degradation during network disruptions.

04

React Native Mobile App

Cross-platform member application for QR generation, wallet management, membership visibility, offer engagement, and transaction history on iOS and Android.

05

React Management Portal

Web-based back-office platform for staff and management — CRM, membership administration, campaign management, and multi-branch reporting.

06

AWS Cloud Infrastructure

Scalable, highly available hosting with independent deployment pipelines per environment, ensuring software updates can be released without service interruption to live hardware at branch locations.

Outcomes & impact

Outcomes & Impact

The platform eliminated the manual check-in queue that had defined peak-hour operations at every branch. Members walk in, scan, and are through the gate in under two seconds, with attendance automatically logged against their account. In-club purchases shifted to a fully self- serve model at the kiosk, removing cash handling, card terminals, and staff involvement from routine transactions. Administrative time that had been consumed by check-ins, manual records, and reconciliation was redirected to member-facing service.

For management, the move from disconnected manual records to a unified real-time platform delivered a quality of visibility the business had never had: live attendance dashboards, wallet revenue trends, offer redemption rates, and side-by-side branch comparisons — all in a single view. The CRM gave the business its first reliable foundation for data-driven retention and targeted promotional activity.

Most significantly, the hardware-software integration delivered a capability that generic gym management platforms cannot replicate: a system where a decision made in the software has an immediate, physical consequence in the real world. Suspend a membership — the gate knows in seconds. Issue a discount — the app surfaces it before the member's next visit. Top up a wallet — the kiosk reflects it immediately. That tight, real-time loop between digital management and physical operations is what makes this platform genuinely transformative for a business that lives in both worlds simultaneously.

Key Impact Metrics

  • Members through gate in under 2 seconds with automated attendance logging
  • Eliminated manual check-in queues at peak hours
  • Shifted in-club purchases to fully self-serve kiosk model
  • Real-time multi-branch dashboards for attendance, revenue, and offers
  • Data-driven CRM for retention and targeted promotions
  • Immediate physical enforcement of software decisions across all branches
Keep exploring

Other case
studies.

Ready when you are

Ready to Integrate Your Physical and Digital Operations?

Let's discuss how we can build comprehensive hardware-software solutions that transform your business.