Engineering capstone


For an undergraduate engineering student in Canada, a capstone project demonstrates the use of the skills accumulated over the past 4-5 years to define a problem and design an innovative solution. My team and I created Pistachio to help facilitate the planning process for groups of people going on a trip.

This project placed third at the Ontario Engineering Competition for the Innovative Design category.


People travel either alone or in groups, and everyone has their own opinion. However, there are currently no platforms that allow groups of people to collaboratively plan for trips together—not in the sense of just communication, but in the sense of a fair and democratic decision-making system.

Pistachio is a platform that encourages and enables group decision-making to happen through the use of a voting mechanism that requires input from each team member. When a city is chosen for travel, each traveller chooses his/her top attractions, which are put into a group attraction pool. Each traveller then votes anonymously on the collection of attractions. These preference votes and distances between attractions are optimized according to a genetic algorithm, outputting a potential itinerary that does its best to satisfy everyone’s needs and the trip parameters.


I was the UX designer and main front-end developer for the project. This project was my capstone project (along with 3 teammates), and was done over the course of 8 months. We determined a problem statement, ideated, iterated, and prototyped our solution at the end. I worked on delivering:

  • Research, analysis, and literature reviews
  • User flow maps
  • User journey and persona creation
  • Visual graphics and diagrams
  • Interface design
  • User feedback surveys, testing, and interviews
  • Instructional and educational videos

Pistachio did not initially start out as a group trip-planning solution. We decided to target the travel space simply because we felt that it was hard to consolidate multiple platforms together when planning (individually). However, after continuously reviewing and narrowing down our scope, and with the suggestion of our supervisor, we pivoted to look at pain points for group travellers. Our pre-research interviews had many respondents highlighting the importance of good company and group satisfaction during the trip. Thus, we felt that focusing on a collaborative group experience was a reasonable shift for our project.



1. Non-collaborative planning
According to our preliminary survey on travel planning habits, 12% of participants did the brunt of the work, 41% help research but don’t contribute to planning, 32% only suggest one or two top ideas, and 15% don’t care what happens.

2. So many platforms, so many things to handle
The original concept of Pistachio was to combine multiple platforms (i.e. reviews, maps, messaging) into one wondrous being that would magically simplify trip planning. While this was no longer the main focus, part of the concern still remained: having a group of people cross-reference so many sites and resources in parallel could be a pain-point for group discussion, slowing down everyone and causing frustration.

3. Is everyone satisfied?
Since it was highlighted in the interview and survey responses, the ability for the respondent to travel with their crew and have everyone sufficiently satisfied was pivotal in a “successful” trip. If someone was unhappy with the offerings and made it obvious, it would put a damper on the whole excursion. While we cannot account for what happens during the actual trip, we can at least try to inject fairness in the planning process. Everyone has so many different needs and wants, and current solutions don’t necessarily mitigate the idea of decision making to come to a consensus.

Pain Points

  • People do not necessarily voice their opinion when planning for a trip, potentially creating imbalances in the itinerary.
  • It is tiring to jump through multiple platforms when planning for a trip but it is compounded when many people have to do it in parallel.
  • It is hard to reach a consensus that appeals to everyone’s needs and preferences and this can ruin planning for a trip.

Problem Statement & Goal

Problem: The success of a trip is dependent on overall group satisfaction and fairness of the trip activities, which are not always met due to issues in the planning process.

How might we create a platform that encourages fair and collaborative planning for groups of travellers?

Goal: Make trip planning easy, engaging, and fair for groups of travellers.


Primary & secondary

The travel industry is incredibly lucrative, valued at over 7.6 trillion USD globally in 2016. Many poorer countries rely on tourism to boost their economy, resulting in a higher quality of living and overall wealth of the country. From a personal level, leisure travel is oftentimes a privilege and it is important to make the most out of the budget and planning process.

How do people travel?
We received over 50 responses on anonymous surveys and in-person interviews. 91% of people travelled in groups (i.e. friends, family). A separate question revealed that 88% of people left planning to a more dominant figure when travelling in groups. Despite that, 48% of all participants felt that the company and coordination of preferences can heavily affect the enjoyability of the trip.

