Case file · № 03 / 16
Sandžak Outdoor
Ride & hike tracker — An outdoor activity platform for the Sandžak region — Strava for MTB, gravel, road and hiking. Record a ride over GPS, let the system match the segments you crossed and put you on the leaderboard, plan and follow routes, log community places, share to a feed. Three native apps — iOS, Android and HarmonyOS — on one self-hosted Go + PostGIS backend.
What was built
- GPS recording for MTB, gravel, road, e-bike and hiking
- Automatic segment matching with leaderboards (King / Queen of the Hill)
- Route planning with surface tags, refinement and voice guidance
- Community place catalogue: peaks, waterfalls, springs, vie ferrate
- Social feed: follow, kudos, comments, messages
- FIT import + Apple HealthKit and Android Health Connect
- PRO tier: route creation, navigation, voice, live activity, export
- Role ladder (user → editor → moderator → admin → superadmin) with separation of duties in review
Layers of the system
Backend — Go + PostGIS
Go 1.25PostgreSQLPostGISpgx- Go 1.25 on the standard library — net/http method+path routing, no framework
- PostgreSQL + PostGIS for all geometry, ~36 feature handlers in one domain
- Activities with 3D track geometry and sensor streams, PR tables per segment
- JWT HS256 + bcrypt, 30-day Bearer tokens, PRO feature flags on /api/me
Clients on three systems
SwiftUIKotlin / ComposeArkTSMapLibre- iOS (SwiftUI) and Android (Compose) with offline-friendly vector maps
- HarmonyOS client in ArkTS — a third ecosystem off the same API
- MapLibre as the shared map layer, localisation sr / en / bs
Technologies
Programming languagesGo, Swift, Kotlin, ArkTS, SQL, TypeScript
Frameworks & toolsPostGIS, MapLibre, SwiftUI, Jetpack Compose, JWT, Docker
InfrastructureDocker Compose, nginx, rsync deploy, VPS
Facts
PlatformsiOS · Android · HarmonyOS · Web
Statuslive
Years2026
CategoryLive · mtb.vaha.net
Segments and leaderboards — King and Queen of the Hill on every stretch.
All projects