You're viewing an email archive of The Hustle newsletter. Join free to receive the 5-minute newsletter keeping 2M+ innovators in the loop.

🥬 Amazon Fresh or Whole Foods?

The Hustle

Billionaire and Shift4 Payments founder Jared Isaacman blasted into orbit aboard SpaceX’s Inspiration4 mission last year, which he also funded.

Now, he’s bought 3 more flights. It’s an unknown sum, though he did say he paid less than $200m for the 1st one.

In today’s email:

  • Master plan: How Amazon will win the grocery wars.
  • Moving to Florida? Get ready to pay up.
  • Squarespace: Why it’s loved podcasts since 2009.
  • Around the web: Extreme Wordle, inflation tips, and more wild internet finds.

🎧 On the go? Listen to today’s 10-min. podcast to hear about how war in Ukraine could impact your wallet, Amazon’s grocery strategy, and much, much more.

The big idea
Whole Foods storefront

Amazon’s plan to dominate the grocery business, explained

The grocery business operates on razor-thin margins.

While this has scared off many entrepreneurs, it attracted a certain tech behemoth that just so happens to love razor-thin margins: Amazon.

After acquiring Whole Foods in 2017 and launching Amazon Fresh in 2020, the company’s path to grocery dominance is taking shape.

Whole Foods…

… was once nicknamed “Whole Paycheck” for its ~20% premium relative to other grocery stores.

Since Amazon’s acquisition, that premium has dropped to ~10% and in some cases, shoppers have found Whole Foods to be cheaper than competitors.

Besides lowering prices, Amazon has introduced delivery and pickup options to increase convenience at Whole Foods.

Amazon Fresh…

… is the firm’s new grocery subsidiary that aims to offer an even more convenient shopping experience. The store’s high-tech innovations include:

  • Just Walk Out: Amazon’s cashierless tech that allows shoppers to grab and go without visiting a register
  • Dash Carts: Amazon’s shopping carts equipped with built-in checkout functionality

Amazon Fresh has 23 stores in operation, including a number in close proximity to Whole Foods.

Why does that matter?

In areas where both stores operate, Amazon has found little crossover in the customer bases. Specifically, the company has found Amazon Fresh attracts value shoppers that wouldn’t usually shop at Whole Foods.

Being able to open both stores in close proximity without cannibalizing sales has big implications:

  • Amazon can fuel both stores with the Whole Foods’ supplier network, likely leading to better prices
  • Amazon can then pass its savings on to its 2 customer bases — making both stores more affordable relative to competitors

And more stores are coming

Amazon announced plans to open 40 new Whole Foods locations last May, and Amazon Fresh has at least 2 dozen locations in the pipeline. With more stores, Amazon’s ability to corner local markets will only increase.

What was that saying Jeff Bezos made famous? Oh yeah: “Your margin is my opportunity.”

Sounds like something a grocer might say.

Share on Facebook Share on Twitter Send as email to a friend View on our website

Bins and baskets: The Container Store is getting an app and a loyalty program this spring. #ecommerce-retail

Neat: Electric car batteries made from recycled bulletproof vests may offer 5x the energy density and last a decade. #clean-energy

Nervous laughter: From Vanity Fair comes a fascinating read about the possibility that AI will replace us — as a species, forever. #emerging-tech

Hackers installed credit card skimmers to 500+ ecommerce websites to steal payment info, per a new report. #privacy

Crypto madness: Coinbase aired a Super Bowl ad with a QR code that gave new users $15 in bitcoin. Then it got so much traffic to its website it had to throttle it. #fintech-crypto

Snapchat is beta-testing mid-roll ads in stories. The revenue will be shared with the platform’s Snap Stars — verified public figures or creators with big followings. #big-tech

Prices are Hot
annual rent growth in Florida

Moving to Florida? Get ready to pay up

According to the Consumer Price Index, rents went up nationally by 3.8% on average in 2021.

But some cities saw rent pop much more than that.

Of the 10 cities with the highest average rent increase, 6 are in Florida — and Miami isn’t even on the list.

So why the rising rates?

According to Axios, a few factors are working together:

  • The increase in remote work during the pandemic has pushed workers to warmer climates (e.g., Florida, Texas, Arizona)
  • With more demand, home prices are on the rise
  • Due to higher home prices, some residents are choosing to rent instead

And with Florida specifically, the problem is exacerbated by the state’s popularity among retirees.

In other words — it’s a classic case of supply and demand, with a healthy dose of bingo and water aerobics sprinkled in.

Share on Facebook Share on Twitter Send as email to a friend View on our website
Squarespace podcast graphic

Why Squarespace went all-in on podcasts

When it comes to podcast ads, few names are as prominent as Squarespace.

The website building company splashed out on a Super Bowl ad on Sunday, but has spent more than a decade filling our ears with promo codes.

The first Squarespace podcast ad…

… was in 2009. Founder and CEO Anthony Casalena paid ~$20k to run an ad on This Week in Tech, per The New York Times.

In a post-customer survey, Casalena discovered that ⅓ of Squarespace’s new subs came from the podcast. From this initial win, Squarespace went all-in on podcasts:

  • In 2015, Squarespace was spending 2.5x more on podcasts than the next highest company (
  • It has advertised on as many as 400 podcasts at once
  • It was once responsible for a third of all revenue for Midroll, a podcast ad placement platform

The economics make sense for Squarespace

When a customer sets up a website and domain, the cost — in time and money — of switching to another provider is very high.

According to NYT, “If they spent $500 on a podcast with a tiny audience and scored 20 subscribers, it was worth it.” And these ads often outperformed Facebook or Google.

Squarespace is now a public firm valued at $4B+. And while its Zendaya Super Bowl ad was good, we know what media format got the company here.

Share on Facebook Share on Twitter Send as email to a friend View on our website

Trends you’ve been missing out on:

  • VC Scouting: These low-key scouts are paid to source or invest in startups on behalf of VC firms. We roll around opportunities like scout schools, community marketplaces, and more.
  • #QasilPowder: The Gob tree product native to Somalia has over 1.3B views on TikTok, if you weren’t up on that. Interested in some juicy product opportunities?
  • Ask an expert: Platforms like Quora and JustAnswer are just the tip of the business of advice. We deliver 8 niches worth unbundling, sourced by the Trends team and community.

Niche market signals are a segment in the weekly Trends newsletter.

Try a $1 Trends trial for full access to our rolling list of industry reports and network of 17k+ professionals.

Try Trends for $1 →

🇨🇦 On this day: In 1965, Canada adopted its maple leaf flag. The country had been trying to get a new flag not linked to the British empire since 1925.

💰 How to: Inflation sucks right now. So, here are some tips from CNBC on adjusting your budget accordingly.

🎨 That’s cool: WikiUnseen is a project that commissions artists to create portraits of BIPOC who don’t currently have photos in their Wikipedia pages.

📺 Haha: Check out this analog television simulator for some glitchy nostalgia.

🤓 Cure boredom: You’ve mastered Wordle. Now can you solve 2 puzzles at the same time? Or 4?

Tweet of the day
Whole Foods meme

But they’re the FRESHEST apples… (Source: Twitter)

How did you like today’s email?

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​


How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[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>