Sometimes, life just gets in the way
When asked, respondents cited that they often left planning to someone else because of factors such as lack of time, distance and schedule matters, and simply to avoid group politics. Contributing to the planning process not only meant having to scrape though multiple resources, but also having to negotiate and provide ideas which could be shot down by others.

Academic Research

Since this was a capstone project, it required us to conduct some literature reviews. My teammates were more focused on technical aspects of our project (mathematical and optimization models, and software implementation tactics) while I read up on concepts such as fairness and group decision-making psychology.

Competitive Analysis

The two major competitors that we researched were Google Trips and Inspirock.

These are two great travel tools, but they did not focus on group travel and group travel planning. We saw the opportunity space to create a solution that could also generate an itinerary, but by actively engaging all members of a group to input their own opinions and preferences.



As per our research, we decided on a two-stage solution to maximize decision-making impact and efficiency.

  1. Allow users to understand their own version of the information presented (formation of individual thoughts during information absorption phase).
  2. Allow users to transparently communicate with each other (remove potential hidden profiles during application of knowledge).

Conceptual Design

This is for stage 2, when all chosen activities are gathered into a total pool and each user is allowed to give their opinions on what everyone has selected.

Initial Concepts

1. One-to-one Comparison

Directly compare two options at a time. Repeat until all pairs have been iterated through.

Limitation: Cumbersome and repetitive.

2. Personality Quiz

Implicitly match personalities to activities via the use of an algorithm or marking scheme.

Limitation: Little correlation between personality types and preferences.

3. Ranking system (top 5)

Users rank top 5 choices and weights would be assigned according to the order of selection.

Limitation: Heavy mental cognition for the user.

Scored Concepts

Allocate a set number of units to each traveller, which would be used to bid on selected activities.

Limitation: Rigidity in bandwidth, potential "gaming" of system.

All activities would have to be ranked on a scale to signify preference for each activity. Preference scores would be generated.

Limitation: Cumbersome and leads to heavy mental cognition for the user.

Preference buckets, labelled for each user to drag attractions into. Default is not interested.

Limitation: Could be tedious depending on the number of attractions in the group pool.


In order to help us decide which concept to go with, we ran paper simulations and developed a rubric, with criteria such as efficiency, intuitiveness, and ease of implementation. Overall, the preference bucket concept scored the highest, so we developed it further.

Concept Development & Visual Explorations


This is the walkthrough of the prototype we showed for our first symposium and at the Ontario Engineering Competition. Our assets were created in Sketch and weaved together in Marvel.

Unfortunately, due to technical limitations, we were unable to implement the preference bucket feature in time. Instead of dragging attractions to buckets, users could specify their preferences directly per each attraction.

We also created an educational video with more technical (engineering) details.

User Testing, Feedback, and Solution Validation

A question that was continuously asked during our development process was whether or not we had sufficiently validated our problem statement and resulting solution. Our solution was supposed to not only be intuitive from a UI/UX standpoint, but also to provide a good solution based on our mathematical model. We structured a comparative usability test where we observed users planning a trip to London using both a simulation of Pistachio and a direct competitor. We then interviewed the participants and asked them to fill out an exit survey.


When comparing Pistachio to its direct competitor:

There was also a large time discrepancy. Planning with Pistachio took between 2-4 minutes, while it took roughly 7 minutes to plan with the competitor.

We received a lot of great feedback for features to consider such as:

  • Ordering attractions by popularity in both phase 1 and 2, or having an easier search/categorization mechanism
  • The ability to see descriptions when voting for attractions
  • Including ratings, price, time spent, budget options, etc…
  • Considering weather or climate-conscious alternatives in case of rain or snow
  • The option to generate more than one schedule, or the ability to split a group in case a consensus cannot be reached

Visual Branding

Focusing on the visual appeal of Pistachio was something the team took relatively seriously. We wanted to have a cohesive “brand” because we felt that even though the backend solution was working, we would not have users without pleasing visuals.

I drew the pistachio nut and a custom geometric sans-serif font for the project logo.

The overall look and features of Pistachio were determined as a team effort. The four of us spent a day at the library hashing out important features and discussing potential ways of implementation. We had a mini sprint and sketch session, where we each contributed and spliced concepts to determine a general skeleton of the project.



© Tara Tsang 2018