COVID-19 Mask Search 2.0

Around two weeks ago, I posted about a bit of software I wrote in Python. The goal of this project was to quickly create spreadsheets of businesses in a given area, such that they could be imported into a shared Google Sheet and used in order to organize volunteers at my medical school in their efforts to call businesses and ask for donations of personal protective equipmment (PPE; namely N95s/masks) for our frontline healthcare workers. Word quickly spread and I was soon flooded with requests from students at other schools around the country to help them with fetching their own PPE data.

I wanted to publish this update both to share the good this little bit of code has helped make happen (see the map above), but more importantly to share the latest version. This new release of the software contains essential updates: not only is it cleaner and easier to understand (I hope), but new functionality has been added in to further automate the fetches of data. Now, instead of generating one CSV file per locale+industry, the software accepts a list of industries/business types and a locale and then searches for each industry in the given locale, ultimately generating an excel spreadsheet with multiple pages: one for each industry with hundres of rows of businesses and their info such as name, phone #, address, and some other added metadata for volunteers to use for organization. After that, all you need to do is upload this excel spreadsheet to Google sheets and convert it to the Google Sheets format (File -> Save as Google Sheet). Share it with a group of volunteers and let the phone calls and PPE donations start building up. This work can really make a difference for those on the frontline desperate for the PPE they need to protect themselves from infection!

Example of a spreadsheet of business data uploaded to Google Sheets.

Yelp Mask Search: Collect Business Contact Info For COVID-19 PPE Donations

See the latest updates to this project in part 2!

With the outbreak of COVID-19 in NYC, our healthcare system has demonstrated that it is poorly equipped to respond to the needs of its clinicians and other frontline healthcare workers. Most obvious is the lack of effective personal protective equipment (PPE; namely N95 respirators and other masks) which our doctors, nurses, respiratory therapists, and others need in order to protect themselves against infection with the virus. It’s glaringly obvious that if you fail to protect your healthcare workers from falling ill, your system is going to fail — and fast too. Nonetheless, we are barely at the outset of the outbreak and our hospitals are already strictly rationing PPE, causing deeply concerning comprimises in patient and provider safety.

Residents from multiple NYC hospitals reach out to our volunteers to acquire proper PPE.

The problem has gotten so bad that residents and medical students have begun scouring the community for businesses (closing down by law) with extra respirators that they are willing to donate. I was brought on to a medical student team that was calling construction businesses, nail salons, dry cleaners, hardware stores, and tattoo parlors. The volunteers had been manually entering businesses into a massive spreadsheet: organizing the info on what business had been or needed to be called, who had donations to give, and more.

Example PPE donation spreadsheet. Business info (veterinarians, construction, painters, dry cleaners, etc) retrieved from online searches manually.

I was asked to write some code to scrape the web for a list of businesses and their contact info. I went to the Yelp API, and got to work. What resulted was a simple python notebook that I am now hoping to share with voluteers at other hospitals or med schools. The code simply takes a Yelp API key, location, and search terms and generates a CSV spreadsheet of the first 1000 businesses to match the search along with their phone numbers, addresses, and Yelp pages.

You can get started using this simple data scraper by opening the Python notebook below for free using Google Colab (look for button at the top of the code). Once open, simply change the settings for your location, search terms, and API key and you can start generating your own lists of businesses to call for donations! Our group has had success with copy/pasting each industry into its own page in a Google spreadsheet. With this system, multiple volunteers can collaborate and work on calling businesses in parallel.

Repairing a Kitchenaid Mixer

I was walking down the streets of Manhattan when my I spotted it. A cobalt-blue KitchenAid stand mixer, sitting abandoned and alone on the sidewalk. I knew that it was not likely to be in working order, but I also know that many people throw away broken technology that can easily be revived with a quick repair job in the right set of hands. I picked it up and carried it over a mile back to my apartment. Let the games begin!

I was not surprised to find that, despite being in otherwise great condition, the mixer was not fully working. Luckily, when I plugged it in and turned it on, I was greeted by the sound of a happy and healthy electric motor, however there was no movement out of the mixer itself. I fetched my tools, and prepared my operating room before diving into the insides of this hefty machine.

Opening the mixer was a bit of a trial, requiring a set of security screwdriver bits, but I was not going to be deterred so easily. For $11 on Amazon, I had the requisite bits shipped to my doorstep in two short days. I pressed onward, opening the contraption’s heavy cast-iron shell to reveal its inner workings. I scraped away the heap of food-safe grease which encased the drive train and the problem because obvious fairly quickly: the worm gear which coupled the motor to the mixer’s output had been completely destroyed.

The white gear seen at center of the image was completely chewed up, no wonder it wasn’t moving.

It turns out that this is a common issue that befalls the owners of KitchenAid mixers. In fact, this failure was an outcome of an intentional design decision by the KitchenAid engineers. In the event that the mixer is overloaded, this gear is destroyed, rather than the other metal gears in the drive train or the motor itself. A replacement can easily be purchased online for a mere $8-10, but I had another idea of how I wanted to fix this thing up.

A quick perusal of the internet revealed that I could easily print out a replacement gear, and so I put my Anycubic Kossel Linear Plus 3D printer to work! In less than a half hour, I had a replacement gear made out of PLA. I wanted the new part to be strong, so I went ahead and heated up my toaster oven to 170 C, turned it off, and then popped the newly printed gear in. As the toaster cooled, it heated the gear to its glass-transition temperature, allowing the molecular structure of the plastic to rearrange, thus reducing any stress that had been present in the structure as a result of the 3D printing process (this process is known as annealing, and has been demonstrated to significantly increase 3D printed part strength!).

Newly printed gear after annealing!

Now came the scary part. I extracted the old gear from its gearbox and used a jeweler’s saw to remove the old plastic gear from its metal core. I then used a blowtorch to heat the metal core to approximately 200 C and carefully pressed the new gear on (using oven mitts to avoid burning my hands). It wasn’t perfect, but afterwards I had a fully functional replacement gear that fit snugly into it’s new home!

New PLA gear fitted onto the metal core, alongside the old gear it was replacing.

I finished reassembling the mixer, and was overjoyed when I turned it on and I saw everything moving as it should. It works perfectly, and so far seems to be more than strong enough to do its job! Next up is trying to build/buy a pasta maker so I can get some more fresh noodles in my life, wish me luck!