Inspiration

Quoted from a CNA article on why users swipe on dating apps, "An element of unpredictability adds to this excitement. Each time you open the app, you don’t know what profiles you might see, and who might match with you. This element of surprise and anticipation is especially important in getting us hooked."

Drawing parallels to how we swipe on social media, we wanted to create a unique and engaging way for users to discover products they want, using a swipe-based card interface similar to dating apps. This approach aims to provide users with the same element of surprise and anticipation, making shopping more interactive and fun.

What it does

Users will provide their preferences (Categories, Price Preference, Delivery Time) in the search tab. Upon searching, users will be shown products in a card format for them to swipe left/right (dislike/like). With their past 'likes' and 'dislikes' submitted to the recommendation algorithm along with the user's view history, users will be shown more personalised products.

How we built it

  1. Frontend:
  2. React: Used to build the interactive user interface

  3. Backend:

  4. FastAPI: Used to create the API endpoints for the application

  5. Python: Core language used for product recommendation logic and for interacting with the vector database. Storing user's like and dislike products and using math operations on embeddings to push vectors into direction of user's liked products and away from dislike products.

  6. Qdrant: Vector database to store and query product embeddings

Challenges we ran into

  • Recommendation Algorithm: It was tought to decide on how to implement the search algorithm given that there are so many ways to do it. We wanted to devise a simple recommendation system that is robust and doesnt require much user history data, while still being able to provide relevant products and diverse variety for the user's exploration at the same time.

Accomplishments that we're proud of

  • Working Prototype: Managed to get a working prototype. Products were obtained based on likes and dislikes of user's preferences.

What we learned

  • Vector Databases: Learning how to use vector databases like Qdrant for storing and querying product embeddings

What's next for SwipeTok

  • Enhanced Personalisation: Refining the recommendation algorithms to provide even more personalised suggestions using user's click history
  • User Feedback: Implementing more user feedback mechanisms to improve product recommendations

References

https://www.channelnewsasia.com/commentary/dating-apps-tinder-match-lawsuit-addictive-4179156#:~:text=see%20more-,Dating%20apps%20can%20feel%20addictive%20because%20they%20activate%20the%20dopamine,we%20experience%20pleasure%20and%20reward.

Built With

Share this project:

Updates