Inspiration
As students living in an expensive city like Sydney, We often struggled with managing a tight budget. We noticed that buying everyday essentials individually always seemed to cost more, yet the upfront expense and logistics of buying in bulk made it impractical for many people. We realized that if there was a way to collaborate with others who had similar shopping needs, we could all benefit from the savings of bulk purchases without the burden of excessive costs or storage. This personal experience inspired the creation of ShopMates—a platform designed to make bulk buying accessible to everyone by allowing users to team up and share purchases. By connecting like-minded shoppers, ShopMates aims to lower the cost of living and promote smarter, more community-driven shopping habits.
What It Does
ShopMates connects users with similar shopping needs and allows them to combine their shopping lists to buy in bulk, reducing costs for everyone involved. The platform uses a clustering algorithm to match users based on their shopping preferences, enabling them to form groups and make bulk purchases together. Once a purchase is made, users can arrange to meet at a convenient location to divide the items. ShopMates also offers secure payment options, notifications for group activities, and personalized recommendations to enhance the shopping experience.
How We Built It
Backend:
- Python: To handle the server-side logic, manage user data, and implement our custom clustering algorithm for grouping users.
- Flask: To implement API endpoints, we used the flask python framework.
- NetworkX: We use the graph analytic framework NetworkX for the construction of our grouping algorithm.
Frontend:
- JavaScript: To build a dynamic, user-friendly interface that allows for a responsive and engaging user experience.
- HTML/CSS: For a consistent and visually appealing design, ensuring that the platform is easy to navigate and use.
Challenges We Ran Into
Developing ShopMates presented several challenges:
Algorithm Development: Crafting an efficient grouping algorithm that accurately groups users with similar shopping habits is challenging due to the nature of NP-hard of the problem of grouping people with similar buying patterns. We perform a graph-based greedy group algorithm to develop approximate solution to get near optrimal grouping solution.
Data Security and Privacy: For the initial demonstration, we used PDKDF2 hash algorithm with a hash salt of 16 bits to ensure that the plaintext passwords are not stored within the system. However, to handle the complex security requirements, we indentify that more robust SHA256 hashing algorithm with larger hash salt is required. Moreover, as we collect location information, there is a requirement to integrate differential privacy techniques as a privacy measure. Due to the 24 hour time limitation, we omit integrating the differential privacy methods in our initial demonstration.
User Inetrface: Creating a simple user interface for the users of our platform. We use JavaScript language as the programming langugae when developing the frontend of our application. Creating components to match our UI theme within a limited timeframe was bit challenging.
Accomplishments That We're Proud Of
We are incredibly proud of the milestones we’ve achieved with ShopMates:
Effective User Grouping: Successfully implementing a graph-based sophisticated grouping algorithm that optimally matches users, maximizing the benefits of bulk buying and fostering a sense of community.
Community-Driven Platform: Building a platform that not only helps users save money but also promotes collaboration and community, encouraging users to connect and share.
What We Learned
Throughout the development of ShopMates, we gained valuable insights:
Importance of User-Centric Design: We learned that putting the user experience at the forefront of our design and development process is crucial for engagement and retention.
Technical Versatility: This project pushed us to expand our technical skills, particularly in integrating various technologies to create a cohesive and efficient application.
Community Building: Understanding how to build and maintain a community-focused platform was a significant learning curve, emphasizing the need for continuous user feedback and iteration.
Data Security Best Practices: We deepened our knowledge of data privacy laws and best practices for securing user information, which will be invaluable for future projects.
What's Next for ShopMates
Looking ahead, we have several exciting plans for ShopMates:
Mobile Application Development: Expanding to a mobile app to make ShopMates more accessible and user-friendly for on-the-go users.
Advanced Machine Learning Algorithms: Enhancing our cgrouping algorithm with more advanced machine learning techniques such as graph neural networks, deep reinforcement learning to provide even more accurate user matches and personalized shopping experiences.
Partnerships with Local Businesses: Establishing collaborations with local stores and supermarkets to offer exclusive deals to ShopMates users, further increasing the value of the platform.
Expanded Features: Introducing new features like coupon sharing, real-time deal notifications, and enhanced user profiles to provide a more comprehensive shopping experience.
Built With
- css
- flask
- javascript
- networkx
- python


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