I have developed a solution that works with mobile browser for the tracker. https://www.routechoices.com
For now it is free.
For the organizer: You login, you create your event, add the map and calibrate it. add the competitors.
For the competitor: you open the tracker in a mobile browser https://www.routechoices.com/tracker/
select who you are, enter a code given by the organizer and start streaming your GPS data.
No need for app, work android and iphone.
The source code is on github https://github.com/rphlo/django-seuranta
I am planing to add couple of feature like gpx upload/download and maybe private event but things should work as it is now.