Hello everyone! My name is Paulo, and I work as a data engineer. Recently, I’ve been studying multi-agent workflows (AI), and I decided to start a new personal project alled PathFinderAI ((GitHub Repo)[https://github.com/messerzen/PathFinderAI/tree/main]) to apply what I’ve been learning.
As a bike enthusiast, my first idea was to build a tool to suggest routes. The motivation came from a recurring situation: every Friday, my friends and I decide on the weekend ride — “Which route are we going to ride tomorrow?”
We usually prefer to ride early in the morning so we can attend to our commitments later in the day. Quite often, we have constraints like: “I need to be home by 10 AM” or “I had a tough week, so let’s do an easier ride tomorrow.”
Even though we have a fairly large “menu” of routes we already know, it’s not always easy to choose the best one considering constraints like time, fatigue, or whether we want a big climb or a flatter ride. Based on this, I decided to create this project.
The main idea is to submit a prompt like this:
"I would like to do an outdoor mountain bike ride tomorrow morning. I'm planning to start at around 7:00 AM, but I need to be home by 10 AM. I prefer flatter routes with less elevation gain. I want to cover a longer distance rather than focus on climbing."
The output looks like this:
```
============================================================
FINAL RECOMMENDATIONS
============================================================
Hello athlete! I’ve reviewed your recent activity and hand-picked these five routes to help you sharpen your skills, build your endurance, and keep that momentum rolling. You’re doing fantastic work—keep listening to your body and crushing those goals!
### [Morning Ride](https://www.strava.com/activities/15318450730)
* **Distance:** 49.44 km | **Elevation Gain:** 355.0 m
* **Estimated Calories:** 2,196.0 kcal
* **Suffer Score:** 240.0 — This represents a high-intensity session, perfect for pushing your physical boundaries today.
* **Heart Rate Insight:** Your average of 158.4 bpm shows you are working hard in a challenging aerobic zone; stay hydrated and focused.
* **Coach’s Note:** This is your big endurance test for the week; tackling this distance will do wonders for building your engine and stamina.
* **Best for:** long-distance aerobic endurance
---
### [Morning Ride](https://www.strava.com/activities/16665325980)
* **Distance:** 46.29 km | **Elevation Gain:** 781.0 m
* **Estimated Calories:** 2,125.0 kcal
* **Suffer Score:** 210.0 — A solid, demanding effort that will leave you feeling strong and accomplished.
* **Heart Rate Insight:** Averaging 148.5 bpm suggests you are managing your climbing efforts efficiently while maintaining a sustainable tempo.
* **Coach’s Note:** With the highest elevation gain on the list, this is exactly what you need to build that explosive climbing power and technical grit.
* **Best for:** climbing intensity and leg strength
---
### [Encano Alto](https://www.strava.com/activities/18065647551)
* **Distance:** 46.12 km | **Elevation Gain:** 568.0 m
* **Estimated Calories:** 1,718.0 kcal
* **Suffer Score:** 135.0 — A very manageable effort that allows you to get quality time in the saddle without over-reaching.
* **Heart Rate Insight:** With an average of 142.9 bpm, you’re in a great "sweet spot" zone for aerobic conditioning.
* **Coach’s Note:** This route offers a perfect balance of terrain, making it the ideal choice for a consistent, high-quality training day.
* **Best for:** balanced training consistency
---
### [Jordão ate a porteira](https://www.strava.com/activities/16320948312)
* **Distance:** 44.54 km | **Elevation Gain:** 494.0 m
* **Estimated Calories:** 1,871.0 kcal
* **Suffer Score:** 153.0 — A moderate-intensity ride that will challenge you just enough to keep things interesting.
* **Heart Rate Insight:** Averaging 140.2 bpm puts you in an excellent range for steady-state performance.
* **Coach’s Note:** With 18 PRs waiting to be challenged, this route is your best playground to chase personal records and test your speed.
* **Best for:** chasing personal records
---
### [Evening Ride](https://www.strava.com/activities/14053953813)
* **Distance:** 43.46 km | **Elevation Gain:** 339.0 m
* **Estimated Calories:** 1,654.0 kcal
* **Suffer Score:** 137.0 — A moderate level of exertion that serves as a great reset for the body.
* **Heart Rate Insight:** Your average of 145.3 bpm indicates a focused, rhythmic effort suitable for building speed on flatter terrain.
* **Coach’s Note:** This is your go-to route when you want to focus on high-cadence, steady-state speed without the grind of heavy climbs.
* **Best for:** fast-paced recovery and speed work
```
This is the very first version, so the project still has some limitations and bugs that I’m planning to fix in the future. At the moment, it only considers my personal rides, but in the future it could be interesting to include routes from other people as well.
Right now, the workflow uses the LLM `gemini/gemini-3.1-flash-lite-preview`.
It has a free tier, but it often gets busy. It can be replaced with another model (I still need to make this configurable instead of hardcoded).
As I mentioned, this project was created for learning purposes, so it includes two workflow options: one using [crewAI](https://crewai.com/) and another implemented in pure Python.
It’s meant to be an open-source project, so feel free to contribute, suggest improvements, or share feedback. I hope it can be useful to you at some point.
Thanks!
