Inspiration

The fashion industry is the 2nd biggest polluter in the world, second to only the oil and gas industry. Fast fashion, the act of copying the latest catwalk styles, is rapidly increasing in popularity and hence, deeply concerning from a sustainability perspective. Today, only 10% of Canadians shop for second-hand clothing, thus our goal is to provide a convenient means to tap into these markets by incentivizing consumers to use our website and buy more second-hand clothing.

What it does

Our web application allows thrift shop businesses to upload images of clothing they would like to market. Our application enables consumers to upload an image of a piece of clothing that they would like to buy and our application finds a quick match of cheap, recyclable options that are similar in design.

How we built it

We decided to build a progressive web application. Our wireframes for the front-end were prototyped with figma; then built with HTML/CSS/Javascript with JQuery to make api requests.

For the backend, we used express to build the api endpoints and mongoDB to store data pertaining to businesses and thrift stores who upload photos to the app. Uploaded photos are run through Google Cloud Computer Vision API and return classification information to our backend server to utilize.

We then run a KNN Machine Learning algorithm to return images that are similar to the query image uploaded by the consumer and relevant descriptions provided by the retail stores.

Challenges we ran into

Front End:

  • Overflow issues with displaying large amounts of JSON data results
  • Integrating with the backend; we had issues returning the desired JSON data
  • Styling and developing for an responsive and progressive app experience

Back End:

  • How to integrate mongoDB with express.js
  • How to define the mongoDB models/schema for attributes of clothing; Cloud Vision API returns a lot of data that we needed to filter and clean
  • How to store the image data being uploaded from the client; We decided to store the actual png images in a folder on the backend instead of storing binary data inside mongoDB documents

Accomplishments that we're proud of

  • Creating the backend infrastructure for scalability and modularity
  • Integrating the front/backend components of the web application
  • Working with google cloud platform and using the visual API
  • Applying KNN ML Algorithm to our project

What we learned

  • Learning new languages and web development tools
  • Learning how to apply computer vision and ml to our project within a tight deadline
  • Learning

What's next for Thrifter

-Natural language processing and writing tags that can better be used to compare images as well

  • Sorting search results based on the location of the thrift store (using google map & coordinates) and relevance of tags
  • Adding a functionality that allows users to upload their own used clothes and use Thrifter as an exchange service

Built With

Share this project:

Updates