One of the most tedious parts about listing things on all marketplaces is having to meticulously categorize our items. And yet day by day artificial intelligence is making it extremely easy to classify images. Why are we continuing to waste our time coming up with the best keywords when we can have AI do it for us? Enter SnapShop.

What it does

SnapShop can be used on the move or at home on your PC. It's a snap! All you have to do is take a photo of what you want to sell, upload it to SnapShop, and you're 99% of the way there. Simply upload a photo and our API will automatically add relevant tags that fit the item you are listing. Add a title and description and you're good to go. In the future, if you're feeling especially generous, you can help out the AI by correcting or improving the tags that were automatically generated for your listing.

How we built it

We used Clarifai to power our Python REST API using Flask and Gunicorn. The SnapShop web client was written in JavaScript with ReactJS following the Material UI design spec and using Firebase for our data and image storage. Using Firebase gives us the additional advantage of all listings on SnapShop being real-time and synced between users, making it really fun to use!

Challenges we ran into

Python was a language that was completely new to all of us, but we wanted to take a risk and learn new things here at HackMerced. A lot of our team members had also never had any experience with using or developing RESTful APIs. Additionally, creating SnapShop's front-end presented its own challenges, especially when it came to actually communicating with our back-ends.

Accomplishments that we're proud of

We're proud of SnapShop as a whole! This is the first fully-fledged web application that the majority of this team have ever developed to such a complete and usable state. Specifically, we're proud of having developed a REST API and overcoming the challenges that came with that, including CORS limitations, correctly parsing the data from Clarifai, and other more common development issues that like to turn up at hackathons.

What we learned

Something that was really fun to learn about was React. We were able to learn more about the thinking behind ReactJS and its uni-directional data-flow philosophy. Most importantly however, we all learned about our various strengths and weaknesses, and completing this project has made us hungry to grow more (and make more!)

What's next for SnapShop

We would really love to see AI learn more from the tags that people supply to the point where there's no need to manually have to correct tags. Then, we'd love to move on to generating titles and descriptions, to the point where all users would have to do is simply take a photo of their item and it would be listed with the correct details, information, and even a suggested price based on machine learning.

Share this project: