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

📡 The TikTok war

The Hustle

The conflict in Ukraine has left us all rattled. Our hearts go out to our teammates there, and to the many vulnerable people in that region. 🇺🇦

In today’s email:

  • Social media: Its role in modern global conflicts.
  • Chart: People are watching Ukraine on TikTok.
  • Digital clothes: Why they matter even if you never buy any.
  • Around the web: What is flour really, a tool to chill, a singing cat, and more cool internet finds.

🎧 On the go? Listen to today’s podcast for a deeper dive into social media’s impact — both negative and positive — on global events.

The big idea
tank moving

Social media’s complicated role in the Russia-Ukraine conflict

In recent years, social media has provided a valuable window into global conflicts.

But as Russia prepared to invade Ukraine, several open-source intelligence analysts and reporters suspected that a Russian bot attack led to the suspension of their Twitter accounts, per Ars Technica.

What is open-source intelligence?

Open-source intelligence (OSINT) is derived from publicly available data, such as satellite imagery, CCTV footage, or images posted to social media.

OSINT communities are often active on Twitter, detailing conflicts in real time and combating misinformation.

“People share footage, geolocate it, try to identify the types of tanks, armed vehicles, that kind of stuff,” OSINT researcher Thomas van Linge told Yahoo! News.

As tensions mounted around Ukraine, researchers were able to look at public railway databases in Russia — since shut down — to see where trains traveled and what they carried, while satellite imagery showed Russian troops assembling at Ukrainian borders, per MarketWatch.

Researchers also determined a briefing between Russian president Vladimir Putin and his security council wasn’t broadcast live, as claimed, after analyzing participants’ wristwatches.

But while this can be valuable intel…

… Twitter suspended several OSINT accounts as Russia’s invasion of Ukraine loomed.

Many users suspected they’d been targeted by Russian bots that reported their content, leading Twitter to automatically remove it. (At the same time, Ukrainian government and financial websites were taken down by cyberattacks, per CNBC.)

Twitter admitted the accounts were suspended by mistake, but claimed no evidence of a bot attack, per The Verge.

Head of Site Integrity Yoel Roth tweeted that “a small number of human errors” — not mass reporting — was the issue.

And the other problem?

Anyone can post to social media, meaning not every post is a carefully vetted piece of information.

According to El País, pro-Russian separatists in Donetsk and Luhansk have shared videos of supposed Ukrainian attacks, which experts doubted as audio had been copied from another video.

And NBC News reporter Scott Budman tweeted that he received a tip about a video depicting a Russian attack — but it turned out to be a video game.

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

Hard Dew: Mountain Dew has released an alcoholic version in 4 flavors. However, you can only get it in Tennessee, Iowa, and Florida. #ecommerce-retail

More wind: Last year, Europe installed 17.4 gigawatts of wind power capacity — but it’s still not enough to meet climate goals. #clean-energy

Bot couch: Modular block robots could be helpful for astronauts who need to build furniture with limited space and tools. #emerging-tech

Ugh: Hackers are now going after already-stressed logistics companies, adding to supply chain woes. #privacy

China’s bitcoin mining ban has led to the “great mining migration,” or an influx in miners relocating elsewhere — including Nebraska. #fintech-crypto

Ooh la la: Google is bringing the bells and whistles back to its Bay Area office — including gyms and massages — as in-office work returns. It will also lift its covid testing policies. #big-tech


Visual: Selina Lee

To discuss Ukraine, many head to TikTok

TikTok has quickly become a source for news and commentary around the events in Ukraine. These TikToks fall into multiple categories, including:

With as many as 30% of Ukrainian internet users on TikTok, it’s likely this conflict will be viewed by many more eyeballs than those before it.

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

25 market-tested sales email templates

Great email outreach leaves impressions that lead to conversations.

Specialists at HubSpot, Breakthrough Email, and Sandler Training have nailed down sales copy that crushes. These narrative formulas will save you time, but not at the cost of personal touch.

Here are 25 templates, optimized for opens, clicks, and relationship-building.

Send these to your beloved salespeople ASAP:

  • Fill-in-the-blank email templates (first-touch, follow up, breakup)
  • Clear objectives and examples outlined for each message
  • Invaluable insights to help you respond with confidence

(Spoiler: the last email sequence closed $100k in 30 days.)

Download the doc →
Future of Fashion

Why digital fashion matters — even if you don’t buy any digital clothes

If you’re skeptical a digital hoodie will ever replace ol’ reliable, you may be right — but there’s more to digital fashion than dressing your avatar.

A recent piece by Vox serves as a primer on digital clothes, highlighting the use cases retailers and brands have embraced so far.

Much of the attention on digital fashion…

… has focused on the metaverse and crypto. But digital tools are changing some fundamental aspects of the fashion industry, including:

  • Events: Luxury brands like Balenciaga and Hanifa have staged digital fashion shows, experimenting with deepfake technology and 3D modeling to bring innovative effects to the experience
  • Design and Fitting: Brands like Burberry and Calvin Klein use 3D design software to create digital prototypes of garments that reduce waste

These use cases are why digital fashion expert Daniella Loftus believes more and more physical products will start with a “digital backend.”

What does that mean?

As more designers and retailers embrace software and modeling tools, digital fashion will become critical to the production process for physical fashion.

So even if we’re a long way from “what’s your avatar wearing tonight?” — digital fashion could still have a huge impact.

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

🥊 On this day: In 1964, Muhammad Ali won his 1st world title after knocking out Sonny Liston.

🎵 Useful: lets you customize a playlist from indie record labels. It suggests artists based on your Spotify playlist.

🍞 That’s cool: A deep dive into flour, how it’s made, and what defines different type🇺🇦 That’s interesting: Mike Sapiton, a tech editor at Forbes Ukraine, provides insight into the many products and technologies developed in Ukraine and how this conflict affects the world.

🧘 Chill out: Use this site to take a quick breather. It’s got relaxing music and pleasant colors.

🐈‍⬛ Aww: And now, a singing cat.

Tweet of the Day
support for Ukraine

Via Ukraine’s official Twitter account

Shower Thoughts
  1. “The internet would care much more if your dog was stabbed than if you were stabbed.”  SOURCE
  2. “Seeing someone consume multiple beers at a Chili’s at 9am is suspect. Move that Chili’s to inside an airport and suddenly it’s totally normal.”  SOURCE
  3. “The times before glasses were made [probably account for] why so many myths came to be. Because they couldn’t see as well, [some things] looked completely different.”  SOURCE
  4. “It’s socially acceptable for lower-class and higher-class people to live with their parents, but [it’s] frowned upon when middle-class [people do] it.”  SOURCE
  5. “Rickrolling inadvertently taught a lot of people about internet safety and not clicking random links.”  SOURCE
via Reddit

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>