Existing App? or possibility of creation?

I have a buddy who does Ultra marathons.  He did great on his last 100-miler, but we know there is room for improvement.  

My thought is for an app that would let you either import a course (or give a distance), set waypoints (either directly on the course map or input distances), set stoppage time at each waypoint, set a goal time and stretch goal time.  Total entered stoppage time along with the goal times would allow for a needed pace. 

As the raise progresses, stoppage could be autodetected as planned or unplanned based on the preentered information. Future expected stoppage, current distance and current time would allow for needed pace to adjust throughout the race for both the goal time and stretch goal time.

Is this already a thing? if not, is it possible.

Thanks In Advance.

Guy