As avid travelers we have spent countless hours before and during vacations to plan our trips while sightseeing. Eventually it comes down to a large excel sheet and a bunch of saved locations on Google Maps. There has to be a better way.
What it does
Our app, Hermsies, utilizes the Google Places API and a clustering algorithm in order to group chosen places based upon distances from each-other. When a user creates a trip and starts adding places, the app is constantly re-evaluating to create the best schedule with the time the user has. All the chosen locations can be found in an itinerary list or on a map in the app.
How I built it
We utilized Flutter, Googles Dart based cross-platform mobile development framework. One codebase compiles on both iOS and Android cutting the workload in half. Both of us use VSCode and the Flutter SDK.
Challenges I ran into
The largest challenge was developing the right clustering algorithm and deciding on the scope of its effectiveness for our MVP. In addition a lot of packages for Flutter are still in development so having to go through the source code in order figure out the full capabilities of the packages takes time.
Accomplishments that I'm proud of
We are proud of the app we have created and the current features we implemented.
What I learned
We learned a bit about clustering algorithms and as always, more about Flutter and Dart.
What's next for Hermsies
Hermsies has more planned features such as Trip sharing among friends, group editing, and a enhanced algorithm to utilize time restrictions when clustering places into days.