Travel planning app
Joornie is a travel app that I wish I had while on road trips through the US and Eastern Europe.
The main issue I faced is when looking at new places is that blogs and travel books just want to dump all information available. That's what best for their SEO and to be able to claim to be the most complete. Instead, I want to provide a curated resource that offers people advice rather then just all the available options.
For instance, it's not recommended to use Airbnb in Bosnia. Rather, Booking.com homes is much more popular and affordable. Or, did you know that instead of taking a Bosphorus cruise in Istanbul you can a better experience using the public transport ferry at about one-tenth the cost. These are my specific recommendations to what you should do.
Worked on it during the early stages of lockdowns but then other things got in the way and it's KIV at the moment.
I copied the general structure from Wikitravel and used their terminology.
For the background images, I made a script that uses the Unsplash API. It searches for the country and downloads the first image. They’re then standardized to the same dimensions and saved locally.
New trip screen also functions as a sign up form. The user only needs to enter their email and will get a log in link. They can optionally set a password.
The city they live in and the passport they carry is saved as well.
The Get in tab for the first stop shows options from the home city to the first stop in the trip.
Some heuristics are applied to eliminate options that are not feasible, such as using a bus for a 2000km journey.
The flight search generates a Skyscanner URL. This is possible because I import list of airports and tied them to Agoda cities. As a result, I know that, for example, Kuala Lumpur has the
The Get around tab shows options for getting around the area.
In each of the tabs, the user can click the check button to mark that they’re going to do that. They can also add a booking manually which will then show up on the stop page as well as the itinerary.
The next phase of dev was going to use the Amadeus trip parser service. The user would forward confirmation emails to an email address such as
firstname.lastname@example.org. Received emails would then be parsed and automatically placed in the itinerary.
The Stay tab shows accommodation options.
Because I used the Agoda data to import cities, I used the hotel data so that the user could search for hotels immediately without leaving the site.
The Do tab shows points of interest and activities.
The Other tab shows miscellaneous other services the user might need.
The user can reorder the stops using drag and drop and the dates are automatically updated.
The Get in tab for subsequent stops shows options for travelling from the previous stop.
If the user has added any bookings, they will appear here. They can then print / screenshot this page for easy reference.
Cities were imported from Agoda list of hotels. They’re then grouped into countries and then into continents. This facilitates managing services allowing the admin to assign a service available to a city, country or entire continent.
The Agoda list also had coordinates for cities which means that I can use
ST_Distance_Sphere to calculate rough distance between cities and use that as a guide for whether to recommend certain modes of transport.
I also found a list of countries and their capitals and create a script to populate that data. As a result, the user can search for a country and that
Finally, I also found a visa matrix which allows me to show visa requirements.
Cities also have a priority and a recommended number of days.
The categories, ie. the tabs are entirely customizable.
Furthermore, all the entries in each of the tabs can be managed independently. This means that tabs can be customized per city. So, for instance, in one city the recommended accommodation can be Airbnb whereas in another it could be a hotel.
Similarly, it also means that regional services can be recommended. For instance, in the US Uber might appear in the Get around tab, whereas in Southeast Asia Grab would appear.
Particularly important is the fact that I was planning on populating points of interest and marking specific ones as recommended. Then number of recommended points of interest, combined with city priority and distance, would allow me to generate good recommendations for additional stops when the users’ trips still has days left.
The plan for future was to hire staff to research the Do tab specifically for most popular cities in the region and to populate them.
Then, I was going to go through them and grade each of the activities in order to recommend the really important ones.
Finally, I was going to create template itineraries which users could copy and customize.
Next, I was going to transition from using affiliate links for monetization to using Amadeus for making direct bookings.