
Run A Way
Measure your route
Run A Way lets you manage your running routes. You draw your routes by clicking on the map. It then measures the distance and the calories burned on the route. I have used similar websites, but always thought their interaction with the map was lacking, so I created my own with a smoother user experience.
- Nextjs
- React
- JS
- TailwindCSS
- Material UI
- Leaflet.js
- OpenStreetMaps
- How it's built
- The app is written in Nextjs, TypeScript and TailwindCSS. It uses the Leaflet and React-Leaflet libraries to access OpenStreetMaps which is an free to use map api. I also used Material Tailwind to create the buttons.
- What was hard
- React-Leaflet and Leaflet is not very well documented, so it was a hurdle to just get it to work with Nextjs. It turned out that I needed to use a dynamic import of the map and had to render the map lazily, fundamentally due compatibility issues with Nextjs.
- What I learned
- The biggest take away from this project is integrating different js libraries together that dont by default work well together. I was for example requried to downgrade react types dependency to a previous version to be able to use material tailwinds react components. In these situtations it becomes clear that a good fundamental understanding of Node, React and how modules work together is super important.



