Inspiration

We were inspired by figuring out an innovative way to improve the itinerary for congested cities like San Francisco. An itinerary is essentially a planned journey. Now imagine you were traveling to a new city like SF for the first time. If you never visited SF, you might only know about a few places like the Golden Gate Bridge. It would be very overwhelming to search different places and keep track of where to go. Our app, the SelfTour, solves this problem by giving a user the ability to see what places they want to visit and a map view.

What it does

Input locations and map out the shortest route through those locations. We do this by utilizing the Google Maps API which can take in different locations a user wants to visit and it sorts the places by the shortest distances for the user.

How we built it

We built this primarily using TypeScript and Node.js as the main front end and back end and used Figma for prototyping. TypeScript helped us develop the front end with React and Node.js for the back end. React was useful for this project because of its features, one being components which helps save a lot of save. Node.js was also very useful for managing the packages. After that, we needed a "database" and we chose Firebase because it was easy to manage since it's NoSQL. Then to integrate AI, we utilized OpenAI and fed it the locations of the different places to help with giving quick summaries about different locations.

Challenges we ran into

We first thought about using JavaScript to build this. However, TypeScript was a much better option; one example of this is where type-checking helps with API calls. Another thing that we faced issues with was package management because sometimes we had issues where things wouldn't work because certain packages weren't installed by certain members. Also, OpenAI was challenging to get perfect because we had to make the prompts proper to get the proper response.

Accomplishments that we're proud of

We are proud that we built such a great website in such a short time. The different technologies we used helped us become more familiar with technologies like TypeScript.

What we learned

We learned that learning different technologies that we may have not been familiar with takes a lot of patience. Also, working with a team is very crucial for having a good hackathon team, and being a good communicator is something that only helps us in our future endeavors.

What's next for SelfTours

We may plan to make it so that different users can showcase their different routes. We want to add live tracking for the location you want to go to with audio.

Built With

Share this project:

Updates