Building a Geo Tracker App in Titanium

I have big plans this summer. I hope to cycle 400km through Rwanda (Africa) and rais €10,000 in funds for Compassion, a children aid charity.
Obviously this means I’m on my bike a lot these days. I’ve been tracking all my rides using Ride with GPS from the start, but a few weeks ago I wondered how easy it would be to build such a GPS tracker myself in Titanium.
So, I present to you…

G.O. Tracker 4 Compassion

Pronounced “geo” Tracker, this initial version simply tracks your geolocation. You can view your previous routes on a map or browse through the individual data points. I plan to add more features in the next two months as I start to use the app for my own rides and hope to have it fairly complete by the time I go to Rwanda in June.

Get it on Google Play

Learn from the source

As an Appcelerator Developer Evangelist, I help developers to build Native Mobile Apps and APIs in JavaScript. One way I do this is by building and blogging about sample apps.
In this spirit, I open-sourced the app on GitHub and as I continue to develop the app I will publish blog posts to guide you through the code and share some best practices.

Contribute to the app…or to Compassion

I use GitHub Issues to track planned features, enhancements and bugs. Feel free to contribute ideas there, or help me resolve them and send a PR. I will list the names of all contributors on the app’s Settings screen.
Of course, you are also more than welcome to contribute to Compassion.
I’ll follow up with the first blog post on the app source code soon.
Code Strong, Code with Compassion!?

Follow-up posts:

Previous articleCustom Error Pages for Arrow Web
Next articleGartner EA Summit: Architects, time to shine
Developer Evangelist


  1. Hello Fokke,
    Does your app include algorithms to make the track more smooth (free of measurement error)?
    Last year I was making tracking app with Appcelerator and I encountered (especially on cloudy days) that position offered by device is always set with (smaller or bigger) error no matter what accuracy is set (of course with better accuracy error is smaller). It leaded to not nice tracks (going through buildings) or setting points behind (not in front of) previous one (especially when moving slow).
    I am very interested in your new project because such functionality is very useful especially in Uber/Taxi apps.

    • No, atm the app simply logs whatever it gets from the location-event. It does do some normalisation but I actually plan to remove this. I want to log the data as raw as I can get it and account for errors while doing the calculations and renderings. If you have ideas for that (e.g. SQL queries or logic to filter out defect points) I’d welcome a PR!


Please enter your comment!
Please enter your name here