## Inspiration

Valentine's day and wanting to help others find love!

Swiping left and right can get really tedious, real fast. A better solution? Getting matched with the perfect partner based on your interests and preferences.

## What it does

Love on Top is an online dating app that matches you up with your perfect partner based on the responses you give on a questionnaire. You just fill out the quick survey and our matchmaking algorithm pairs you up with your ideal friend or soulmate.

## How we built it

The database for Love on Top was created in PostgreSQL and the web framework Django was used to setup the website for the application.

## Challenges we ran into

Aa we had little experience using Django, connecting it to the PostgreSQL database and actually constructing the website was a bit difficult. Constructing an algorithm to compare and find similarities between the rows in the database took quite a bit of time as we had none of us had used that database system either.

## Accomplishments that we're proud of

Working together and pushing through!

## What we learned

We learned how to create a web app using Python and Django. Almost no one in our group had prior experience using Django or creating a database with PostgreSQL, so there was a pretty steep learning curve in which we did not just learn but also had to apply the knowledge we gained in these 36 hours.

## What's next for Love on Top

Gaining more users and growing our app!
## Inspiration

Our inspiration came from our love of both food and technology. We noticed that while there are many food apps available, there was no app that allowed users to quickly and easily find new dishes and cuisines based on their taste preferences in a fun and engaging way. We were also drawn to the Tinder model because of its popularity and the way it allows users to make quick decisions about whether they're interested in something. We thought this model could be applied to food matching, where users could swipe right or left on dishes and quickly receive suggestions for new dishes that match their taste preferences. Ultimately, our goal was to create an app that made it easy for people to explore new cuisines and dishes, connect with others who share their love of food, and have fun while doing it.

## What it does

Welcome to the future of food exploration and human connection! Our app has turned the sometimes mundane task of checking your food preferences into a fun, engaging game.

With our app, you'll be presented with two delicious dishes from different cuisines within the same food category, and you get to choose which one matches your taste preferences the best. Along the way, you'll receive detailed information about the dish's flavor profile and recipe source, making every choice a learning opportunity.

What's more, the app uses an algorithm inspired by the Chess ELO system to update your food preferences based on your choices, ensuring that your personalized recommendations are always spot-on.

And the fun doesn't stop there! Add your friends and compare your food preferences to see who's the ultimate foodie in your group.

## How we built it

We've used React.js and TailwindCSS for the front end.

For the backend, we've employed the powerful Convex technology, which is designed to deliver lightning-fast response times and top-notch performance, ensuring that you get the most out of your food exploration experience.

## Challenges we ran into

Our team encountered some exciting challenges during the development of our app, which only made us more determined to create the best possible user experience.

One of the biggest challenges we faced was figuring out the best way to rank and categorize food preferences. But we rose to the challenge and developed a cutting-edge algorithm inspired by the Chess ELO system that adapts to your preferences in real-time, ensuring that your recommendations are always on point.

As with any complex project, we also faced some coding issues along the way. But our team worked hard to solve these challenges, to create an app that is not only exciting to use but also rock solid in its performance.

## Accomplishments that we're proud of

Our proudest accomplishment is creating an app that delivers on both fun and human connection. We set out to build a game that not only challenges and entertains you but also allows you to connect with your friends over your shared love of food.

With our app, you'll discover just how much you have in common with your friends, as you compete to see who has the best taste in dishes. Our app is the perfect combination of playfulness and social bonding, designed to bring people closer together while exploring the exciting world of food.

## What we learned

One of the biggest lessons we learned during the development of our app was how to create a seamless and engaging multi-user experience. We set out to build an app that could connect people around their shared love of food, and in doing so, we learned how to create a web application that can bring people together in new and exciting ways.

Through the development process, we've gained invaluable experience in building an app that can handle multiple users, while delivering top-notch performance and user experience. We've learned the ins and outs of creating a platform that is both intuitive and responsive, allowing our users to focus on the fun of discovering new dishes and connecting with their friends.

In short, we've learned how to create an app that brings people closer together, one that fosters connections, sharing, and community. We're excited to continue to improve and innovate, and to share our knowledge and experience with others

## What's next for FoodMatch

Looking towards the future, our team is more excited than ever to continue developing and innovating our app. Our ultimate goal is to create an experience that brings people closer together, fostering new connections and discoveries around the world of food.

To that end, we plan to enhance our algorithm and create new features that will make the app even more engaging and fun. We're constantly on the lookout for new ways to connect people through their shared love of food, and we're excited to explore new frontiers of innovation and creativity.

Our team is committed to delivering an experience that is both exciting and meaningful, one that inspires community and encourages discovery. We're excited to continue pushing the boundaries of what's possible with food and technology and to see where this journey takes us.
## Meet Our Team :)

* Lucia Langaney, first-time React Native user, first in-person hackathon, messages magician, snack dealer
* Tracy Wei, first-time React Native user, first in-person hackathon, payments pro, puppy petter :)
* Jenny Duan, first in-person hackathon, sign-up specialist, honorary DJ

## Inspiration

First Plate was inspired by the idea that food can bring people together. Many people struggle with finding the perfect restaurant for a first date, which can cause stress and anxiety. By matching users with restaurants, First Plate eliminates the guesswork and allows users to focus on connecting with their potential partner over a shared culinary experience. In addition, food is a topic that many people are passionate about, so a food-based dating app can help users form deeper connections and potentially find a long-lasting relationship.
After all- the stomach is the way to the heart.

