Back to All
Project

Clueless Closet

 

Skill Level Area of Focus Operating System
Beginner Computer Vision, IoT, Sensors, Smart Home Linux

Why pick your own clothes when you can have a computer do it for you? Clueless Closet is designed to take clothes inside your closet and make recommendations based on the weather and machine-learned style preferences. This project is composed of a front-end website, an Android application, and a hardware tool. All of which are connected through the power of a back-end server.

Objective

We were originally excited about using machine learning tools to pick out outfits based on weather and style preferences. We realized that with the DragonBoard™ 410c development platform from Arrow Electronics, the hardware resources were here to extend our vision to IoT.

Build / Assembly Instructions

Materials Required / Parts List / Tools

Source Code / Source Examples / Application Executable

Additional Resources

Build / Assembly

IoT
We made the individual smart hangers using Arduinos with associated components to create sensing units for each hanger. Each hanger is connected to a bus where a master DragonBoard 410c polls the individual hangers. The DragonBoard 410c runs on multiple threads to manage both interfaces.

Web App
We worked on APIs first, then generated multiple front ends for the API. The Web app was one of the front ends, and it was built with node.js.

Back End Server
Handles the API requests that power our Web App and Android front end. Built on a MEAN stack.

Android
We used a null-safe modern language to create a material-compliant Android application.

Challenges We Ran Into

  • Integrating all the components:
    With a mobile app, a web app, a back-end server and an IoT interface, our project had a lot of moving parts. Managing responsibilities was difficult, but it was a very rewarding experience to see all the pieces come together at the end.
  • Improvising hardware:
    There were a few key pieces of hardware we would have liked to see on our project, but we were able to manage without. We would have liked to connect our IoT devices via Bluetooth® instead of I2C (because the DragonBoard 410c has integrated Bluetooth, which is why we chose it). Also, we couldn't find a suitable digital switch to monitor the hangers, so we made one from analog sensors instead.
  • Manually uploading images to our MEAN stack:
    It’s just a pain to transfer coordinating file transfers across different networks. This ended up being a dull and time-consuming process that had to get done.

Accomplishments That We're Proud Of

  • Full system integration:
    By far the most exciting achievement of this project was having all of the components come together.

 

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Project Authors
Andy McGregor, Dan Kirichok, Joshua Hassler, Darrien Glasser

Sign up for the Developer Newsletter.

Get software and hardware tool resources to help optimize your development delivered to your inbox weekly.

Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.