Skip to content
← All work
Mobile app buildMartial arts academy2026

971 MMA

The mobile app that helped shape the studio's direction.

Client · Nine Seven One Rising Mixed Martial Arts Sport Academy Location · Dubai, UAE
971mma.ae
971 MMA
971 MMA on mobile

The problem

The academy ran on a booking platform, a front desk and an access gate that had no knowledge of each other. Membership status lived in one system, entry was granted by a person recognising a face, and progression and attendance existed on paper, so retention signals were invisible and the front desk absorbed work that should have been automatic.

The approach

We scoped the mobile app around authentication, membership information and class schedules, then added training and coach features. QR security and the existing Gantner hardware were designed as a separate integration track, rather than presented as a working gym-wide platform.

Try it

Open it here.

A companion website redesign was produced alongside the application. The embedded preview below is that website build.

971mma.ae
Mobile app build
Served from this site so unpublished work stays explorable. Open full size

What was built

  • React Native and Expo member application for iOS and Android.
  • Member and coach roles with screens for membership, schedules and instructor information.
  • Integration work with the academy's existing booking data.
  • A rotating QR member-pass design, with Gantner gate activation handled as a separate track.
  • Belt and rank progression with visual tracking, training and session history.
  • Rewards system with a points balance and real redeemable value.
  • Home dashboard with check-in streak, monthly session goal and digital member card.
  • Member and coach roles, with instructor-only filtering after an early build incorrectly surfaced all staff as coaches.

Services

Mobile applicationMember and coach experienceBooking-data integrationGate integration planningWebsite design & build

Stack

iOS and Android appMember and coach screensExisting booking dataCustom build

The delivered app

Real screens from the member app.

Not mockups, captures from the application the academy's coaches and members use. Swipe through.

Academy feed: “Your mats, your people.”
Academy feed: “Your mats, your people.”
Coach mode: “Run class in seconds”, live session with check-in counts.
Coach mode: “Run class in seconds”, live session with check-in counts.
Roll call, present, late, absent, then Scan QR to confirm.
Roll call, present, late, absent, then Scan QR to confirm.
Belt review, training days, check-ins, stripe requirements, award.
Belt review, training days, check-ins, stripe requirements, award.
“Review & promote”: members ranked by readiness for the next stripe.
“Review & promote”: members ranked by readiness for the next stripe.
Stripe requirements, the BJJ curriculum, encoded.
Stripe requirements, the BJJ curriculum, encoded.
Coach announcements, targeted push to a class list or all members.
Coach announcements, targeted push to a class list or all members.
Coach dashboard, today's classes, 47 check-ins, promotion queue.
Coach dashboard, today's classes, 47 check-ins, promotion queue.

Inside the build

Inside it.

Academy site with the member app presented as the product, not an afterthought.
Academy site with the member app presented as the product, not an afterthought.
Mobile, the screen a member actually opens.
Mobile, the screen a member actually opens.

The detail that mattered

Why the QR cannot be static

A static code can be screenshotted and shared. The app project therefore specified a short-lived signed QR pass and server-side membership check. Activation against the existing Gantner terminals is a separate delivery track, not a completed gym operating system.

Existing hardware shaped the plan

The academy already had Gantner access terminals. We designed the QR integration around that reality, with activation and verification scoped separately from the mobile app.

Start here

Tell us what is breaking.

Not a brief. Not a spec. One message describing the thing in your business that keeps costing you money.

Or email contact@victvest.com · Call +971 50 208 1492