A mobile dating app style experience to recommend you new restaurants and food experiences in your area.
Click the image below to watch the full demo on Youtube!
This app was made for the Interface Design Methodology class at the University of Pittsburgh. In this class, we learned the fundamentals of user interface and user experience design and put those lessons to the test during the development of our applications, which was the focus of our semester. Over the course of the semester, we designed, implemented, and tested our app and designs. We followed a fast-paced, iterative design and testing process where we had multiple rounds of user testing and feedback sessions. This directly mirrors how app design, testing, and development works in for-profit, commercial environments.
To create this application, we were taught the Model View Viewmodel (MVVM) architectural pattern, and implemented it with Dart and the Flutter framework. Coming into the semester, nobody in our group had used these tools/technologies before, so we had to learn over the course of our development as the semester went on.
All of us being very big foodies, our group decided to make an app that quickly recommends you to new food in your current area. We wanted to make it a simple and interactive experience, while remaining focused on the key user tasks we defined early on, which were:
- Finding new restaurants
- Maintaining lists of restaurants
- Reviewing restaurants
Our unique selling point here is that we wanted to make it a sort of dating-app style experience where you can "match" with certain restaurants based on your preferences. We like pitching it as sort of a “Tinder for food” experience, because many people then immediately have some idea of what the app is going to look like and how it functions in their head, leading to a smoother onboarding process for new users.
Following the structure of the course, our design and devlopment process was broken up into 5 main sections over the course of the semester.
All documents we created for these phases can be found in the design_docs folder of the project.
This was essentially our brainstorming step, in which we spent a week or two coming up with an application idea that we all would be excited to work on. We then set goals for the application and identified target users. Finally, we analyzed other existing applications that provide similar features to their end users to figure out how to best approach our designs, as well as how to set ourselves apart.
We also had a feedback session with consultant users to figure out what parts of our idea might need to be strengthened/changed.
In class, we gave a presentation/pitch for the vision of indulge, as well as formalized our Minimum Viable Product (MVP) that we would be able to ship in beta by the end of the semester. During this phase we also created multiple user personas to embody our target users and design the applciation around, as well as created storyboards and wireframes to visualize the flow, features, and functionality of our application.
In this phase, we fully thought out and designed the architecture of our app and how the different subsections of it would communicate. Again, we were tasked with using the MVVM architectural pattern, so that is how we divided up the app. We made a full software architecture diagram to visualize how all the moving pieces of our application would need to interact.
At this phase, we had implemented at least 2/3 of the key tasks specified in our MVP and had a testing session with consultant users to gether feedback before the final sprint towards a beta prototype.
This was the culmination of the semester. At this point, we had taken all the feedback from our consultant user sessions and made the changes we found necessary to maintain an elite user experience in our beta prototype. We then presented our beta prototype to the class, got even more user feedback, and did a final project write-up about how the development went over the course of the semester.
Since indulge is still in prototype, we still have fake data being used in the project. As such, there is not much else you can do besides what is already shown in the demo. If you haven't watched that yet, go watch it. However, if you would like to still use the application yourself, you can! Follow the instructions in the README_TA.md file to do this.
- Dart
- Flutter
- Figma
- SQLite