## What it does

Introducing First Plate, a new dating app that will change the way you connect with potential partners - by matching you with restaurants! Our app takes into account your preferences for cuisine location, along with your dating preferences such as age, interests, and more.

With our app, you'll be able to swipe through restaurant options that align with your preferences and match with potential partners who share your taste in food and atmosphere. Imagine being able to impress your date with a reservation at a restaurant that you both love, or discovering new culinary experiences together.

Not only does our app provide a fun and innovative way to connect with people, but it also takes the stress out of planning a first date by automatically placing reservations at a compatible restaurant. No more agonizing over where to go or what to eat - our app does the work for you.

So if you're tired of the same old dating apps and want to spice things up, try our new dating app that matches people with restaurants. Who knows, you might just find your perfect match over a plate of delicious food!

## How we built it

1. Figma mockup
2. Built React Native front-end
3. Added Supabase back-end
4. Implemented Checkbook API for pay-it-forward feature
5. Connecting navigation screens & debugging
6. Adding additional features

When developing a new app, it's important to have a clear plan and process in place to ensure its success. The first step we took was having a brainstorming session, where we defined the app's purpose, features, and goals. This helped everyone involved get on the same page and create a shared vision for the project. After that, we moved on to creating a Figma mockup, where we made visual prototypes of the app's user interface. This is a critical step in the development process as it allows the team to get a clear idea of how the app will look and feel. Once the mockup was completed, we commenced the React Native implementation. This step can be quite involved and requires careful planning and attention to detail. Finally, once we completed the app, we moved on to debugging and making final touches. This is a critical step in the process, as it ensures that the app is functioning as intended and any last-minute bugs or issues are resolved before submission. By following these steps, developers can create a successful app that meets the needs of its users and exceeds their expectations.

## Challenges we ran into

The app development using React Native was extremely difficult, as it was our first time coding in this language. The initial learning curve was steep, and the vast amount of information required to build the app, coupled with the time constraint, made the process even more challenging. Debugging the code also posed a significant obstacle, as we often struggled to identify and rectify errors in the codebase. Despite these difficulties, we persisted and learned a great deal about the React Native framework, as well as how to debug code more efficiently. The experience taught us valuable skills that will be useful for future projects.

## Accomplishments that we're proud of

We feel extremely proud of having coded First Plate as React Native beginners. Building this app meant learning a new programming language, developing a deep understanding of software development principles, and having a clear understanding of what the app is intended to do. We were able to translate an initial Figma design into a React Native app, creating a user-friendly, colorful, and bright interface. Beyond the frontend design, we learned how to create a login and sign-up page, securely connected to the Supabase backend, and integrated the Checkbook API for the "pay it forward" feature. Both of these features were also new to our team. Along the way, we encountered many React Native bugs, which were challenging and time-consuming to debug as a beginner team. We implemented front-end design features such as scroll view, flexbox, tab and stack navigation, a unique animation transition, and linking pages using a navigator, to create a seamless and intuitive user experience in our app. We are proud of our teamwork, determination, and hard work that culminated in a successful project.

## What we learned

In the course of developing First Plate, we learned many valuable lessons about app development. One of the most important things we learned was how to implement different views, and navigation bars, to create a seamless and intuitive user experience. These features are critical components of modern apps and can help to keep users engaged and increase their likelihood of returning to the app.

Another significant learning experience was our introduction to React Native, a powerful and versatile framework that allows developers to build high-quality cross-platform mobile apps. As previous Swift users, we had to learn the basics of this language, including how to use the terminal and Expo to write code efficiently and effectively.

In addition to learning how to code in React Native, we also gained valuable experience in backend development using Supabase, a platform that provides a range of powerful tools and features for building, scaling, and managing app infrastructure. We learned how to use Supabase to create a real-time database, manage authentication and authorization, and integrate with other popular services like Stripe, Slack, and GitHub.

Finally, we used the Checkbook API to allow the user to create digital payments and send digital checks within the app using only another user's name, email, and the amount the user wants to send. By leveraging these powerful tools and frameworks, we were able to build an app that was not only robust and scalable but also met the needs of our users. Overall, the experience of building First Plate taught us many valuable lessons about app development, and we look forward to applying these skills to future projects.

## What's next for First Plate

First Plate has exciting plans for the future, with the main focus being on fully implementing the front-end and back-end of the app. The aim is to create a seamless user experience that is efficient, secure, and easy to navigate. Along with this, our team is enthusiastic about implementing new features that will provide even more value to users. One such feature is expanding the "Pay It Forward" functionality to suggest who to send money to based on past matches, creating a streamlined and personalized experience for users. Another exciting feature is a feed where users can share their dining experiences and snaps of their dinner plates, or leave reviews on the restaurants they visited with their matches. These features will create a dynamic community where users can connect and share their love for food in new and exciting ways. In terms of security, our team is working on implementing end-to-end encryption on the app's chat feature to provide an extra layer of security for users' conversations. The app will also have a reporting feature that allows users to report any disrespectful or inappropriate behavior, ensuring that First Plate is a safe and respectful community for all. We believe that First Plate is a promising startup idea implementable on a larger scale.