Embarking on a 100-Day Journey: Creating MyTravelPlanner—Your AI-Powered Travel Companion

Welcome to my blog—I'm thrilled you're here! After countless adventures across 45 countries, I'm embarking on an exciting new challenge that combines my love for travel with my passion for technology. Over the next 100 days, I'll be transforming an idea born from years on the road into reality. Introducing MyTravelPlanner—an AI-powered tool designed to take the stress out of planning and make exploring the world more accessible than ever.

TECH

Andrei

2/3/20254 min read

This is the sign you've been looking for neon signage
This is the sign you've been looking for neon signage

How the idea came to be

Last year, I explored the vastness of the South American continent. It was a personal journey that changed the way I think about life. I was deeply inspired by the many things and the fantastic people I met along the way. I've started taking notes about the plans I could work on once I'm back; many weren't related to the tech space; there were more on the creative side or hospitality. The current idea came when a combination of factors aligned: the experience I've got from long-term traveling, planning, and creating a personalized itinerary, my desire to put my technical skills into good, and the latest development on the AI front.

Introducing MyTravelPlanner powered by AI. It offers you a personalized experience when planning your next trip. Don't get tired of always having to check many websites when booking a flight, hotel, or restaurant, find things to do, search where tourist attractions are, get an idea about the prices, and so on. These are just some of the ideas I have to incorporate into MyTravelPlanner. The all-in-one solution that removes the stress of planning your next trip or vacation.

Given that I've traveled to 45 countries and tried many things regarding traveling and planning a trip, I'm exceptionally positioned to approve technical solutions that would be of great value to the user. This app would be something that I would use as well, so my experience and high standards regarding travel planning should be an excellent solution for everyone else.

App description and features

Our app is an all-in-one travel planner designed to simplify the trip planning process. It integrates various services to provide personalized recommendations based on your preferences and budget, making planning effortless and enjoyable.

Key Features:

  • Personalized Itinerary Generation:

    • Leverages AI to create custom travel itineraries tailored to your interests and budget.

  • Interactive Maps:

    • Displays suggested locations, accommodations, and activities on an interactive map for easy visualization.

  • Visual preview:

    • Displays images of your destination, giving you a visual preview of the places you’re about to visit using APIs like Unsplash

  • Accommodation Booking Integration:

    • Real-time search and booking of accommodations through integration with platforms like Booking.com.

  • Flight Search and Booking:

    • Find and book flights with ease using integrated flight search APIs.

  • Activities and Attractions:

    • Discover and book popular activities and attractions

  • Restaurant and Dining Recommendations:

    • Personalized dining suggestions based on price

  • User Profiles and Preferences:

    • Save preferences favorite locations, and manage itineraries within a personal user account.

  • Offline Access and Download:

    • Access your itineraries and maps even without an internet connection and convert them to PDF for download

Roadmap Overview

After brainstorming the feature ideas, I worked on a timeline until it was launched. As it’s my first time doing this, I don’t know if I will make it or if it’s too ambitious, but I think I’ll find it on the way. So, this is a rough idea of the project roadmap.

  • Phase 1 (Days 1–30): MVP Development

    • Focus on building the core features and functionalities of the app.

    • Deliver a usable product that can be tested and refined.

  • Phase 2 (Days 31–60): Feature Enhancements

    • Integrate additional features to enhance user experience.

    • Incorporate user feedback to improve existing functionalities.

  • Phase 3 (Days 61–80): Optimization and Testing

    • Optimize the app for performance and scalability.

    • Conduct thorough testing to ensure reliability and security.

  • Phase 4 (Days 81–100): Final Preparations and Launch

    • Prepare the app for deployment and execute marketing strategies.

    • Officially launch the app on Day 100.

Tech stack

I’ve selected the following tech stack to build a robust, scalable app:

  • Front-End: React.js with Next.js, TypeScript, Material-UI.

  • Back-End: Node.js with Express.js, GraphQL with Apollo Server, PostgreSQL, and OpenAI's ChatGPT API integration.

  • APIs and Integrations: Booking.com API, Skyscanner Flight Search API, TripAdvisor Content API, Yelp Fusion API, Unsplash API.

  • Authentication and Security: OAuth 2.0, JWT, bcrypt, Helmet.js, CSRF protection.

  • Hosting and Deployment: AWS (EC2, S3, Lambda), Docker, Kubernetes, GitHub Actions for CI/CD.

  • Development Tools: Git and GitHub, ESLint, Prettier, Jest, Cypress, Visual Studio Code.

  • Monitoring and Analytics: Google Analytics, Sentry, LogRocket.

Setting up the project

Establishing a solid foundation was crucial for efficient development. Here's how I set up the project:

Initialized the Next.js App

  • Next.js Setup:

    • Created the app using npx create-next-app for a robust React framework with server-side rendering.

    • Tailwind CSS:

      • Integrated Tailwind CSS for rapid UI development with utility-first styling.

Version Control with Git

  • Git Repository:

    • Initialized a local Git repository to track code changes.

Project Management

  • Kanban Board:

    • Set up a Trello board with columns: Backlog, In Progress, In Review, Done.

  • Workflow Guidelines:

    • Established coding standards and a Git branching strategy for consistency.

Development Environment

  • Front-End Setup:

    • Configured React, Next.js, TypeScript, and Tailwind CSS.

    • Implemented ESLint and Prettier for code quality and formatting.

  • Back-End Setup:

    • Initialized a Node.js project with Express.js using TypeScript.

  • Database Configuration:

    • Installed PostgreSQL and set up TypeORM for database interactions.

    • Created initial database schemas for users and itineraries.

Continuous Integration

  • GitHub Actions:

    • Set up CI pipelines to automate testing and builds on each commit.

  • Testing Frameworks:

    • Integrated Jest is used for unit testing, and Cypress is used for end-to-end testing.

Initial Code Structure

  • Front-End Architecture:

    • Organized code into components, pages, and styles directories.

  • Back-End Architecture:

    • Structured code into controllers, services, and models.

    • Prepared API endpoints for user authentication and itinerary generation.

Reflections

Starting this project has been both challenging and rewarding. Leveraging Next.js has accelerated development, integrating Tailwind CSS has made styling more efficient, and setting up version control has reinforced the importance of good development practices.

I'm excited about the next phase—bringing AI into the mix to make travel planning more innovative and more personalized than ever before.

Stay tuned for more updates as the app continues to evolve!