-
-
Purdue Dining Landing View (Dark Mode)
-
Purdue Dining Landing View (Light Mode)
-
Purdue Dining Preference Questionnaire
-
Purdue Dining Dashboard
-
Purdue Dining Menu View (Warning=Item is Against Your Preferences)
-
Purdue Dining Item View
-
Purdue Dining Favorited Items Menu
-
Purdue Dining Daily Announcements
-
Purdue Dining Preferences and Settings
Inspiration
We observed that the current Purdue dining app features a bland and unintuitive user interface, which can be frustrating for busy, hungry students. Additionally, it lacks detailed nutritional information and support for specific dietary needs. Through interviews with students who have allergies (such as peanuts or avocados) and those with dietary restrictions (such as vegetarian or vegan), we found that many are frustrated by the need to ask dining staff about ingredients and find it difficult to build suitable meals with the existing food options.
What it does
SupaDine is powered by a fully custom backend designed to enhance the dining experience with personalization and accessibility at its core. The system enables users to leave reviews on individual food items, share and receive warnings related to dietary and allergy restrictions, and store personal preferences and favorite dishes. These features work seamlessly together to provide tailored recommendations and foster a community-driven dining experience.
All of this functionality is presented through a sleek, intuitive, and user-friendly interface, ensuring that students can easily navigate menus, discover trending items, and stay informed about their favorite foods across Purdue’s dining halls. By combining robust backend capabilities with an engaging front-end design, SupaDine delivers both efficiency and enjoyment in a single platform.
How we built it
We began by using Lovable to create a basic prototype and then divided into frontend and backend teams to streamline development. The frontend team used Figma to design a modern, user-friendly interface and implemented it in a Swift-based iOS app. Meanwhile, the backend team built a robust server using Supabase, Node.js, and Prisma to manage and refresh a live online database, ensuring real-time updates and seamless performance.
Challenges we ran into
Initially, we planned to directly integrate the Purdue Dining API into our app. However, we realized that to support additional features such as reviews, comments, and meal ratings, we would need a custom middleware server to manage and store this data. To address this, we implemented Supabase as our backend database solution. Setting up the database schemas for reviews, comments, ratings, and dietary metadata was complex and time-consuming, but we successfully built a fully functional backend.
On the frontend, we faced challenges in translating our Figma prototypes into a working Swift UI. Since Figma doesn’t export directly to Swift, we encountered issues converting the design—originally structured in TypeScript—into Swift code. This required extensive debugging and manual adjustments, but we were ultimately able to deliver a clean, responsive interface.
Accomplishments that we're proud of
We’re incredibly proud of SupaDine and the features that set it apart—particularly the allergy notifications and the student-driven review system. As first-year students who regularly use the dining halls, we saw a real need for better communication between students about the food being served. SupaDine enables users to share honest feedback, clearly identify foods that don’t meet their dietary needs, and navigate dining options through a significantly more intuitive and user-friendly UI/UX. We’re excited to bring a more informed and connected dining experience to the Purdue community.
We are also really proud in that we have a fully functioning frontend and backend. This means SupaDine is extremely scalable and can be implemented without hindering the initial API. Additionally, any app can utilize the SupaDine database and API to make their own app and collaborate on the review system.
What we learned
I think the biggest takeaway is that we learned off of each others skills. We entered the hackathon with different ranges of experiences and backgrounds, but through building off each other we all walk away with communication and teamwork skills. While we did split into different aspects of the development, whenever we encountered an issue, all team members would be on deck and troubleshoot together. We found this to be extremely effective as our different perspectives came together to create a solution.
What's next for SupaDine
Looking ahead, one of our primary development goals is to implement a location-based dining hall feature, similar to what is currently available in Purdue’s dining app but enhanced for usability and integration. By leveraging device location services in combination with the Apple Maps API, we plan to automatically sort dining halls by proximity to the user’s current location. This will not only streamline the decision-making process for students on the go but also provide an interactive map view with clearly marked hall locations for easy navigation.
In addition to expanding functionality, we are committed to continuous refinement of SupaDine’s user experience. Our roadmap includes addressing existing bugs, optimizing performance, and introducing improvements to the overall UI to ensure a smoother, more intuitive interface. Together, these enhancements will elevate SupaDine into a robust, reliable, and efficient platform that makes dining decisions faster, easier, and more engaging for the entire campus community.
Log in or sign up for Devpost to join the conversation.