Smell The Roses is a travel planning website designed to take the stress out of your journey, so you can focus on the adventure. With an easy-to-use interface, users can input a starting point and destination, select personalised filters, and generate the most scenic route tailored to their preferences.
But that's not all! The website also provides an AI-generated itinerary that offers personalised trip details and suggests nearby places of interest. Whether you're looking for hidden gems or iconic spots, you can customise your route by adding or removing places along the way to make your journey even more unforgettable.
Leveraging the power of MapBox API for interactive maps and OpenAI API for dynamic itinerary generation, Smell The Roses ensures that your travel experience is as unique and enjoyable as the destinations you’ll visit.
| Feature | Description |
|---|---|
| Interactive Map | Displays the user’s route along with places of interest |
| Custom Filters | Users can select filters to define the kind of scenic route they want (e.g. nature spots, coastal routes) |
| AI-Generated Itinerary | Uses OpenAI's API to create a custom itinerary based on the chosen route and filters |
| Dynamic Route Adjustments | Users can add or remove places of interest along their route |
| Export into KML | Allows users to export their route as a KML file to import it into Google Maps |
Smell the Roses was developed as part of UNIHACK 2025
This project was made possible by the contributions of the following team members:
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| Rachel Leung | Joshua Budiman | Alex Francis | Ethan Leffers |
To get started, clone this repository to your local machine:
git clone https://github.com/EthanL285/Smell-The-Roses.gitThis project consist of both a client and server. Install the necessary dependencies for each:
- Navigate to the
clientdirectory and install dependencies:
cd client
npm install- Naviagte to the
serverdirectory and install dependencies:
cd server
npm installYou will need to obtain API keys to interact with various services:
| Service | Description |
|---|---|
| MapBox API | Essential for the interactive map |
| OpenAI API | Optional, but enables AI-generated itineraries for trip planning |
| Firebase | Optional, but enables features like user authentication and data storage |
Once you have your API keys, proceed to the next step
Create two .env files for the client and server configurations:
- In the
client/srcdirectory, create a.envfile with the following content:
VITE_MAPBOX_API_KEY=your_mapbox_api_key- In the
server/srcdirectory, create a.envfile with the following content:
OPEN_AI_KEY=your_openai_api_key
MAPBOX_API_KEY=your_mapbox_api_keyNow that everything is set up, you can run the website!
Open two terminal windows (one for the client and one for the server) and run the following command in each:
npm run devThis will start both the frontend and backend. Open your browser and navigate to http://localhost:5173 to view the website.
Enjoy planning your next adventure! 😊






