Skip to content

MakeReadyApp/MakeReady.Mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Make Ready — Mobile

About this project — I'm not a developer. I'm a competitive shooter who got frustrated with the state of match management tools and decided to build something. Most of this code was vibecoded with Claude and a lot of trial and error. It's running as a beta at makereadyapp.com, but it is not production-ready software — there are rough edges everywhere and plenty I don't know enough to do well.

I'm open-sourcing it so that actual developers, coders, and software engineers in the shooting community can take it somewhere better. Fork it, rewrite it, tear it apart — do whatever makes it useful. GPLv3; it belongs to the community now.

Open-source competitive shooting match platform. The mobile app is the match-day operations side: squad management, scoring, and walk-up registration. Built for tablets (primary target: Amazon Fire 10).

Companion web app (match discovery, registration, published results): MakeReady.Web.

Hosted beta + APK download: makereadyapp.com/download

Architecture

Two roles on the same APK. Every tablet starts as a Scoring Pad; the Master Pad role unlocks when a Match Director signs in.

  • Master Pad (Match Director) — downloads the match, manages squads, hosts the sync server on a local WiFi hotspot, uploads final results to the cloud.
  • Scoring Pad (Range Officer) — joins the master's hotspot, scores shooters on assigned stages, syncs scores back to master over HTTP.

Everything works offline. The master pad is the local source of truth for match-day data; scoring pads sync to it; master uploads to Supabase when the match ends.

Supported Sports

  • IDPA — time-plus scoring, 5x5 classifier with auto-classification
  • USPSA — hit factor scoring
  • Steel Challenge — best-N-of-strings scoring, peak-time classification
  • PCSL — in progress

Tech Stack

  • React Native 0.83 + Expo 55 (managed workflow)
  • TypeScript + NativeWind (Tailwind for RN)
  • expo-router for navigation
  • expo-sqlite for local match storage
  • react-native-http-bridge-refurbished for the pad-to-pad sync server
  • Supabase JS SDK for cloud download/upload

Quick Start

# 1. Clone and install
git clone git@github.com:MakeReadyApp/MakeReady.Mobile.git
cd MakeReady.Mobile
npm install

# 2. Configure environment (points at your Supabase project)
cp .env.local.example .env.local
# edit .env.local with your Supabase project URL + anon key

# 3. Run in Expo Go (dev)
npx expo start
# scan QR code with Expo Go on your tablet

Building a release APK

The HTTP sync bridge requires a dev-client or release build, not Expo Go. See android/ after running expo prebuild --clean.

Minimum tooling:

  • JDK 17
  • Android SDK with command-line tools
  • android.enableJetifier=true must be set in android/gradle.properties (the HTTP bridge library needs it)
npx expo prebuild --clean
# re-add android.enableJetifier=true to android/gradle.properties
cd android && ./gradlew assembleRelease
# APK: android/app/build/outputs/apk/release/app-release.apk

Contributing

Issues and PRs welcome. Please open an issue first for anything larger than a small fix so we can align on approach.

License

GPLv3. Contributions are accepted under the same license.

About

the Android app for Make ready

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages