Inspiration
Navigating the airport can be a draining experience with long delays, rescheduled flights, and overbooked seats dampening the excitement of returning home. SkyScout aims to empower travelers by allowing them to share valuable feedback about Airlines. Future travelers can access the most current reviews of any flight, allowing them to make informed decisions. Our program collects user reviews, analyzes the feedback, and rates the airlines, holding them accountable for their services.
What it does
SkyScout is an online platform that allows users to share feedback about airlines. The platform empowers travelers by giving them a way to voice their experiences with different airline companies, helping future users make more informed decisions. Users can submit reviews about their experiences with different companies, which are then analyzed using machine learning to determine the overall rating of the company. These ratings are then presented in the form of bar graphs, showcasing the difference between positive and negative feedback, making it easy for users to analyze each company. Additionally, users can register to receive real-time updates and posts about their flight by providing their flight number and phone number. They will get text messages with the most current posts.
How we built it
As a team, we worked together to build our hackathon project, "SkyScout.” Ayon took charge of the backend and used data science to create informative graphs and statistics that helped enhance the user experience. He utilized FastAPI and Python to build a robust and efficient backend that could handle a large amount of data and requests. To successfully deploy the backend onto Render.com, Ayon had to fix dependencies and ensure that the application was compatible with the platform. Hua also played a crucial role in the development of the backend by creating routes that dealt with the database. Her expertise in managing and storing data allowed for the efficient tracking of flights and reviews, which was vital for the success of the project. Her work on the database and related routes laid the foundation for the smooth functioning of the entire system. Gerardo's work to analyze the reviews using sentiment analysis with Coherence made it much easier for users to get the big picture and overall trends about the flights. This helped users to make more informed decisions about their travel plans. Joss was the mastermind behind the design, creating UI/UX Design using Figma, and then using React to bring it all to life. Erick helped with frontend and also used Twilio to send messages, thus making it more interactive. Through collaboration and utilizing each other's strengths, we ensured that our hackathon project didn't hit any turbulence and had a smooth flight to success!
Challenges we ran into
One of the challenges faced during the development of Sky-Scout was building a backend that could be deployed on Render. Finding a free service for deployment proved difficult, as many services had limitations on the number of calls that can be done before a pay wall or limited amount of time to learn how to properly implement them into Render.
Integrating Twilio into Sky-Scout proved to be a challenge, particularly when trying to add new numbers to send real-time flight status updates to. Automating messages to new users was a priority, but the process of manually adding numbers to Twilio was tedious and time-consuming.
Gerardo faced a significant challenge during the hackathon when it came to generating graphs in the backend and then sending them to the frontend. This process was taking a long time and was causing delays in the user experience. One of the reasons for this was that the file format used for the graphs (png) wasn't as compressed as other formats, which meant that the files were larger and took longer to load.
To solve this issue, Gerardo implemented a loading wheel on the frontend to let the users know that the site wasn't broken and that they should wait for the graph to load. This provided a better user experience as it helped to eliminate confusion and frustration.
Because Heroku has recently removed their free tier, we were forced to use another cloud hosting service called Render. Our options were reduced because the backend was written in Python. Render was a very unstable cloud hosting platform which took up many hours of our time to deal with. Even when we would have the backend running on our local computers, it would still take a long time to get it to work on the cloud. To add insult to injury, Render’s free tier was very slow to build and deploy so it would take about ten minutes between committing and having the backend updated.
The team decided to take a different approach in developing the backend, leading to exploring various python modules. This resulted in many prolonged periods of debugging and understanding the python approach to backend and database development. Additionally, due to the different versions of python and the diversity of machines on the team, all team members encountered issues with the installation and compatibility of modules. Despite spending a significant amount of time debugging and troubleshooting, we were met with multiple bugs and errors that hindered our progress. An example of this was when we were trying to create a post route to add new flights to the database, but were met with errors related to the compatibility of different versions of Python, the modules we were using, and the structure of Python routing.
Accomplishments that we're proud of
We’re proud of how we started the hackathon with an idea and were able to see the majority of what we wanted to achieve come to fruition. We set out to create a platform that would make it easier for users to track flights and reviews, and after a ton of work we were able to do just that!
The hackathon was a great way to end the first week of classes, it allowed us to start the semester with a sense of accomplishment and motivation.
What we learned
Participating in a hackathon can be a challenging and rewarding experience, especially for those who are new. For Hua and Gerardo, it was their first time ever participating in a hackathon, and they were able to gain a lot of new experience working on a large project as part of a team.
A key takeaway we learned was the importance of clear communication and organization. By dividing the tasks among team members and clearly communicating our individual responsibilities, we were able to work together efficiently and avoid confusion and the dreaded merge conflicts. Additionally, we learned about the importance of utilizing each other's strengths, which allowed us to create a successful project.
We also had the opportunity to learn new technologies and tools. For example, Ayon had the chance to work with FastAPI and Python for the backend; Hua was able to work with database management and routing with psycopg2 and Python; Gerardo learned more about sentiment analysis and coherence; Joss extended their knowledge on UX/UI design, Figma, and React; and Erick learned more about Twilio, frontend, and Github Pages. Ayon and Hua have not made a backend in Python before so they had to quickly adapt to tools such as FastAPI and psycopg2. These experiences expanded our technical skills and gave us the chance to work with new tools and frameworks that will be valuable in future projects.
What's next for SkyScout
While we had initially planned to implement the messaging feature using Twilio, we encountered some difficulties in terms of automating the verification process for new numbers. However, we have now identified a solution and in the future, we plan to implement OAuth to ensure that the team doesn't have to manually input the phone numbers of new users into Twilio. This will streamline the process and make it more efficient for both our team and our users.
Built With
- cohere
- css
- fastapi
- html5
- javascript
- matplotlib
- postgresql
- python
- react
- render
- twilio


Log in or sign up for Devpost to join the conversation.