Inspiration

The moment I got off the bus from Philadelphia, my nose started running. I had never been in such a cold region before, and thus doubts started appearing in my mind that I might have caught some infection. I started searching the web for conditions associated with (excess) mucous production.

After spending almost 4 hours reading articles and papers (long after my nose stopped running), I found that amount and color of mucous corresponds to critical parameters related to respiratory diseases (including but not limited to sputum bacterial counts, sputum leukocyte elastase, interleukin-8 and proteinase inhibitor levels).

I also noticed the fact that a lot of people visit healthcare providers for minor issues, waste precious resources and time of both themselves and their healthcare providers – an issue that can be easily mitigated with a personalised diagnosis tool.

I had an idea that building this would be a great experience – in terms of learning as well as its potential implications – and thus decided to build SnotShot.

What it does

SnotShot analyses images of phlegm/sputum, analyses them with a (predominantly) computer vision algorithm and yields recommendations about appropriate treatment to you/your healthcare provider.

Steps:

  1. Blow Nose on a paper tissue.
  2. Take picture of the tissue and upload it on the SnotShot website.
  3. Get almost-instant results.

Why

Conditions like COPD (Chronic Obstructive Pulmonary Disease) are very common, with the US amounting for over 3 million cases each year.

In traditional medicine, it is not possible for an individual to go to the healthcare provider's office (every time they feel something is wrong), blow nose at the spot and get a qualitative diagnosis done – for the evident risk of infection. It is also highly impractical for the individual to bring mucous samples from outside to their primary physicians – as the samples degrade rapidly over time.

By analysing mucous, SnotShot gives a precursory indicator whether one shall visit their healthcare provider or not, and thus significantly reduces the time and resources wasted in such cases.

How I built it

The algorithm is implemented with the help of Open Computer Vision Library in Python, based on a test called "BronkoTest". I wondered how I could deploy it as a usable web application, and finally settled on using a Node.js wrapper along with some Jade/Bootstrap for the front-end.

Challenges I ran into

I had some difficulty in explaining people why I am trying to work on a topic that is so much looked down upon in the society ("Eww! That's gross" – a participant said). On the technical side, I faced some challenges in trying to get the OpenCV Library up as it comes with a huge list of dependencies.

Accomplishments that I'm proud of

I was successful in building something that would help healthcare professionals deliver better, more insightful care to their patients.

What I learned

I learned a great deal about how Computer Vision works (using the Open Computer Vision library). I also gained an understanding of K-means clustering – a simple unsupervised learning algorithm.

What's next for SnotShot

Improving and porting the algorithm from web app to a mobile app.

Built With

Share this project:

Updates