Mobile and web application / Education

iOS and Android drill app with a web admin and licensing panelDiscovery, UX/UI, mobile, web and cloud development in a dedicated team since 2016

Mobile and web apps for learning marching-band drill on the field

Marching bands at schools and colleges learn drill from printed drill books and manual coordination: each performer has to find their position, path and step size for every page of a show. The Ultimate Drill Book (UDB) client had a conceptual framework for a digital replacement and needed an engineering partner to turn it into a working product.

An app in which students study their own part of each show while directors see the overall structure and check each performer's position. It had to work online and offline, be readable outdoors, and be backed by role-based administration and licensing.

A phone running the UDB app with colored performer markers, page, counts and step size, in front of a desktop monitor showing a drill chart on a football-field grid and a tablet showing marchers on a field.
The UDB phone app showing performer positions and step size, next to a desktop drill chart and a tablet field view.
Product
iOS and Android drill app with a web admin and licensing panel
Buyer
Education and performance-software companies that need field-usable mobile apps with role-based web administration
Engagement
Discovery, UX/UI, mobile, web and cloud development in a dedicated team since 2016
Indeema scope
Discovery and specification, UX/UI design, iOS and Android apps, Web admin and licensing, Cloud back end and DevOps, Continued development

The product need

What had to become possible

An app in which students study their own part of each show while directors see the overall structure and check each performer's position. It had to work online and offline, be readable outdoors, and be backed by role-based administration and licensing.

Ownership, made clear

Where the work started and what Indeema owned

Starting system

Product concept

The client provided a conceptual framework of the desired functions and objectives, deep domain knowledge and an initial design for the first iteration.

Earlier admin portal

An older licensing/admin portal existed and was later replaced by a new one.

Indeema owned

Discovery and specification

Analyze requirements, review rehearsal and performance videos supplied by the client, prototype, and write a specification with documented risks and a test plan.

UX/UI design

Take over UX/UI leadership after the first iteration and iterate designs with the client until approval.

iOS and Android apps

Build native mobile apps for drill study and rehearsal, then migrate them to SwiftUI and to Kotlin with Jetpack Compose over time.

Web admin and licensing

Build a new admin portal for managing end-user licenses, replacing the previous one.

Cloud back end and DevOps

Design and run the AWS back end that serves the apps and admin panel, sized for growth and seasonal peaks.

Continued development

Keep adding features over a long-running dedicated-team engagement.

Worked with

AWS

EC2, load balancing and S3 host the Node.js back end used by both the admin panel and the mobile apps over HTTPS.

Real-time channel

Socket.IO/WebSockets support real-time updates between clients and the back end.

Product constraints

What made the engineering difficult

  1. 01

    Usable while marching

    Performers use the app on the field while carrying instruments and equipment, often in bright sunlight, so the interface must stay readable and operable in those conditions.

  2. 02

    Online and offline operation

    Students and directors need their drill even without connectivity, so the apps had to work in both online and offline modes.

  3. 03

    Accurate movement guidance

    Positions, paths and step sizes must be computed precisely from drill data, including vectors, yard-line crossings and midway points.

  4. 04

    Seasonal peaks

    Usage concentrates in rehearsal seasons, when a large share of users can be active at the same time, so the back end had to absorb peaks without degrading.

  5. 05

    Many roles, one product

    Super admins, school admins, directors and students each need different access to administration, finances, personnel and drill content.

Engineering judgement

Decisions that shaped the product

Test prototypes outdoors

The discovery team tested prototypes outdoors in sunlight to confirm that screens remain comfortable and legible where the app is really used.

Compute movement in the app

Algorithms calculate vectors, yard-line crossings, midway points and step sizes so performers get exact guidance for each count.

Pair animation with audio

Drill animation is synchronized with customizable audio, such as tempo control, for rehearsal.

Role-based access across web and mobile

One access model drives the admin panel and the apps, from full super-admin access to student-only views.

Modernize the native stacks

The iOS app moved to SwiftUI, enabling iOS 17 Live Activities with interactive buttons, and the Android app moved from Java to Kotlin 2.0 and Jetpack Compose.

Scale the back end for peaks

Server optimization, load balancing and AWS cloud services were used to handle high-load periods.

Delivered product capability

What the product can do

  1. 01

    Drill study for performers

    Students see their position, counts, step size and path for each page of the drill.

  2. 02

    Director overview

    Directors view the overall drill structure and check each performer's position.

  3. 03

    Rehearsal mode

    Synchronized drill animation with adjustable tempo and audio options.

  4. 04

    Role-specific accounts

    Settings and permissions for super admins, school admins, directors and students.

  5. 05

    Licensing and administration

    A web admin panel for managing end-user licenses, registration and login.

  6. 06

    Online and offline use

    Apps that keep working without a connection.

  7. 07

    Scalable AWS back end

    Cloud infrastructure with load balancing, sized for user growth.

Product change

What changed for the product team

Marching-band programs gained a digital drill book: performers study and rehearse their individual drill on iOS and Android, and directors and administrators manage people, licenses and the overall show from a web panel. The product has kept evolving through later platform migrations and feature releases, and the client went on to plan related digital products.

For a team building a mobile product that is used outdoors, in motion and across distinct roles, the case shows field-condition UX testing, precise movement computation, offline support, role-based administration and a back end sized for seasonal peaks.

  • Delivered native iOS and Android drill apps with a web admin and licensing panel on an AWS back end.
  • Delivered movement calculations, rehearsal animation with audio, role-based accounts and offline operation.

Product evidence

A closer look at the product

Phone screen of the UDB app showing performer markers on a field grid with page 43, counts and step information at the top, and a Rehearsal Mode panel with a 132 BPM tempo control.
UDB rehearsal mode on a phone: performer positions on the field grid, page and count information, and tempo controls.
Diagram linking super admin, school admin, director and student roles through role-based access to an AWS cloud, which connects over HTTPS to an admin panel on a laptop and the UDB app on a phone.
Role-based access for super admins, school admins, directors and students, with the admin panel and the UDB app both connected to AWS over HTTPS.

Technology, in context

Swift · SwiftUI · Kotlin · Jetpack Compose · Retrofit · Dagger2 · Room · Angular · Node.js · Hapi.js · Socket.IO · MongoDB · Redis · AWS EC2 · AWS load balancing · Amazon S3 · Grafana · Firebase Crashlytics

A comparable product problem?

Ultimate Drill Book (UDB) app

Bring the product context, the system that already exists and the engineering decision you need to make.

Discuss a comparable challenge