Hello and welcome to the forums.
I think both approaches are fine here: custom php app or using pw-templates. I would probably use PW templates here myself. If you have very data heavy application (you need to load hundreds or thousands of rows in memory, calculate/manipulate them all etc) then using "pure" mysql would be probably better option then. Not sure how much you have to scale here (like how many records you will have on your date ranges etc).
But if you decide to use PW-templates, here how it goes:
You would have template called something like "travel". There you have fields like datetime, distance, type of travel (walk, bicycle, run). Type of travel needs to be Page field, so somewhere you keep those values as pages (walk, bicycle, run).
Then you need to create page, which requires login, and has one form (log travels). This is where you build custom form where users can log their travels. Each time they fill the form you create new page using travel template. Creating pages from API is super easy and you can easily make form that creates multiple pages with one submit (or ajax form or whatever you need).
Then the most interesting thing would be to create admin view, where those logs can be searched and filtered. That would be perfect as ProcessModule. Process modules are admin pages, and they have nice and simple url routing. See my redirects module as an example: https://github.com/a...rocessRedirects
That would be it. It involves quite a bit custom coding (like with any system), but probably something that is pretty nice and easy to build with ProcessWire.