<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>From Queen to Baby Shark – Infinum Wrapped 2021 | Infinum</title>
		<atom:link href="https://infinum.com/blog/infinum-wrapped-2021/feed/" rel="self" type="application/rss+xml" />
		<link>https://infinum.com/blog/infinum-wrapped-2021/</link>
		<description>Building digital products</description>
		<lastBuildDate>Tue, 07 Apr 2026 14:19:20 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>19094https://infinum.com/uploads/2021/12/infinum-wrapped-2021-0.webp</url>
				</image>
				<title>From Queen to Baby Shark – Infinum Wrapped 2021</title>
				<link>https://infinum.com/blog/infinum-wrapped-2021/</link>
				<pubDate>Mon, 20 Dec 2021 15:40:00 +0000</pubDate>
				<dc:creator>Mario Borna Mjertan</dc:creator>
				<guid isPermaLink="false">https://infinum.com/blog/infinum-wrapped-2021/</guid>
				<description>
					<![CDATA[<p>Finally, a playlist *everyone* will enjoy at parties, whenever parties become a thing again.</p>
<p>The post <a href="https://infinum.com/blog/infinum-wrapped-2021/">From Queen to Baby Shark – Infinum Wrapped 2021</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-363"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	2021 was eventful, to put it mildly.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	We continued our fight against Covid-19. <a href="https://www.bbc.com/news/technology-58473260">Bitcoin became legal tender in Ecuador</a>. Facebook somehow figured that the only thing they should change was their name. Protests about climate change shook the world. <a href="https://www.nytimes.com/2021/04/19/science/nasa-mars-helicopter.html">Ingenuity performed the first powered flight on another planet in history</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-99">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-100'
	>
	In addition to the anti-pandemic vaccination, <a href="https://www.theguardian.com/global-development/2021/oct/06/who-endorses-use-of-worlds-first-malaria-vaccine-in-africa">we started vaccinating people for malaria</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-102">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-103'
	>
	The hype about Spotify Wrapped</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	It seems we coped slightly better with the things going on in the world this year as opposed to the last. For some, it was because they were finally allowed to go back to the office and hang out with friends safely-ish after getting their shot(s). For others, it was the memes. And for some, it was music.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-108">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-109'
	>
	It’s always fun getting your Spotify Wrapped. The slight jabs about your music taste. The slight feeling of shame that you get when you realize that you’ve listened to a thousand minutes of trap turbo-folk. The immense feeling of delight when you find out you’re in the top 2% of listeners of Arctic Monkeys. The envy you feel for the people who were able to get a ticket for their concert in Pula. I digress, but you get the point. It’s a vibe.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	It’s also fun to share with your friends and colleagues to show them how superior your music taste is to theirs. As one of our project managers put it, in this little social experiment, everyone is eager to share their results, but not without a disclaimer that would <em>justify</em> the Justin Bieber in their top 5. Anyway, as we were sharing the results amongst ourselves, one thing led to another, and we ended up with a substantial public playlist called Infinum Wrapped.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-118"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="blockquote block-blockquote__blockquote" data-id="es-114">
	
	<div class="blockquote__content">
		<i
	class="icon blockquote__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='blockquote-24' data-id='es-115'>
	<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path clip-rule='evenodd' d='m12 24c6.6274 0 12-5.3726 12-12 0-2.79685-.9568-5.37021-2.561-7.41062-.581.22951-1.0832.60583-1.5069 1.12898-.5132.60844-.7698 1.41969-.7698 2.43375v.07605h2.5789v5.59004h-5.6197v-5.01962c0-1.11547.154-2.06616.4619-2.85205.3336-.81125.757-1.48307 1.2702-2.01545.528-.52161 1.1175-.92155 1.7687-1.1998-2.0728-1.70651-4.7279-2.73128-7.6223-2.73128-6.62742 0-12 5.37258-12 12 0 6.6274 5.37258 12 12 12zm-3.53811-18.05347c-.30793.78589-.46189 1.73658-.46189 2.85205v5.01962h5.6197v-5.59004h-2.5789v-.07605c0-1.01406.2566-1.82531.7698-2.43375.5389-.63379 1.1804-1.05209 1.9245-1.2549v-2.28164c-.7441.07605-1.4626.25351-2.1555.53238-.6928.27887-1.3086.68449-1.84752 1.21688-.51321.53238-.9366 1.2042-1.27019 2.01545z' fill='currentColor' fill-rule='evenodd'/></svg></i><p	class='typography typography--size-36-text js-typography blockquote__quote'
	data-id='es-116'
	>
	Infinum Wrapped 2021 is a 237-song, 15.5-hour monstrosity spanning from Russian rave music to Britney Spears and Lepa Brena. Even Baby Shark is on there.</p>
		<div class="blockquote__caption-wrap">
					</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-121"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-119">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-120'
	>
	Spotify has an API…</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-124"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-122">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-123'
	>
	Next thing you know, I had the idea to play around with Spotify’s API to see what kind of data we could get from our playlist.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-127"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-125">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-126'
	>
	It’s worth noting that Spotify’s API isn’t really your garden-variety API. Their API allows you to fetch metadata about pretty much all objects on Spotify – playlists included. Not only that, but it provides some very interesting data about particular tracks from the musical standpoint in a feature they call <em>Get Tracks’ Audio Features</em>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-130"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-128">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-129'
	>
	This includes features like <em>acousticness</em>, a confidence measure that the track is acoustic; <em>danceability</em>, which is basically Spotify’s guess of how likely it is that you’re going to embarrass yourself to this track after a few drinks, and <em>valence</em>, which is a measure that describes how happy the song sounds. Note that this doesn’t really correlate with whether or not the song is actually happy, and a great example of that would be the song Mr. Brightside.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-133"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-131">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-132'
	>
	We’re also able to get more information about tracks’ musical structure using their <em>Get Tracks’ Audio Analysis</em> feature, but to be honest, I’m not really into music theory.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-136"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-134">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-135'
	>
	However, Spotify’s API features gave me the idea to take a little peek at what kind of music Infinum listens to and answer questions nobody knew they wanted an answer to.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-139"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-137">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-138'
	>
	Getting the data</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-142"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-140">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-141'
	>
	As for getting the data, that’s fairly straightforward. Spotify has a pretty ordinary REST API interface, authenticated using OAuth2. We’ve written many times about APIs, both on <a href="https://infinum.com/blog/">the Infinum blog</a> and in our <a href="https://infinum.com/handbook/">Handbooks</a>, so I will be glossing over this a bit in the interest of time and not boring you.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-145"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-143">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-144'
	>
	To be able to connect to Spotify’s account, you’ll need a Spotify Developer account. Fortunately, it’s a free, one-click process at developer.spotify.com (looking at you, Apple). By going to Dashboard and logging in with your Spotify account, you’ll be able to create an app, fill in your redirect URL and get your OAuth2 ID and secret. After that, you just authorize against https://accounts.spotify.com/authorize and get your token. <a href="https://developer.spotify.com/documentation/general/guides/authorization/">Spotify has a great guide</a> for this if you want to follow along.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-148"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-146">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-147'
	>
	To make this as easy as possible, I’m using Postman to authenticate requests to Spotify, and you can use it, curl, or a similar tool to do so as well. After getting authorization using Postman, I’ll be using PHP to send requests to Spotify and analyze the responses.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-151"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-149">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-150'
	>
	After authentication, we can simply make an (authorized) request to get data about our playlist:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-153"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #005cc5;">GET</span><span class="token"> </span><span class="token" style="color: #005cc5;">https</span><span class="token">:</span><span class="token" style="color: #6a737d;">//</span><span class="token" style="color: #6a737d;">api.spotify.com/v1/playlists/1HYLxifwkdyUxxjDgGv31h</span><span class="token" style="color: #6a737d;">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-156"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-154">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-155'
	>
	Spotify responds with a mere 45 630-line response, detailing metadata of the playlist and all the songs in it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-159"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-157"
	 data-media-type='video'>

	<div class="video__wrapper" data-id="es-158">
		<video
		class="video block-media__video js-video js-block-media-video video--cursor-takeover-use"
		 loop autoplay playsinline muted preload='metadata'>
		<source  src='https://infinum.com/uploads/2022/03/Postman-1.mp4' type='video/mp4' />	</video>
	</div></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-162"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-160">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-161'
	>
	Assuming we’re using PHP, Composer and Guzzle, given a token, getting our playlist becomes nine lines of code:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-164"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #d73a49;">&lt;</span><span class="token" style="color: #d73a49;">?</span><span class="token" style="color: #005cc5;">php</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">include</span><span class="token"> </span><span class="token" style="color: #005cc5;">’vendor</span><span class="token" style="color: #d73a49;">/</span><span class="token" style="color: #005cc5;">autoload</span><span class="token" style="color: #d73a49;">.</span><span class="token" style="color: #005cc5;">php’</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">token</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">file_get_contents</span><span class="token">(</span><span class="token" style="color: #005cc5;">’</span><span class="token" style="color: #d73a49;">.</span><span class="token" style="color: #005cc5;">token’</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">spotifyClient</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #d73a49;">new</span><span class="token"> </span><span class="token" style="color: #005cc5;">\</span><span class="token" style="color: #005cc5;">GuzzleHttp</span><span class="token" style="color: #005cc5;">\</span><span class="token" style="color: #005cc5;">Client</span><span class="token">(</span><span class="token">[</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #005cc5;">’base_uri’</span><span class="token"> </span><span class="token" style="color: #d73a49;">=&gt;</span><span class="token"> </span><span class="token" style="color: #005cc5;">’https</span><span class="token">:</span><span class="token" style="color: #6a737d;">//</span><span class="token" style="color: #6a737d;">api.spotify.com/v1/’,</span><span class="token" style="color: #6a737d;">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #005cc5;">’headers’</span><span class="token"> </span><span class="token" style="color: #d73a49;">=&gt;</span><span class="token"> </span><span class="token">[</span><span class="token">
</span></span><span class="line"><span class="token">       </span><span class="token" style="color: #005cc5;">’Authorization’</span><span class="token"> </span><span class="token" style="color: #d73a49;">=&gt;</span><span class="token"> </span><span class="token" style="color: #005cc5;">’Bearer</span><span class="token"> </span><span class="token" style="color: #005cc5;">’</span><span class="token"> </span><span class="token" style="color: #d73a49;">.</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">token</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token">]</span><span class="token">
</span></span><span class="line"><span class="token">]</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">json_decode</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">spotifyClient</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">get</span><span class="token">(</span><span class="token" style="color: #005cc5;">’playlists</span><span class="token" style="color: #d73a49;">/</span><span class="token" style="color: #005cc5;">1</span><span class="token" style="color: #005cc5;">HYLxifwkdyUxxjDgGv31h’</span><span class="token">)</span><span class="token">-&gt;getBo</span><span class="token" style="color: #d73a49;">dy</span><span class="token">(</span><span class="token">)</span><span class="token" style="color: #6f42c1;">-&gt;getCont</span><span class="token" style="color: #6f42c1;">e</span><span class="token" style="color: #6f42c1;">n</span><span class="token">ts(</span><span class="token">)</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-167"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-165">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-166'
	>
	Or so you’d be fooled. This is a particularly large playlist, so Spotify paginates the responses, meaning we’ll have to do this in a few more requests.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-170"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-168">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-169'
	>
	Luckily, this is simple to do, as we can just follow a link they’re including in the response. We can simply fetch all of the items and save them to a file:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-172"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">next</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">tracks</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">next</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">tracks</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">items</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">i</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">1</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">while</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">next</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">json_decode</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">spotifyClient</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">get</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">next</span><span class="token">)</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">getBody</span><span class="token">(</span><span class="token">)</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">getContents</span><span class="token">(</span><span class="token">)</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">array_merge</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">items</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #005cc5;">file_put_contents</span><span class="token">(</span><span class="token" style="color: #032f62;">&quot;</span><span class="token" style="color: #032f62;">playlist.resp</span><span class="token" style="color: #032f62;">{</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">i</span><span class="token" style="color: #032f62;">}</span><span class="token" style="color: #032f62;">.json</span><span class="token" style="color: #032f62;">&quot;</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #005cc5;">json_encode</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token">)</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">next</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">playlist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">next</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">i</span><span class="token" style="color: #d73a49;">++</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-175"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-173">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-174'
	>
	The code above also constructs an array containing all tracks in the playlist and their metadata, which allows us to iterate over the tracks. Each member of the <code>$tracks</code> array is a <code>stdClass</code> object. This will come in handy for a lot of things, such as fetching each track’s musical features.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-178"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-176">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-177'
	>
	For instance, we can simply create an array with keys being user IDs and values being an array of track objects that they’ve added to the playlist like so:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-180"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">songsOfPeople</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token">[</span><span class="token">]</span><span class="token">;</span><span class="token"> 
