Zachary Crockett
Editor, Senior Writer, The Hustle

The local TV star who rigged the lottery

  Shortly after 7pm on April 24th, 1980, millions of Pennsylvanians watched intently as a third and final ping-pong ball shot up the tube of...
Zachary Crockett • October 12, 2019

The mannequin queen: How one woman built a business out of retailers’ trash

  On a recent Wednesday afternoon, Judi Townsend stands in the back room of a warehouse in Oakland, California, holding a decapitated mannequin head. “These go...
Zachary Crockett • October 5, 2019

The man who built his own Lamborghini

  Inside an 8k-foot converted airplane hangar in Micco, Florida, the Dr. Frankenstein of automobiles summons his newest creation to life. The space is littered with...
Zachary Crockett • September 29, 2019

Is the era of the $100+ graphing calculator coming to an end?

  Texas Instrument’s best-selling graphing calculator, the TI-84, is a woefully outdated piece of technology. Since its debut in 2004, its specs and components have remained...
Zachary Crockett • September 22, 2019

What went wrong at Uber

If Uber’s 2017 were a ride across town, it would get 1 star. You’d be hard-pressed to dredge up a worse 12-month stretch in recent...
Zachary Crockett • September 13, 2019

Why is movie theater popcorn so outrageously expensive?

In March of 2012, Justin Thompson, a 20-year-old security technician from Livonia, Michigan, decided to go to the movies. Inside, he encountered an atrocity we’re...
Zachary Crockett • September 8, 2019

The epic, decades-long battle between Ford and a small-time inventor

On a rainy day in 1962, Robert Kearns had one of those meandering thoughts that separate great inventors from mere mortals: What if a...
Zachary Crockett • September 2, 2019

Inside Shake Shack’s secret ‘Innovation Kitchen’

The Shake Shack at 225 Varick Street in Greenwich Village, Manhattan, looks like any other fast-casual eatery: Inside, customers chow down on crinkle-cut fries,...
Zachary Crockett • August 25, 2019

The worst sales promotion in history

In late 1992, the UK branch of the vacuum manufacturer, Hoover, offered an impossibly sweet promotion: If a customer bought any product worth £100,...
Zachary Crockett • August 10, 2019

SCOOP: FlyCleaners, the large NYC laundry service, is leaving customers out to dry

FlyCleaners, an on-demand laundry and dry cleaning service with tens of thousands of paying customers, has left a swath of New Yorkers wondering what happened to their clothes.

Zachary Crockett • August 8, 2019
Scott Ball image

Small business of the week: Scott Ball, red light ticket attorney

In 2008, Scott Ball graduated from USC law school with $190k in student debt and no clear career job prospects. Criminal defense was, in his...
Zachary Crockett • August 5, 2019

Small business of the week: Essence Luxe Couture

At the age of 21, Akosua Asare developed alopecia, a condition where the immune system attacks hair follicles, leading to hair loss. Eventually, the damage was so severe that she was forced to shave her head completely bald. It was then that she discovered the transformative aesthetic power of wigs. In 2017, the young entrepreneur […]

Zachary Crockett • July 29, 2019

The tiny video store that survived Netflix

