Otorafit
Gamified fitness app - claim real-world territories, earn points, stay active.
Objective
The Goal
Build a cross-platform mobile app where users claim real-world GPS territories to earn points. Phase 1: auth, territory claiming, points engine, community feed.
Challenge
The Problem
Accurate GPS territory detection with Turf.js, battery-efficient background location tracking, preventing GPS spoofing, and rendering real-time map updates smoothly across iOS and Android.
Solution
How We Solved It
React Native + Expo for cross-platform, Google Maps for territory visualisation, Turf.js for point-in-polygon and area calculations, Node.js/MongoDB backend for points and community management.
What We Built
Key Features
Territory Claiming
Claim predefined or custom-drawn territories using GPS coordinates and earn points.
Real-Time GPS Tracking
Battery-optimised background tracking detects territory entry automatically.
Geospatial Engine
Turf.js powers point-in-polygon detection, area validation, and boundary logic.
Google Maps Integration
Live map showing territories, claimed areas, and user position.
Points System
Points awarded by territory size and difficulty, with achievement milestones.
Community Feed
Admin-managed posts keeping users engaged between sessions.
In Action
Screens

Interactive map showing territories and user location and territory points.

Community feed with admin posts.

User profile Creation steps.
Outcome
Results
Lessons Learned
Geolocation is harder than it looks - GPS drift, battery drain, and OS-level permission handling across iOS and Android required significant iteration. Turf.js saved us considerable time on spatial calculations.
Built With