I have been developing a fitness activity tracking app for the last year.
Here is a video of it in action: https://www.instagram.com/reel/C3lW9SvvYcF/?utm_source=ig_web_copy_link
Still have a long way to go before it is ready to be released. If you are interested in testing it out, please sign up at: runtheworld.jarxconcepts.com.
The tech stack has changed numerous times, but I finally landed at: db: PostgreSQL, server: Go (using Nats.io to distribute the work), communication: GraphQL, client: react-native, react-native-web, cesium.js (accessed by a react-native-webview for native iOS and Android).
I initially wanted to use Unity or Unreal for the iOS and Android clients, but I ran into problems of robustness when users added numerous activities from around the world into the same view. Cesium.js just worked so much better; so while using the integrated webview doesn’t feel great—I think it is my best option. I also love that I have a unified client baseline for native mobile and web.
Request: I would love full vector rendering support in Cesium.js. It would be awesome to have a rendering mode that could be a little more cartoonish, while being sharper than just rendering map imagery. Similar to what mapbox is doing: https://www.mapbox.com/blog/standard-core-style. I am considering taking a crack at implementing this myself, as I believe it would an awesome way to visualize outdoor activities.
Regards,
Andrew