</span></span><span class="line"><span class="token" style="color: #d73a49;">foreach</span><span class="token"> </span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">as</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">songsOfPeople</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">added_by</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">id</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">array_merge</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">songsOfPeople</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">added_by</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">id</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">??</span><span class="token"> </span><span class="token">[</span><span class="token">]</span><span class="token">,</span><span class="token"> </span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token">]</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-183"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-181">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-182'
	>
	(Arrays in PHP are an amazing thing, really. They’ll be carrying a lot throughout this article.)</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-186"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-184">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-185'
	>
	We can also iterate over each track’s artists to count how many times a certain artists appears in the playlist:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-188"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #d73a49;">foreach</span><span class="token"> </span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">as</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #d73a49;">foreach</span><span class="token"> </span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">artists</span><span class="token"> </span><span class="token" style="color: #d73a49;">as</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artist</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">       </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artists</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">name</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artists</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">name</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">??</span><span class="token"> </span><span class="token" style="color: #005cc5;">0</span><span class="token">)</span><span class="token"> </span><span class="token" style="color: #d73a49;">+</span><span class="token"> </span><span class="token" style="color: #005cc5;">1</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-191"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-189">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-190'
	>
	Now that’s done, we can already start doing some analysis. But first, let’s fetch a bit more data about each song – the audio features we discussed previously.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-194"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-192">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-193'
	>
	Fetching that data, caching it to a file and mapping it to a song in an array now becomes just a few lines of code:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-196"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">trackAudioFeatures</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token">[</span><span class="token">]</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">foreach</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">as</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">trackId</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">id</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">audioFeatures</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">json_decode</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">spotifyClient</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">get</span><span class="token">(</span><span class="token" style="color: #032f62;">&quot;</span><span class="token" style="color: #032f62;">audio-features/</span><span class="token" style="color: #032f62;">{</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">trackId</span><span class="token" style="color: #032f62;">}</span><span class="token" style="color: #032f62;">&quot;</span><span class="token">)</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">getBody</span><span class="token">(</span><span class="token">)</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #6f42c1;">getContents</span><span class="token">(</span><span class="token">)</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">trackAudioFeatures</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">trackId</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">audioFeatures</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #005cc5;">file_put_contents</span><span class="token">(</span><span class="token" style="color: #032f62;">&quot;</span><span class="token" style="color: #032f62;">audio-features/</span><span class="token" style="color: #032f62;">{</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">TrackId</span><span class="token" style="color: #032f62;">}</span><span class="token" style="color: #032f62;">.json</span><span class="token" style="color: #032f62;">&quot;</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #005cc5;">json_encode</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">audioFeatures</span><span class="token">)</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #005cc5;">usleep</span><span class="token">(</span><span class="token" style="color: #005cc5;">300000</span><span class="token">)</span><span class="token">;</span><span class="token"> </span><span class="token" style="color: #6a737d;">//</span><span class="token" style="color: #6a737d;"> Let’s avoid getting rate limited</span><span class="token" style="color: #6a737d;">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-199"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-197">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-198'
	>
	What does Infinum sound like?</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-202"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-200">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-201'
	>
	I know you came here for the juicy findings, not for the PHP code leading to them, so let’s dig into that.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-205"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-203">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-204'
	>
	Keep in mind that a total of 48 people added songs to this playlist. This amounts to about 13% of Infinum, which isn’t really representative of us as a whole. Still, it’s fun and gives you a little insight into how different we all are.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-208"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-206">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-207'
	>
	The most popular artists</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-211"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-209">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-210'
	>
	The easiest question to answer, it would seem. But as most things in life and software, that ease is a deception.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-214"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-212">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-213'
	>
	To get any kind of meaning from our data, we’ll have to analyse <em>people’s</em> relationships with music, not just the music itself.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-217"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-215">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-216'
	>
	For instance, just counting the number of times an artist shows up on the playlist would give us the impression that the British progressive metal band Monuments is the most popular artist at Infinum, with it being added to the playlist five times. This type of analysis is completely oblivious to the fact that a single person seemingly only listens to Monuments and has added five of their songs to the playlist. Nobody else taking part in our experiment added any of their songs.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-220"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-218">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-219'
	>
	Fortunately, we can build an array mapping artists to the (unique) users who’ve added them to the playlist.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-222"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #d73a49;">foreach</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">tracks</span><span class="token"> </span><span class="token" style="color: #d73a49;">as</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">       </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artists</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">name</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #005cc5;">array_unique</span><span class="token">(</span><span class="token" style="color: #005cc5;">array_merge</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artists</span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artist</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">name</span><span class="token">]</span><span class="token"> </span><span class="token" style="color: #d73a49;">??</span><span class="token"> </span><span class="token">[</span><span class="token">]</span><span class="token">,</span><span class="token"> </span><span class="token">[</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">track</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">added_by</span><span class="token" style="color: #d73a49;">-&gt;</span><span class="token" style="color: #24292e;">id</span><span class="token">]</span><span class="token">)</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #005cc5;">SORT_REGULAR</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-225"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-223">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-224'
	>
	We can even nicely sort them by the number of times they appear to make our job of finding the most popular ones easier:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-227"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-php github-light" data-language="php" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token" style="color: #005cc5;">uasort</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">artists</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #d73a49;">function</span><span class="token"> </span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">a</span><span class="token">,</span><span class="token"> </span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">b</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">   </span><span class="token" style="color: #d73a49;">return</span><span class="token"> </span><span class="token" style="color: #005cc5;">count</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">a</span><span class="token">)</span><span class="token"> </span><span class="token" style="color: #d73a49;">&lt;=&gt;</span><span class="token"> </span><span class="token" style="color: #005cc5;">count</span><span class="token">(</span><span class="token" style="color: #24292e;">$</span><span class="token" style="color: #24292e;">b</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-230"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-228">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-229'
	>
	This gives us a five-way tie for our first annual “Most popular artist according to a selection of Infinum’s employees” award. Before we reveal who the winners are, here are a few quick facts:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-233"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-231">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-232'
	>
	<li>We added 268 distinct artists to the playlist</li><li>We have a 10-way tie for the second place of this prestigious award</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-236"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-234">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-235'
	>
	The second-place artists have two listeners, while the winners have three. This was bound to happen on such a small sample, but it also gives you a little insight into our collective differences.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-239"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-237">
	<h4	class='typography typography--size-24-text js-typography block-heading__heading'
	data-id='es-238'
	>
	This year, most Infinum employees listened to Ed Sheeran, Senidah, The Weeknd, Lil Nas X and Hurricane.</h4></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-242"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-240">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-241'
	>
	The runner-up artists included Elder Island, Travis Scott, Dua Lipa, Relja, Krankšvester, Justin Bieber, Svemirko, Bryan Adams, Steve Lacy, and Pocket Palma.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-245"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-243">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-244'
	>
	The most popular genre</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-248"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-246">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-247'
	>
	But of course, just looking at the artist counts wouldn’t be enough, would it? If we look at the genre counts (after fetching them in a similar fashion to what we’ve done above), we can get a bit closer to knowing Infinum’s taste in music. And it’s not a tie this time – not even close.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-251"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-249">
	<h4	class='typography typography--size-24-text js-typography block-heading__heading'
	data-id='es-250'
	>
	The most popular genre is pop, with 40 out of the 268 distinct artists being classified as pop. It’s followed by dance pop, in an anticlimactic result, with 26 matched artists. However, dance pop is closely (off-by-one) followed by rock, after which comes turbo folk with 19 artists matching it.</h4></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-254"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-252">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-253'
	>
	We also like tropical house, EDM and rap, all of which have 15 matched artists. Guess you could say we like <a href="https://open.spotify.com/track/3C4zTz1HUIeiMc7qbL2bLW?si=ed79645a9dee4718">dancing with our long legs</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-257"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-255">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-256'
	>
	As for whether or not we’re hipsters, it’s hard to say. Looking at the popularity of the songs on the playlist, they’re everywhere. Spotify measures the popularity as the popularity of the artist: “The value will be between 0 and 100, with 100 being the most popular. The artist’s popularity is calculated from the popularity of all the artist’s tracks.”</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-260"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-258">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-259'
	>
	In our case, popularity has a minimum of 0 – someone’s really into <a href="https://en.wikipedia.org/wiki/Carla_Bruni">obscure artists like Sarkozy’s wife Carla Bruni</a>, and a maximum of 97 (maybe someone has a side gig of being a radio DJ), with the average being around 53 – authentically average.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-263"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-261"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-262">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/infinum-wrapped-2021-1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="513"
															width="831"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			Distribution of song popularities graph		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-266"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-264">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-265'
	>
	Putting Spotify’s metrics into graphs</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-271"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="blockquote block-blockquote__blockquote" data-id="es-267">
	
	<div class="blockquote__content">
		<i
	class="icon blockquote__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='blockquote-24' data-id='es-268'>
	<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path clip-rule='evenodd' d='m12 24c6.6274 0 12-5.3726 12-12 0-2.79685-.9568-5.37021-2.561-7.41062-.581.22951-1.0832.60583-1.5069 1.12898-.5132.60844-.7698 1.41969-.7698 2.43375v.07605h2.5789v5.59004h-5.6197v-5.01962c0-1.11547.154-2.06616.4619-2.85205.3336-.81125.757-1.48307 1.2702-2.01545.528-.52161 1.1175-.92155 1.7687-1.1998-2.0728-1.70651-4.7279-2.73128-7.6223-2.73128-6.62742 0-12 5.37258-12 12 0 6.6274 5.37258 12 12 12zm-3.53811-18.05347c-.30793.78589-.46189 1.73658-.46189 2.85205v5.01962h5.6197v-5.59004h-2.5789v-.07605c0-1.01406.2566-1.82531.7698-2.43375.5389-.63379 1.1804-1.05209 1.9245-1.2549v-2.28164c-.7441.07605-1.4626.25351-2.1555.53238-.6928.27887-1.3086.68449-1.84752 1.21688-.51321.53238-.9366 1.2042-1.27019 2.01545z' fill='currentColor' fill-rule='evenodd'/></svg></i><p	class='typography typography--size-36-text js-typography blockquote__quote'
	data-id='es-269'
	>
	As mentioned earlier, Spotify provides access into their musical insights. This means that we can check how happy Spotify thinks a given song is, according to its tempo, energy, and more.</p>
		<div class="blockquote__caption-wrap">
					</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-274"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-272">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-273'
	>
	If we were mathematically inclined, we could perhaps find the graph of how these metrics are distributed… So we did just that.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-277"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-275">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-276'
	>
	Danceability</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-280"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-278">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-279'
	>
	The X-axis shows the danceability metric, while the y-axis shows the number of songs “less or equally danceable to” than the X-axis.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-283"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-281"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-282">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/infinum-wrapped-2021-2.webp"
					class="image__img block-media__image-img"
					alt=""
										height="585"
															width="975"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			Danceability distribution		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-286"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-284">
	<h4	class='typography typography--size-24-text js-typography block-heading__heading'
	data-id='es-285'
	>
	It seems that we really like dancing – an average song on our playlist has a danceability score of 0.63, which means Spotify thinks that there’s a 63% chance that you’ll <a href="https://open.spotify.com/track/2HZ0bWCh5uDaxVMBEwRGaT?si=6ed34219bf494eeb">break some crystal glasses to them</a>.</h4></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-289"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-287">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-288'
	>
	The least danceable song on our playlist with a pitiful danceability score of just 0.12 is Maenam by Jami Sieber, an acoustic cello recording. The most danceable song on here, however, has an amazing danceability score of 0.929 and it’s Marinade by DOPE LEMON, which did surprise me a bit. Also, what an amazing name DOPE LEMON is.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-292"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-290">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-291'
	>
	As for tempo, we usually keep ourselves around 120 BPM, but songs go everywhere from 48 BPM up to 121. Loudness is also a bit all over the place, averaging -7.3 dB, but going from -17.29 dB up to -1.7 dB.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-295"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-293">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-294'
	>
	Energy</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-298"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-296">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-297'
	>
	Spotify also has the <em>energy</em> metric, which is a mathematical way to describe the difference between Bach and death metal, according to their documentation:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-301"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-299">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-300'
	>
	Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-304"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-302">
	<h4	class='typography typography--size-24-text js-typography block-heading__heading'
	data-id='es-303'
	>
	The least energetic song on this playlist scores a mere 0.127 on the scale, and unsurprisingly, it’s <em>Tiho, Tiho</em> (meaning <em>Quiet, quiet</em>) by the Croatian new-wave band <em>Idoli</em>. The polar opposite of this song on our playlist is <em>Benbare &amp; Saundsistemi</em> (meaning <em>BMWs &amp; Soundsystems</em>) by the Croatian band <em>Krankšvester</em>, scoring the amazing 0.994 score on Spotify’s scale.</h4></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-307"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-305">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-306'
	>
	It’s hard to top that score! On average, though, songs on our playlist score a respectable energy metric of 0.684. Maybe we drink too much coffee.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-310"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-308">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-309'
	>
	Valence, a.k.a. happiness</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-313"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-311"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-312">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/infinum-wrapped-2021-3.webp"
					class="image__img block-media__image-img"
					alt=""
										height="598"
															width="991"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			Track energy distribution		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-316"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-314">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-315'
	>
	We’re down to the last question I’d like to answer here – and it’s the ultimate one. How happy are we? Unfortunately, HR told me I’m deeply unqualified to answer that question, and the <a href="https://infinum.com/news/infinum-pdc-productive-best-employer-croatia/">latest evidence suggests we’re a very happy bunch indeed</a>, so l can only take a look at how happy the songs we listen to are.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-319"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-317">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-318'
	>
	Fortunately, this is made easy by Spotify’s <em>valence</em> metric which they describe as “a measure from 0.0 to 1.0 describing the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry).”</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-322"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-320">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-321'
	>
	And it’s an interesting thing to look at. Without revealing the songs in question just yet, let’s take a look at the distribution graph.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-325"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-323"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-324">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/infinum-wrapped-2021-4.webp"
					class="image__img block-media__image-img"
					alt=""
										height="683"
															width="1112"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			Valence distribution		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-328"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-326">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-327'
	>
	From the graph, we can see that this is almost a line. A bit wobbly, though. This means that the pace of growth for our valence metric is steady throughout the dataset – the happiness of songs is almost perfectly equally distributed throughout the playlist. It is a bit steeper on the happy end, though, so it seems like we do listen to happy music than tearjerkers.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-331"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-329">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-330'
	>
	This makes our average valence score of 0.539 absolutely unsurprising.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-334"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-332">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-333'
	>
	The minimum valence score of 0.0338 is achieved by the song <em>Lead Squid</em> by <em>The Kilimanjaro Darkjazz Ensamble</em>. I took a quick listen, and it really does sound dark. Maybe it’s just me, but I’m getting weird <em>evil magical forest</em> vibes from it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-337"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-335">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-336'
	>
	There are 10 more songs that score less than 0.1. Gotta check if my teammates are okay. But we’re not here for the dark, evil vibes. We want to find out who’s <em>maximum happy</em>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-340"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-338">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-339'
	>
	Without further ado, with the valence score of 0.985, the happiest-sounding song in our playlist is <a href="https://open.spotify.com/track/7rLokcIMP9p8fl0iROdVfC?si=c86e53c181e94d2e">a live rendition of Alicia Keys’ <em>ocean eyes</em></a>. At least according to Spotify. Got a feeling some of us might disagree.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-343"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-341">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-342'
	>
	It’s closely followed by <em>Sukadar Bukadar</em> by <em>Valentino Bošković</em> and <em>Sun Comes Up</em> by <em>Rudimental</em> and <em>James Arthur</em>, both of which score 0.966 on the valence metric and sound more like it. They also get close competition from <em>Grubišno polje</em> by <em>JeboTon Ansambl</em> and <em>Stuck In The Middle</em> by <em>Stealers Wheel</em>, which score 0.965 and 0.964 respectively.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-346"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-344">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-345'
	>
	Wrapping up Infinum Wrapped</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-349"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-347">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-348'
	>
	If you ever find yourself at a gig, chances are you’ll meet someone from Infinum.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-352"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-350">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-351'
	>
	By now you’ve figured there’s no need to specify which kind of a gig – you could meet us at Senidah and Milica Todorović, Carla Bruni, ДЕТИ RAVE, Tame Impala, or Lil Nas X. We’re really a diverse bunch in that regard.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-355"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-353">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-354'
	>
	However, if you’re at a party and you see <a href="https://open.spotify.com/track/3kjGClDUghXsyC1poi59iI?si=bf90628fd7ee436c">a bunch of men taking off their shirts to this song</a>, it’s 100% somebody from Infinum. It’s basically our company’s anthem, and <a href="https://www.youtube.com/watch?v=6LaKwMArtNk">we even made a film inspired by it</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-358"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-356">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-357'
	>
	Speaking of film, that’s a wrap. Now you know what we sound like. If you’d like to know even more about us, <a href="https://infinum.com/careers/">check out our careers page</a> and maybe next year you’ll be rocking (or taking your shirt off) to Program tvog kompjutera with us.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-361"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-359">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-360'
	>
	Until then, enjoy Infinum Wrapped and let’s hope the sound of 2022 will be music to everyone’s ears.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/infinum-wrapped-2021/">From Queen to Baby Shark – Infinum Wrapped 2021</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>