Case Study: Planit

Revolutionizing Travel Planning

Introduction

Planit is a revolutionary web application designed to streamline and enhance the travel planning experience for users worldwide. As the engineering lead and visionary behind Planit, I spearheaded the development process, transforming the initial idea into a fully functional platform that empowers travelers to plan their trips to Los Angeles efficiently and effortlessly.

Role

Project and Engineering Lead

Tools

React, MongoDB, SeatGeek API, Figma, Trello

Duration

September 2022 - December 2022

Team

3 Project Leads (Engineering, Design, Product), 8 developers, 4 designers

Problem Statement
Traditional travel planning processes are often cumbersome, time-consuming, and fragmented. Users struggle to gather relevant information, organize it effectively, and collaborate with fellow travelers seamlessly. Existing platforms lack integration, personalization, and user-friendly interfaces, hindering the overall planning experience.
Solution
PlanIt was created as a solution to streamline and simplify that process for travelers. By merging a database of events, maps, and a calendar into one unified website, users are able to easily plan an itinerary and skip to the fun part of traveling!

Solutions Breakdown

Planit addresses these pain points by offering a comprehensive suite of features, including:

Initial Preferences
The initial landing screen prompts users to input their trip duration, current location, and interests to generate a personalized list of recommended events.
Database
Our feature integrates the SeatGeek API to dynamically display live events in Los Angeles on a map. Users can filter events based on their preferences, allowing for personalized event exploration.
Selected Event Pop-Up
A widget that appears when users select an event from the database or create their own event to add to their calendar. This feature allows users to set the start and end times for the event, with built-in error checks to ensure that the start time comes before the end time.
Calendar
The calendar interface allows users to drag and drop events for convenient scheduling. Additionally, users can export events to their Google Calendar for seamless integration and accessibility across platforms.

Design Process

As the visionary behind Planit, I led the design process from inception to launch, overseeing the overall direction and delegating tasks to the design director, who collaborated closely with the designers.
Branding and Feature Inspiration
Initially, the team conducted research by analyzing various calendar and travel apps, examining color schemes, user flows, and other design elements. Following this exploration, they decided to pursue a minimalistic and colorful approach to maintain a friendly and clean aesthetic for the Planit platform.
Competitor Analysis
To gain inspiration for the application, the designers first decided to look to a variety of different websites and programs that focused on planning events or scheduling vacations, taking note of their advantages and disadvantages, and their unique attributes. The main features they focused on included a calendar, map, database, and initial preference screens, as these were the ones that would be focused on by developers. 
User Flows
I delegated the task of creating user flows to our team of designers, instructing them to map out the potential paths users would take while navigating through the product. This assignment determined what information needed to be presented to users at various stages. Through this process, we identified problem points that hadn't been previously considered, such as how to handle scheduling events with time conflicts.

Prototyping

The designers then translated conceptual ideas into tangible wireframes, mockups, and interactive prototypes, prioritizing low-fidelity designs to establish clear information hierarchy and refine interactions. Throughout this process, I worked alongside developers to ensure the feasibility of each feature. Additionally, we conducted iterative feedback sessions to align the design with user needs and usability standards. We underwent two rounds of refinement, focusing on maximizing both aesthetic appeal and functionality, while maintaining a user-centered approach.

Development

Leveraging modern web technologies and frameworks, I led a team of developers in building the backend infrastructure with the SeatGeek API, frontend interfaces with React, and database architecture with MongoDB of Planit. Continuous integration, automated testing, and code reviews maintained code quality and stability throughout the development lifecycle.
Feature Specification
To ensure clear ownership and efficient task management within my team of 5 developers, I assigned each member a specific category of features to focus on: Maps, Initial Preferences, Selected Event Pop Up, Calendar and Database. This approach aimed to enhance accountability and streamline our workflow. 
Actionable Tickets
Additionally, I translated the required backend features into actionable tickets, facilitating clarity and direction for each developer. Leveraging Trello as our project management tool, we organized tasks into boards and categorized them into lists representing different stages of progress, such as "To Do," "In Progress," and "Done." By working in 1-week sprints, we maintained a steady pace of development, enabling rapid iteration and adaptation to feedback. Overall, this structured approach facilitated collaboration and productivity within the team.
Pull Requests
As the team lead, my role in reviewing pull requests was crucial for ensuring code quality and facilitating collaboration within the development team. Upon receiving a pull request from a team member, I  examined the proposed changes, evaluating their adherence to coding standards, project requirements, and overall impact on the codebase.

Final Result and Takeaways

  • Effective collaboration between designers and developers is essential for creating successful digital products.
  • Prioritizing features based on feasibility and impact ensures efficient resource allocation and keeps the project on track.
  • Clear communication and mutual understanding of goals and constraints are crucial for achieving desired outcomes, especially when working within tight timelines.
  • Embracing an iterative approach allows for continuous refinement and improvement of the product, with regular feedback loops helping to identify areas for enhancement and ensure that the final result meets user needs and expectations.

Want to bring your ideas to life?

If you like what you see and want to work together, get in touch!