Airplane seating is a traditionally mediocre experience. You have no control over who you sit next to--you're just as likely to get a loud chatterbox as a completely silent person, and their interests are probably very different from yours. Worse, you have to be next to this person for hours. Wouldn't it be better if you sat next to someone you knew you were compatible with?

What it does

AggieAirlines uses an algorithm to match fliers to plane seats, based on their interests, the experience they're looking for (quiet, social, business networking), and position preference (window, aisle, etc). Users with similar interests and similar desired experience will be seated next to each other so that they can have an enhanced customer experience. Airlines can also use this seating information to place flight attendants where they could most play towards their strengths, increasing the sense of friendliness and hospitality.

How we built it

The frontend was built in HTML, CSS, and Javascript. The frontend collected the user's preference data and sent it to the backend, a Python Flask server serving HTML templates. The Flask server is hosted on Heroku apps. The backend functioned by greedily matching users to the optimal seat based on their inputs and the inputs of other passengers on the flight.

Challenges we ran into

One challenge we ran into was managing web hosting. We wanted our own custom domain and modified the transfer DNS (basically saying "Our content is now at this location"), but the change didn't propagate across all DNS servers.

Another challenge we ran into was the design of the frontend. We didn't have much experience designing web pages, but thanks to the collaborative environment and helpful mentors, we were able to assemble a nice-looking frontend.

Accomplishments that we're proud of

We are proud of putting together a nice web that seats passengers in a way that they will most enjoy their flight. We faced many unfamiliar tasks and technologies and learned and utilized them into the web app. Furthermore, the passenger matching algorithm results in passengers who are considerably more likely to have their preferences met than with a random seat assignment.

What we learned

We now are very comfortable with the frontend web development process. We have learned how to host a web page through Heroku utilizing Flask. We have also learned how to have a Python script receive and send information to a web user.

What's next for AggieAirlines

The next step in is to integrate social media to best determine a users interest for seating arrangement. Also to make the seating algorithm more robust, the weights used in the passenger matching algorithm can be optimized through machine learning.

Share this project: