Archery Garage Mobile App
Cross-platform event management application with location tracking and cloud backend.

A cross-platform mobile app for managing archery events, with live location tracking and a cloud-hosted backend, shipped to both the App Store and Play Store.
Problem #
Archery Garage needed a mobile experience for managing events and letting participants find or track locations in real time, without maintaining two separate native codebases for iOS and Android.
Solution #
The app was built with React Native and Expo for a single cross-platform codebase, backed by a Node.js API deployed on Azure. Live location tracking was implemented using Mapbox, and the full mobile lifecycle — development, testing, and store submission — was managed for both the App Store and Play Store.
function useLiveLocation(eventId: string) {
const [position, setPosition] = useState<Coordinates | null>(null);
useEffect(() => {
const subscription = Location.watchPositionAsync(
{ accuracy: Location.Accuracy.High, timeInterval: 5000 },
(loc) => {
setPosition(loc.coords);
api.updateEventLocation(eventId, loc.coords);
}
);
return () => subscription.remove();
}, [eventId]);
return position;
}Architecture #
The Expo-based React Native client talks to a Node.js backend hosted on Azure, which persists event and location data and exposes it back to participants in real time via Mapbox-rendered maps.
Stack #
| Layer | Choice | Why |
|---|---|---|
| Mobile | React Native + Expo | Single codebase for iOS and Android, faster iteration and store deployment |
| Maps | Mapbox | Live location tracking and rendering |
| Backend | Node.js | API layer for event and location data |
| Hosting | Azure | Cloud deployment for backend services |
Problems solved #
- Built a cross-platform mobile application for event management
- Implemented live location tracking using Mapbox
- Developed backend services and cloud deployment architecture
- Managed complete mobile app lifecycle from development to store deployment
Lessons learned #
Getting a cross-platform app built is only half the job — App Store and Play Store review requirements, provisioning, and release management took real planning and were treated as first-class parts of the project, not an afterthought.
Links #
- App Store: Archery Garage
- Play Store: Archery Garage
Related content
Pasal Business Management Platform
Internal business applications developed for inventory management, appointment systems, and daily operational workflows.
Building a Fast, Cached Nearby-Places Search in Node.js (No PostGIS Required)
How I built location search, map-pin clustering, and viewport caching for a mobile app on plain MySQL — bounding-box pre-filtering, Haversine distance in SQL, and Redis-cached viewport queries instead of a dedicated geospatial database.
Nearby-Places Query: Bounding Box + Haversine in MySQL
A reusable pattern for 'what's near me' search on plain MySQL — a fast bounding-box pre-filter followed by an exact Haversine distance calculation, sorted and paginated in SQL.