“Where the hell have you been? I haven’t seen you in 6 months!” Ira Belfer rises from his throne (a well-worn dining chair from the...
Zachary Crockett • July 27, 2019

Why is airport food so expensive?

Earlier this week, while waiting to board an early morning flight from San Francisco to Portland, Oregon, I found myself stranded in Terminal 2,...
Zachary Crockett • July 20, 2019

How much money can you make on Amazon Mechanical Turk?

In early 2013, Mike Naab found himself in dire need of a side gig. As a full-time senior business analyst, the Pennsylvanian made a decent...
Zachary Crockett • July 13, 2019

The women who win hundreds of sweepstakes per year

Click here to win a free trip to Iceland! … Enter to win a 2019 Ford F-150! … Share a photo on Twitter and...
Zachary Crockett • July 7, 2019

How Costco gained a cult following — by breaking every rule of retail

On first impression, Costco makes no sense. It is a place where you can buy, in the course of one trip, a 27-pound bucket of...
Zachary Crockett • June 30, 2019

1 in 4 investment portfolios in the world contains Microsoft stock

For many investors, tech stocks are a staple of a well-balanced investment portfolio. But just how prevalent are some of the more established players? The investment research platform eVestment recently analyzed long-only portfolio holdings from 6,053 active equity strategies in Q1 of 2019 and compiled a list of the most commonly owned stocks in the […]

Zachary Crockett • June 27, 2019

The 70-year-old retiree who became America’s worst counterfeiter

In 1938, a New York cigar shop owner went to the bank to cash his daily profits. As the teller sifted through the haul, she...
Zachary Crockett • June 23, 2019

The restaurant owner who asked for 1-star Yelp reviews

In 2014, chef Davide Cerretini advertised a special that would forever change his fate: Anyone who left his restaurant a 1-star review on Yelp...
Zachary Crockett • June 9, 2019

The $500m smiley face business

The Smiley Company office in London, England, is a wonder to behold. Smiley paintings line the walls. Smiley push pillows adorn the couches. There are...
Zachary Crockett • June 1, 2019

A new startup exchange got approval to challenge the stock exchange oligopoly

Earlier this month, a company called LTSE — Long-Term Stock Exchange — got SEC approval to be the country’s 14th national equity exchange. But the new exchange, designed to encourage long-term investment and help startups go public, faces an uphill battle against mega-exchanges. The rise of XL-sized exchanges In the 1900s, most major US cities […]

Zachary Crockett • May 22, 2019

Shark Tank deep dive: A data analysis of all 10 seasons

  Shark Tank — the reality show where entrepreneurs pitch ideas to a panel of celebrity investors — just wrapped up its 10th season. That’s 222...
Zachary Crockett • May 19, 2019

The professor who beat roulette

On a warm night in May of 1969, a throng of awestruck gamblers crowded around a well-worn roulette table in the Italian Riviera. At the...
Zachary Crockett • May 11, 2019

Most US restaurant workers make far below the national median salary

Next time you find yourself questioning how much to tip your waiter, chew on this.

Zachary Crockett • May 7, 2019

The worst team-building exercises in history

Stephen Whigham was rounding third base during the late stages of a company kickball game when all hell broke loose. Whigham, then the director of...
Zachary Crockett • May 4, 2019

Why McDonald’s is hiring 250k senior citizens

On Wednesday, McDonald’s announced its intentions to fill around 250k summer jobs ranging from cashiers to shift managers — by recruiting Grandma and Grandpa. The fast-food behemoth is scouting elderly talent with posts on the American Association of Retired Persons (AARP) job board. While we’d love to attribute this to the goodness of Ronny McD’s […]

Zachary Crockett • April 26, 2019

America’s weirdest trade secret theft cases

Popcorn, Hooters, Crocs — even the nichest of niche businesses must go to battle to defend their trade secrets.

Zachary Crockett • April 25, 2019

Join 2M+ professionals getting the Hustle daily news brief

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="" 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'); wrappingDivs.forEach(wrappingDiv => { var sp = new URLSearchParams(; 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; = ''; } }); 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'; = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = ''; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } function appendCheckboxes_email_submission() { var wrappingDiv = document.getElementById('email-submission'); var optInDivs = wrappingDiv.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { = null; if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('id', 'trends_opt_in_email_submission'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('for', 'trends_opt_in_email_submission'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive additional emails on hot business opportunities from Trends, by the Hustle"; el.appendChild(checkbox); el.appendChild(label);; } }) } window.addEventListener('DOMContentLoaded', (event) => { initForm(); if (true) { appendCheckboxes_email_submission(); } }); </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="" 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-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=""> <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=""><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 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="trends-opt-in" style="display:none;"></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>