Michael Waters
Staff Writer, The Hustle

The controversial business of private firefighting

As wildfires rage across California, the state is facing a shortage of firefighting resources and personnel. But the state’s wealthy denizens have another option: They...
Michael Waters • September 1, 2020

Meet the “menu engineers” helping restaurants retool during the pandemic

Consider the restaurant menu.  By design, menus aren’t meant to spark conversation. But as restaurants take drastic steps to weather COVID-19, they are revamping their...
Michael Waters • August 29, 2020

Tons of startups are trying to turn streaming into social media

Picking a TV show to watch is officially more anxiety-inducing than a Cheesecake Factory menu. With Peacock, HBO Max, Quibi, and Tubi all jumping onto...
Michael Waters • August 28, 2020

TikTok gossip accounts are shaking up the media biz

Hot tip: If you want to run into your favorite TikTok star in the wild, head over to BOA Steakhouse in Los Angeles. According...
Michael Waters • August 27, 2020

AI vacuums? Why Roombas are getting smart

We’ve all witnessed the sad, Sisyphean journey of a Roomba as it motors across a living room, slamming into every piece of furniture in...
Michael Waters • August 26, 2020

Top Gun fans, unite: Hollywood is hosting a massive movie-prop sale

If you thought the toilet paper aisle felt like The Purge this spring, just wait for this $6m+ auction. A record number of people have...
Michael Waters • August 25, 2020

This company wants to empower creatives to branch off on their own

Ever consider ditching your job to start a newsletter or podcast? Was your next thought, Wait… will anyone actually care about what I make? A...
Michael Waters • August 24, 2020

CIA BBQ sauce and DEA baby bottles: The business of government merch

The most-hyped fashion house of 2020 might be the US Postal Service gift shop. In a show of solidarity for the beleaguered government agency, people...
Michael Waters • August 24, 2020

Are private airports ready for liftoff?

Cities are struggling to pay their workers and ditching growth plans. The Atlantic has a fix: Turn airports private. One dealmaker estimated that investors would...
Michael Waters • August 21, 2020

Hang on to your Tomatometers: Can algorithms direct movies?

We’re obsessed with GPT-3, the bot that can write music, pitch business ideas… and make Hustle writers sweat. The buzzy AI tool has enough creative...
Michael Waters • August 20, 2020

What are therapy apps doing with your data?

You thought a therapist with a pen and paper was scary? A New York Times investigation into Talkspace, the teletherapy app that’s snagged $100m+ in...
Michael Waters • August 19, 2020

Is this the biggest meme account buyout ever?

Warner Music Group just ponied up ~$85m for one of the internet’s most successful meme factories. The deal was technically for IMGN Media, a network...
Michael Waters • August 19, 2020

The record store is dead… unless you’re a rodent

Rats are having the time of their lives in quarantine. They’re taking over city blocks. They’re growing as big as rabbits. In Sweden, they’re getting...
Michael Waters • August 18, 2020

Dining, design, and construction: Mushrooms are taking over startupland

Do your peeps keep telling you they “know a guy” who’s growing mushrooms in quarantine? Hold your side-eye. They might be buying from Smallhold, an...
Michael Waters • August 18, 2020

Can talking roads end car accidents?

I still think about a moment from childhood when my dad’s car skidded across a patch of black ice. For a few seconds, we...
Michael Waters • August 13, 2020

I scream, you scream, we all scream for a 4-day workweek?

In the early 1930s, the US considered adopting a universal 30-hour work week. Congress killed the bill — and with it, your dreams of...
Michael Waters • August 13, 2020

Trade deals are stalling, thanks to… cheese?

A post-Brexit deal between the UK and Japan might be on hold — all because of wheeling and dealing around blue cheese.  One negotiator is...
Michael Waters • August 12, 2020

The latest fintech disruptor: The US government

Next time you pay back your pals for a drive-in concert ticket, don’t be alarmed if they ask you to “FedNow me.” Forget Venmo. The...
Michael Waters • August 11, 2020

Drink like Da Vinci: Italy is bringing back its 17th-century ‘wine windows’

Photo: Buchette del Vino/Facebook Want to buy an aperol spritz or a gelato without stepping indoors? The holes in the wall have you covered. Because of...
Michael Waters • August 10, 2020

The 19th-century entrepreneur who pioneered modern ice cream

You might think we’re living in a golden age of ice cream innovation. In plenty of US cities, you don’t have to look hard to...
Michael Waters • August 9, 2020

‘Dark patterns’ are how online stores get your extra moolah

Let’s say you’re buying a pack of frozen White Castle sliders online, and a special offer pops up. The option to turn it down is...
Michael Waters • August 7, 2020

5 facts you might not know about the founder of TikTok

Photo via: Visual China Group via Getty Images This week, the founder of ByteDance, TikTok’s parent company, has both attacked the US stance on TikTok...
Michael Waters • August 6, 2020

More than a bad batch: Why everyone is ditching browser cookies

No one likes tracking cookies. Visit the website for that cat-poop spaceship just once, and internet ads will never let you live it down. The...
Michael Waters • August 6, 2020

AI lifeguards are your next summer dreamboats

Photo: SIGHTBIT / Adam Bismut (YouTube) Nothing says August like a hunky, sun-kissed lifeguard perched atop a high chair.  But another seductive savior is hitting a...
Michael Waters • August 5, 2020

The chatbot banker will see you now

Only a messenger bank could make Venmo seem like a total hassle. Downloading an app to send money? Might as well admit you were in...
Michael Waters • August 5, 2020

Forget virality: This company is betting on podcasts that almost no one will hear

You might think 50 listens on a podcast is a massive flop. But to Artifact, that’s a blockbuster. The audio startup isn’t chasing big audiences...
Michael Waters • August 4, 2020

‘Cloaking’ is the new biz of hiding from facial recognition

Has your friend suddenly started to look a bit like Drew Barrymore? She might be outsmarting facial recognition. Researchers from the University of Chicago have...
Michael Waters • August 4, 2020

QVC’s Gen-Z-friendly cousin has mastered the product drop

Photo: NTWRK How do you convince the world that Bronze Air Jordans are the must-have kicks of the moment? Make only a few pairs available at...
Michael Waters • August 3, 2020

TikTok’s terrible weekend is music to Triller’s ears

Photo by Nicolas Economou/NurPhoto via Getty Images Skipped the tech news this weekend? You missed a year’s supply of TikTok drama. The tl;dr: On Friday, President...
Michael Waters • August 3, 2020

A jaw-dropper: Some orthodontists think we use braces too much

Brace yourself: An industry journal found “an absence of published evidence” that straightening your teeth is healthy. And a growing number of orthodontists say braces...
Michael Waters • July 31, 2020

Join 2M+ professionals getting the Hustle daily news brief

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="https://thehustle.co/new-thank-you-v2/" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); Array.prototype.forEach.call(wrappingDivs,wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="FI"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value="https://thehustle.co/author/mwaters/page/3/"> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/new-thank-you-v2/"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="https://thehustle.co/privacy">Privacy Policy</a>.</p> </div> </div> </div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>