<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Adityeah’s Newsletter: Tech for PMs]]></title><description><![CDATA[Start your product management journey here. This section is dedicated to aspiring PMs—covering essential skills, learning resources, career advice, and steps to land your first role. Whether you’re exploring the field or actively preparing for interviews, find all you need to kickstart your path to product management success.]]></description><link>https://news.adityeah.in/s/becoming-a-pm</link><image><url>https://substackcdn.com/image/fetch/$s_!EG3O!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13060973-a126-4423-a1a7-8976241cadbd_1024x1024.png</url><title>Adityeah’s Newsletter: Tech for PMs</title><link>https://news.adityeah.in/s/becoming-a-pm</link></image><generator>Substack</generator><lastBuildDate>Wed, 08 Apr 2026 01:44:07 GMT</lastBuildDate><atom:link href="https://news.adityeah.in/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Aditya]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[adityeah@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[adityeah@substack.com]]></itunes:email><itunes:name><![CDATA[Aditya]]></itunes:name></itunes:owner><itunes:author><![CDATA[Aditya]]></itunes:author><googleplay:owner><![CDATA[adityeah@substack.com]]></googleplay:owner><googleplay:email><![CDATA[adityeah@substack.com]]></googleplay:email><googleplay:author><![CDATA[Aditya]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Technical Jargon for Product Managers: A Guide to Feeling Confident in 2025]]></title><description><![CDATA[One of the most common insecurities for product managers (PMs) is their technical skills.]]></description><link>https://news.adityeah.in/p/technical-jargon-for-product-managers-a-guide-to-feeling-confident-in-2025</link><guid isPermaLink="false">https://news.adityeah.in/p/technical-jargon-for-product-managers-a-guide-to-feeling-confident-in-2025</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Tue, 11 Feb 2025 16:54:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a551e83b-5a0f-4ae7-8686-8bd81950eca8_1600x883.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6ApF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6ApF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6ApF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185449,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132832?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6ApF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!6ApF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcd4725-3c4b-4c01-8606-ab68320cdda3_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One of the most common insecurities for product managers (PMs) is their technical skills. While you don&#8217;t need to be an engineer, having a solid understanding of how software works can help you communicate effectively with your team, manage risks, and make better product decisions. Let&#8217;s break down the technical jargon and concepts you need to know to feel more confident in 2025 and beyond.</p><div><hr></div><h2><strong>How Internet Software Works: The Core Components</strong></h2><p>All internet-based software products follow the same foundational architecture. They consist of three main components:</p><ol><li><p><strong>Client</strong>: This is what your users interact with directly. Examples include websites, mobile apps, smart devices like Tesla cars, or even smart fridges.</p></li><li><p><strong>Server</strong>: This is the brain of the operation. It processes requests from the client, fetches or stores data, and performs actions like syncing your Google Calendar.</p></li><li><p><strong>Database</strong>: This is where all the data is permanently stored. Think of it as the filing cabinet for your application.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0pT5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0pT5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0pT5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92b32349-126b-4e0b-a214-189d7a018434_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!0pT5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!0pT5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92b32349-126b-4e0b-a214-189d7a018434_906x500.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each of these components can be broken down into smaller, more specialized parts. Building scalable, well-organized software requires careful planning and execution. Let&#8217;s dive deeper into each of these components.</p><div><hr></div><h2><strong>Frontend: What Users See and Interact With</strong></h2><p>The&nbsp;<strong>frontend</strong>&nbsp;is the part of the application that users interact with directly. It&#8217;s the code that runs on the user&#8217;s device, whether it&#8217;s a browser, a mobile app, or a smart device. Frontend development involves creating intuitive, responsive, and visually appealing interfaces.</p><h3><strong>Key Technologies in Frontend Development</strong></h3><ul><li><p><strong>HTML (HyperText Markup Language)</strong>: This defines the structure of a webpage. It outlines where elements like headings, paragraphs, and buttons appear.</p></li><li><p><strong>CSS (Cascading Style Sheets)</strong>: This controls the styling of the page, including fonts, colors, spacing, and layouts.</p></li><li><p><strong>JavaScript (JS)</strong>: This adds interactivity to the page. For example, it allows animations to play, forms to be submitted, or new data to be loaded without refreshing the page.</p></li></ul><h3><strong>Frontend Frameworks</strong></h3><p>As web applications have grown more complex, developers have turned to frameworks to streamline their work. These frameworks provide pre-built tools and components, making it easier to organize code and build scalable applications. Popular frontend frameworks include:</p><ul><li><p><strong>React</strong>: Developed by Facebook, React is widely used for building dynamic user interfaces.</p></li><li><p><strong>Vue</strong>: Known for its simplicity and flexibility, Vue is a great choice for smaller projects or teams.</p></li><li><p><strong>Angular</strong>: A robust framework maintained by Google, Angular is ideal for large-scale enterprise applications.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rkzq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rkzq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rkzq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Rkzq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!Rkzq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e7529f-08f8-44b3-aebb-d6de7c28315f_1024x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>How Frontend and Backend Communicate</strong></h3><p>The frontend communicates with the backend using&nbsp;<strong>HTTP requests</strong>. These requests are sent to specific&nbsp;<strong>endpoints</strong>&nbsp;(like a mailbox) on the server. Common types of HTTP requests include:</p><ul><li><p><strong>GET</strong>: Retrieve information (e.g., loading a user&#8217;s profile).</p></li><li><p><strong>POST</strong>: Submit information (e.g., creating a new account).</p></li><li><p><strong>PATCH/PUT</strong>: Update information (e.g., changing a user&#8217;s password).</p></li><li><p><strong>DELETE</strong>: Remove information (e.g., deleting a post).</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SWCf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SWCf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 424w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 848w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 1272w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SWCf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png" width="800" height="320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!SWCf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 424w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 848w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 1272w, https://substackcdn.com/image/fetch/$s_!SWCf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8d4aa-133b-45de-a90f-178a1ae19a86_1024x409.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Backend: The Engine Behind the Scenes</strong></h2><p>The&nbsp;<strong>backend</strong>&nbsp;is where the magic happens. It&#8217;s the part of the application that users don&#8217;t see but is critical for processing data, handling business logic, and ensuring everything runs smoothly. Backend code is not distributed to users&#8212;it runs on servers hosted in the cloud.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eNr6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eNr6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eNr6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Backend&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Backend" title="Backend" srcset="https://substackcdn.com/image/fetch/$s_!eNr6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!eNr6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac580c4-7951-4b65-a4db-f4780cbff3ed_1024x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Cloud Hosting Providers</strong></h3><p>Most modern backend systems are hosted on cloud platforms like:</p><ul><li><p><strong>Amazon Web Services (AWS)</strong>: The most widely used cloud provider, offering services like EC2 (servers), S3 (file storage), and Lambda (serverless functions).</p></li><li><p><strong>Google Cloud Platform (GCP)</strong>: Known for its data analytics and machine learning capabilities.</p></li><li><p><strong>Microsoft Azure</strong>: A popular choice for enterprises, especially those already using Microsoft products.</p></li></ul><p>These platforms allow you to rent computing resources like servers, databases, and storage, which can be scaled up or down based on demand.</p><h3><strong>Key Backend Components</strong></h3><ul><li><p><strong>API Gateways</strong>: Act as the front door to your backend, routing incoming requests to the appropriate services.</p></li><li><p><strong>Caches</strong>: Temporary storage for frequently accessed data, speeding up response times.</p></li><li><p><strong>Queues</strong>: Help manage high volumes of requests by storing them until they can be processed.</p></li><li><p><strong>Content Delivery Networks (CDNs)</strong>: Store static files like images and videos in multiple locations worldwide to reduce load times for users.</p></li></ul><h2><strong>Scaling: Handling Growth Without Breaking</strong></h2><p>As your product grows, so does the demand on your backend.&nbsp;<strong>Scaling</strong>&nbsp;is the process of adding resources to handle increased traffic and ensure your application remains fast and reliable.</p><h3><strong>Types of Scaling</strong></h3><ol><li><p><strong>Horizontal Scaling</strong>: Adding more machines to distribute the load. For example, going from 1 server to 10 servers.</p></li><li><p><strong>Vertical Scaling</strong>: Upgrading existing machines with better hardware, such as more memory or faster processors.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!URko!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!URko!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!URko!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!URko!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!URko!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!URko!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eee46b47-113f-46d2-8994-bea0854d4549_1024x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scaling&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scaling" title="Scaling" srcset="https://substackcdn.com/image/fetch/$s_!URko!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!URko!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!URko!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!URko!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee46b47-113f-46d2-8994-bea0854d4549_1024x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Challenges of Scaling</strong></h3><p>Scaling isn&#8217;t just about adding more resources&#8212;it&#8217;s about ensuring the entire system can handle the increased load. Common challenges include:</p><ul><li><p><strong>Bottlenecks</strong>: One component (e.g., the database) may become a bottleneck if it can&#8217;t handle the increased traffic.</p></li><li><p><strong>Cost</strong>: Scaling can become expensive, so it&#8217;s important to optimize resources.</p></li><li><p><strong>Complexity</strong>: As you add more components, the system becomes harder to manage.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hCy8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hCy8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hCy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scaling challenges&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scaling challenges" title="Scaling challenges" srcset="https://substackcdn.com/image/fetch/$s_!hCy8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!hCy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289f2913-8abc-4a8e-a441-c1ea3f405b83_1024x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Tools for Scaling</strong></h3><ul><li><p><strong>Pub/Sub</strong>: A messaging system where one server publishes a message, and others subscribe to it.</p></li><li><p><strong>Kubernetes</strong>: A tool for automating the deployment and management of containers (packaged applications).</p></li><li><p><strong>Batching</strong>: Grouping multiple requests together to improve efficiency.</p></li><li><p><strong>Rate Limiting</strong>: Controlling the number of requests a user or service can make in a given time period.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!koKm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!koKm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!koKm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!koKm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!koKm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!koKm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9692961e-8d9d-4720-bc81-db667af33672_1024x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!koKm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 424w, https://substackcdn.com/image/fetch/$s_!koKm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 848w, https://substackcdn.com/image/fetch/$s_!koKm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 1272w, https://substackcdn.com/image/fetch/$s_!koKm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9692961e-8d9d-4720-bc81-db667af33672_1024x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Common Backend Terms Every PM Should Know</strong></h2><ul><li><p><strong>Pubsub:</strong>&nbsp;A queue. A message is sent in to the queue (published) and one or more servers can receive it (subscribe)</p></li><li><p><strong>EC2:&nbsp;</strong>A product offered by AWS to run a server (Elastic Compute Capacity)</p></li><li><p><strong>S3:&nbsp;</strong>A product offered by AWS to store files (Simple Storage Service)</p></li><li><p><strong>SQS:&nbsp;</strong>A product offered by AWS to run a queue (Simple Queue Service)</p></li><li><p><strong>SES:&nbsp;</strong>A product offered by AWS to send emails (Simple Email Service)</p></li><li><p><strong>Lambda:&nbsp;</strong>A product offered by AWS to rent a server for a very short period of time</p></li><li><p><strong>Containers:&nbsp;</strong>Document everything you need to run your application in one file</p></li><li><p><strong>Kubernetes:&nbsp;</strong>Deploy a container to a server and manage all your servers automatically</p></li><li><p><strong>Batching:&nbsp;</strong>Grouping requests together instead of sending them one at a time</p></li><li><p><strong>Rate limit:&nbsp;</strong>The maximum number of requests that can be processed in some duration</p></li><li><p><strong>Microservice:&nbsp;</strong>A set of resources (server, database, queue) that are built to do a specific task, like handling billing, notifications, recommendations, etc.</p></li></ul><h2><strong>Why This Matters for Product Managers</strong></h2><p>Understanding these technical concepts isn&#8217;t about replacing your engineering team&#8212;it&#8217;s about empowering yourself to:</p><ul><li><p><strong>Communicate Effectively</strong>: Speak the same language as your engineers and align on goals.</p></li><li><p><strong>Manage Risk</strong>: Identify potential technical challenges early in the product development process.</p></li><li><p><strong>Make Informed Decisions</strong>: Evaluate trade-offs between different technical approaches.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[What's a Relational Database?]]></title><description><![CDATA[The TL;DR]]></description><link>https://news.adityeah.in/p/whats-a-relational-database</link><guid isPermaLink="false">https://news.adityeah.in/p/whats-a-relational-database</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Mon, 10 Feb 2025 14:54:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/45a1694c-7960-4601-a61c-39cff8086da2_906x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1ONk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1ONk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1ONk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/adb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136638,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132828?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1ONk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!1ONk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadb59c59-de3c-4e74-a670-2d8bca074f86_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2><strong>The TL;DR</strong></h2><p>A relational database is sort of like Excel, but for developers: it&#8217;s how applications store and analyze data.&nbsp;&nbsp;</p><ul><li><p>Relational databases like MySQL and PostgreSQL are the&nbsp;<strong>default software for storing data</strong></p></li><li><p>Relational DBs are&nbsp;<strong>all about schemas</strong>: rules for how data is stored and organized</p></li><li><p>Inserting data into relational DBs follows the&nbsp;<strong>ACID specification</strong></p></li><li><p><strong>SQL</strong>&nbsp;is a type of programming language that lets you&nbsp;<strong>pull and analyze</strong>&nbsp;the data in your relational DB</p></li></ul><p>Relational DBs power at least part of almost every single application that you use in your day to day. So read this.</p><h2><strong>What&#8217;s a relational database?</strong></h2><p><strong>&#8594; First: what&#8217;s a database in general</strong></p><p>A database is just a place to store data; even Excel is technically a database. But when developers talk about databases, they&#8217;re usually referring to&nbsp;<em>specialized software</em>&nbsp;that&#8217;s used to store data from&nbsp;<em>applications</em>. When you sign up for Facebook, a new entry gets added to Facebook&#8217;s users database with a bunch of information about you; every time you sign in after that, that data gets pulled and used (this is part of&nbsp;<a href="https://technically.substack.com/p/whats-an-api">what a backend is</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TzY5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TzY5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TzY5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp" width="800" height="909" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:909,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What a database does?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What a database does?" title="What a database does?" srcset="https://substackcdn.com/image/fetch/$s_!TzY5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!TzY5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bbb4b86-0b71-48f2-a347-afcf38a70054_901x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are thousands of different databases out there, all optimized for different types of applications, some free and some paid. Some popular ones you might have heard of: MySQL, PostgreSQL, and MongoDB.&nbsp;</p><blockquote><p>&#128680;&nbsp;<strong>Confusion Alert</strong>&nbsp;&#128680;</p><p>People use &#8220;database&#8221; to refer to a lot of different things: most of the time it&#8217;s our topic (programmatically accessed data stores), but you might also hear about &#8220;my database of top CEOs&#8221; or something like that, which is probably a spreadsheet. Just listen for the context and you should be fine.&nbsp;</p><p>&#128680;&nbsp;<strong>Confusion Alert</strong>&nbsp;&#128680;</p></blockquote><p><strong>&#8594; Second: what&#8217;s a relational database</strong></p><p>Relational databases are the most popular kind of DBs, and they&#8217;re pretty simple: they add&nbsp;<strong>rigidity and rules</strong>&nbsp;around how data is stored. To understand what that means, let&#8217;s imagine we&#8217;re moving across the country (<em>yes</em>&nbsp;I&#8217;m still crying,&nbsp;<em>no</em>&nbsp;I don&#8217;t want to talk about it). You&#8217;ve got a ton of stuff in your house: clothes, furniture, random keychains that you can&#8217;t let go of, and kitchenware, among other things. How do you store / pack all of that?</p><ul><li><p>You could throw everything in random boxes, like back in college&nbsp;</p></li></ul><p><em>or</em></p><ul><li><p>You could organize things by size or category, and pack and label specific boxes</p></li></ul><p>There&#8217;s a&nbsp;<strong>clear tradeoff</strong>&nbsp;here between speed and efficiency. Packing properly takes a lot more time, but allows you to make better use of space and more easily find your stuff later. It turns out that databases have the exactly same tradeoff, and relational DBs are like packing properly instead of throwing stuff in.&nbsp;</p><p>In relational databases, you specify everything about your data up front:&nbsp;</p><ul><li><p>What type it is (text, number, yes/no, etc.)</p></li><li><p>How it&#8217;s organized (different tables, how those tables are related to each other, etc.)</p></li><li><p>Names for everything (columns)</p></li></ul><p>All of this together is called a&nbsp;<strong>schema</strong>, and it&#8217;s the basis of relational DBs. But why are they called relational?</p><h2><strong>Relations, take 2</strong></h2><p>A relational database is called what it is because of the&nbsp;<em>relationships it models&nbsp;</em>between your data.</p><p>In a relational DB, data is organized into&nbsp;<strong>tables with rows and columns</strong>: you might have a table for data about your app&#8217;s users, as well as a table for your app&#8217;s orders. Those tables are related, because each order has a user that made that order. Big applications can have&nbsp;<strong>hundreds or thousands of those tables</strong>, and you need to define the relations between them for it to work well.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VTCH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VTCH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VTCH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp" width="800" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!VTCH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!VTCH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c53699-aec9-4ced-8e52-f72119241b23_946x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this diagram (and, I&#8217;m guessing, in Amazon&#8217;s internal systems) there&#8217;s a users table and an orders table: the&nbsp;<em>relation</em>&nbsp;between those tables is that each order has one user who created it.&nbsp;</p><p>There&#8217;s a good reason why things are designed this way instead of throwing all of your data into one giant table: it makes inserting and pulling data&nbsp;<em>way&nbsp;</em>easier and more efficient. In the early days of the internet, when this technology was just starting out, it was&nbsp;<em>incredibly</em>&nbsp;expensive to store and retrieve data. So people spent a ton of time on optimizing it: making sure the same data is never stored twice (this is called&nbsp;<strong>normalization</strong>), finding the most efficient way to store different data types, and all of these low level things that are beyond my pay grade.&nbsp;</p><h2><strong>Transactions and SQL</strong></h2><p>Just in case there weren&#8217;t enough acronyms yet, I gotchu.</p><p><strong>&#8594; ACID transactions</strong></p><p>Modern software applications need to be&nbsp;<em>fast</em>&nbsp;and make few or no mistakes. Facebook can&#8217;t mess up your login, or mistake you for another user: that&#8217;s why relational DBs have special features around&nbsp;<strong>transactions</strong>. A transaction is just an interaction with the database, either&nbsp;<strong>inserting data</strong>&nbsp;into it or&nbsp;<strong>querying and pulling</strong>&nbsp;data from it. Transactions can go wrong&nbsp;<em>all the time</em>&nbsp;for a ton of different reasons, but there&#8217;s&nbsp;<em>a body of standards called ACID</em>&nbsp;(broooo) that helps avoid them.&nbsp;</p><p>The specifics of ACID aren&#8217;t too important. Just keep in mind that if you see a phrase like &#8220;ACID compliant transactions&#8221; it&#8217;s referring to these standards.</p><p><strong>&#8594; SQL</strong></p><p>Pulling data from a database is called querying, and there&#8217;s a series of special programming languages that let you do that called Structured Query Language (SQL). There are all different types and flavors of SQL (depending on which relational DB you&#8217;re using), but they&#8217;re all pretty similar. A typical SQL statement might look like this:</p><pre><code>&#9;&#9;&#9;&#9;
&#9;&#9;&#9;&#9;&#9;SELECT 
    first_name,
    last_name,
    address,
    last_order_date
FROM users
WHERE signup_date &gt; '2019-01-01'
&#9;&#9;&#9;&#9;
&#9;&#9;&#9;</code></pre><p>SQL is pretty human readable &#8211; even if you don&#8217;t know it, you can guess what we&#8217;re doing here &#8211; and it&#8217;s a really useful thing for everyone to know, even if you&#8217;re not en engineer.&nbsp;</p><blockquote><p>&#9749;&#65039;&nbsp;<strong>Dev Culture</strong>&nbsp;&#9749;&#65039;</p><p>Software developers need to know basic SQL for building their apps, but the&nbsp;<em>biggest</em>&nbsp;SQL experts are usually Data Scientists and Analysts: their entire days (I was one!) are spent querying and manipulating data from databases. For that and a few other reasons, some developers treat SQL as a second-tier, not &#8220;real&#8221; programming language.</p><p>&#9749;&#65039;&nbsp;<strong>Dev Culture</strong>&nbsp;&#9749;&#65039;</p></blockquote>]]></content:encoded></item><item><title><![CDATA[The Beginner's Guide to Databases]]></title><description><![CDATA[Databases are the unsung heroes of modern technology.]]></description><link>https://news.adityeah.in/p/the-beginners-guide-to-databases</link><guid isPermaLink="false">https://news.adityeah.in/p/the-beginners-guide-to-databases</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Sun, 02 Feb 2025 14:11:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/efaf7ef5-447e-41eb-a2eb-6ea40826ab6a_906x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oxTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oxTP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oxTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:200652,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132826?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oxTP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!oxTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac5ffdec-d660-43ef-b4a7-0bbcebe58694_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Databases are the unsung heroes of modern technology. They power everything from your favorite social media apps to the analytics dashboards that businesses rely on for decision-making. But with over 300+ databases available, each designed for specific use cases, choosing the right one can feel overwhelming. Whether you're a&nbsp; seasoned developer or an aspiring PM, understanding databases is crucial for building efficient, scalable, and reliable systems.</p><p>In this guide, we&#8217;ll explore databases in depth, using relatable metaphors, real-world examples, and clear explanations to help you understand how they work, why they matter, and how to choose the right one for your needs.</p><h2><strong>The Flour Metaphor: Databases as Ingredients</strong></h2><p>Let&#8217;s start with a metaphor:&nbsp;<strong>baking bread</strong>.</p><p>When baking, the type of flour you use determines the texture, flavor, and structure of your bread. High-protein flour (like bread flour) creates a chewy, dense loaf, perfect for pizza or bagels. Low-protein flour (like cake flour) makes light, flaky pastries. All-purpose flour works for everything, but it&#8217;s not ideal for specialized recipes.</p><p>Databases are like flour. Each one is designed for specific use cases. You&nbsp;<em>can</em> use any database for anything, but choosing the right one ensures the best possible <s>bread</s> outcome. To understand which database to use, ask two key questions:</p><ol><li><p><strong>What does the data look like?</strong></p></li><li><p><strong>What do you need to do with it?</strong></p></li></ol><p>Let&#8217;s break these down.</p><h2><strong>1. What Does the Data Look Like?</strong></h2><p>Databases are optimized for specific types of data. While you can store any piece of data in any database, the way data is inserted and retrieved matters most. Postgres is relational, but supports big blobs of text. Nothing is stopping you from storing your user data in&nbsp;Elastic. Nevertheless, many databases are designed with specific&nbsp;<em>types</em>&nbsp;or&nbsp;<em>shapes</em>&nbsp;of data in mind.</p><p>Here&#8217;s a closer look at how data shape influences database choice:</p><h3><strong>Structured Data</strong></h3><ul><li><p><strong>What it is:</strong>&nbsp;Data with a clear, predefined schema (e.g., tables with rows and columns).</p></li><li><p><strong>Example:</strong>&nbsp;User profiles, orders, or inventory.</p></li><li><p><strong>Best databases:</strong>&nbsp;Relational databases like&nbsp;<strong>Postgres</strong>,&nbsp;<strong>MySQL</strong>, or&nbsp;<strong>MSSQL</strong>.</p></li></ul><h3><strong>Unstructured or Semi-Structured Data</strong></h3><ul><li><p><strong>What it is:</strong>&nbsp;Data without a fixed schema (e.g., JSON documents, logs, or social media posts).</p></li><li><p><strong>Example:</strong>&nbsp;Tweets, sensor data, or product reviews.</p></li><li><p><strong>Best databases:</strong>&nbsp;NoSQL databases like&nbsp;<strong>MongoDB</strong>,&nbsp;<strong>Cassandra</strong>, or&nbsp;<strong>Elasticsearch</strong>.</p></li></ul><h3><strong>Interconnected Data</strong></h3><ul><li><p><strong>What it is:</strong>&nbsp;Data with complex relationships (e.g., social networks, recommendation engines).</p></li><li><p><strong>Example:</strong>&nbsp;Friend connections on Facebook or product recommendations on Amazon.</p></li><li><p><strong>Best databases:</strong>&nbsp;Graph databases like&nbsp;<strong>Neo4J</strong>.</p></li></ul><h3><strong>Time-Series Data</strong></h3><ul><li><p><strong>What it is:</strong>&nbsp;Data indexed by time (e.g., stock prices, sensor readings).</p></li><li><p><strong>Example:</strong>&nbsp;Hourly temperature data or daily financial transactions.</p></li><li><p><strong>Best databases:</strong>&nbsp;Time-series databases like&nbsp;<strong>InfluxDB</strong>&nbsp;or&nbsp;<strong>TimescaleDB</strong>.</p></li></ul><h2><strong>2. What Do You Need to Do with the Data?</strong></h2><p>Different types of data &#8211; and even similar types of data for different use cases &#8211; get used in different ways. How you use the data determines the database you need. Here are some common use cases and the databases that excel in them:</p><h3><strong>OLTP (Online Transactional Processing)</strong></h3><p>These are the databases that you use for the core data in your application, think your user data. Data is being read and inserted constantly. Queries are usually small and quick. Data integrity is key.</p><ul><li><p><strong>What it is:</strong>&nbsp;Real-time, transactional data processing (e.g., user actions, payments).</p></li><li><p><strong>Example:</strong>&nbsp;Adding items to a shopping cart or updating a user profile.</p></li><li><p><strong>Best databases:</strong>&nbsp;Relational databases like&nbsp;<strong>Postgres</strong>&nbsp;or&nbsp;<strong>MySQL</strong>.</p></li></ul><h3><strong>OLAP (Online Analytical Processing)</strong></h3><p>These are the databases that you use for analytics and data science, think Snowflake etc. Data is being read and inserted sporadically. Queries are usually large and complex.&nbsp;</p><ul><li><p><strong>What it is:</strong>&nbsp;Complex queries on large datasets for analytics or business intelligence.</p></li><li><p><strong>Example:</strong>&nbsp;Calculating monthly revenue or analyzing user behavior.</p></li><li><p><strong>Best databases:</strong>&nbsp;Data warehouses like&nbsp;<strong>Snowflake</strong>,&nbsp;<strong>BigQuery</strong>, or&nbsp;<strong>Redshift</strong>.</p></li></ul><h3><strong>Operational Use Cases</strong></h3><ul><li><p><strong>What it is:</strong>&nbsp;Logs, monitoring, caching, or internal processes.</p></li><li><p><strong>Example:</strong>&nbsp;Storing server logs or managing user sessions.</p></li><li><p><strong>Best databases:</strong>&nbsp;<strong>Elasticsearch</strong>&nbsp;for logs,&nbsp;<strong>Redis</strong>&nbsp;for caching, or&nbsp;<strong>Prometheus</strong>&nbsp;for monitoring.</p></li></ul><p>The fact that users of the database need to do different things with the data inside of it necessitates storing said data differently.&nbsp;</p><p>OLTP vs. OLAP is one example, but there are many different ways to break down those use cases. Some databases have special UIs on top for analysis (like Kibana and Elastic). Others are built for massive scale from the start. Some are made to handle&nbsp;<em>many</em>&nbsp;different situations decently well. No matter what database you&#8217;re dealing with, thinking about what&nbsp;<em>kind</em>&nbsp;of data it stores and&nbsp;<em>how</em>&nbsp;you need to use that data is the key to understanding each.</p><h2><strong>3 major categories of databases and what they do</strong></h2><p>Crude as it may be, I find it useful to think of 3 major categories of databases. Some databases can overlap and cross categories. For example, there are NoSQL databases built for powering your app, but there are also NoSQL databases meant for in-memory stuff (e.g. Redis is technically NoSQL). Here are the major ones:</p><ol><li><p><strong>Databases that power a user-facing app</strong>&nbsp;&#8211; production databases that store the data you need for your app to run.</p></li><li><p><strong>Databases that power analytics&nbsp;</strong>&#8211; databases for analysis, machine learning, and anything a data team does.</p></li><li><p><strong>Databases that power operations&nbsp;</strong>&#8211; databases for monitoring, logs, security, and any internal processes that enable the above.</p></li></ol><p>Let&#8217;s run through each category and cover a few examples for each.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_-Hq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_-Hq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 424w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 848w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 1272w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_-Hq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp" width="800" height="522" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:522,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Types of Databases&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Types of Databases" title="Types of Databases" srcset="https://substackcdn.com/image/fetch/$s_!_-Hq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 424w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 848w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 1272w, https://substackcdn.com/image/fetch/$s_!_-Hq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb49fd14f-1a51-4d98-9fe2-406b7974a480_1024x668.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>1. Databases That Power User-Facing Apps</strong></h2><p>Databases that power a user-facing app &#8211; often referred to as&nbsp;production databases&nbsp;or production data stores &#8211; are where developers store and query whatever data their app needs to run. Any&nbsp;&#8220;data&#8221; you&#8217;re seeing on your screen&nbsp;sits here.</p><ul><li><p><strong>If you&#8217;re Twitter</strong>: tweets, user profiles, trending topics, DMs</p></li><li><p><strong>If you&#8217;re Gmail</strong>: emails, settings, spam filters</p></li><li><p><strong>If you&#8217;re Amazon</strong>: orders, users, credit cards</p></li></ul><p>Production databases are built to support small and quick queries. The most important thing is data integrity and reliability &#8211; you don&#8217;t want to lose an order or a credit card.</p><h3><strong>A. User-facing DBs / Relational Databases</strong></h3><ol><li><p><strong>Relational databases:</strong>&nbsp;are the database OGs. They&#8217;ve been around for pretty much as long as databases have been around, and are the default choice today for storing the basic data your application needs to run. Data is stored in a&nbsp;<strong>very structured</strong> format with rigid definitions of tables, columns, and how tables relate to each other; that way, queries can run quickly and reliably.</p></li><li><p><strong><a href="https://www.postgresql.org/">Postgres</a></strong>&nbsp;is an open source relational database initially released back in 1997. It&#8217;s one of the standard &#8220;boilerplate&#8221; choices for teams getting started on a new app. You can run Postgres yourself on a server, or pay someone like Amazon to&nbsp;<a href="https://aws.amazon.com/rds/postgresql/">run it for you</a>.</p></li><li><p><strong><a href="https://www.mysql.com/">MySQL</a></strong>&nbsp;is also an open source relational database, initially released in 1995. It&#8217;s the other database most teams reach for, although since Oracle bought Sun (and ergo MySQL), there are legal ramifications to&nbsp;<em>modifying</em>&nbsp;the MySQL code for commercial use. In terms of MySQL vs. Postgres, the short story is that they&#8217;re very, very similar but have&nbsp;<a href="https://kinsta.com/blog/postgresql-vs-mysql">a few important differences</a> with how they handle data types, storage engines, and a few other things.</p></li><li><p><strong><a href="https://www.microsoft.com/en-us/sql-server">MSSQL</a></strong> is Microsoft&#8217;s proprietary SQL database. It&#8217;s popular among very large companies but not for smaller startups.</p></li><li><p><strong><a href="https://retool.com/blog/why-is-oracle-worth-260b/">Oracle</a></strong> was the first commercial relational database ever. Today it&#8217;s got the reputation of being the slowest moving company in California, but nevertheless powers the apps of tons and tons of Fortune 50 companies. Like MSSQL, this is a database for massive organizations and not startups.</p></li><li><p><strong><a href="https://mariadb.org/">MariaDB</a></strong> is another open source relational database, from the original creators of MySQL. They (in a somewhat cheeky fashion) seem to be pretty pissed about Oracle limiting contributions to MySQL, so they focus on how open the community is and how the software will never require a license.</p></li><li><p><strong><a href="https://www.sqlite.org/index.html">SQLite</a></strong>&nbsp;is a software library that lets you run a small database inside of your application. It&#8217;s used in one way or another in tons and tons of apps, usually as an intermediate database as opposed to a core production store. The website says it&#8217;s on every single Android, iPhone, etc.</p></li></ol><h3><strong>B. User-facing DBs / NoSQL Databases</strong></h3><ol><li><p><strong>NoSQL:</strong> databases remove the structure and rigidity from relational databases, and let you just dump data in there and worry about how it looks later. There are NoSQL databases for all different categories of database (analytics, operational) but these here are for production, user-facing use.</p></li><li><p><strong>MongoDB</strong>&nbsp;popularized the NoSQL moniker and is the default choice if you&#8217;re looking for a NoSQL database to power your app. Their cloud product,&nbsp;<a href="https://www.mongodb.com/atlas/database">Atlas</a>, is the&nbsp;AWS RDS equivalent for basic NoSQL.&nbsp;</p></li><li><p><strong><a href="https://cassandra.apache.org/_/index.html">Cassandra</a>&nbsp;</strong>is a NoSQL database built for really big companies who need to store lots of data and retrieve it fast. Unlike MongoDB, which is built as a&nbsp;<em>document</em>&nbsp;database, Cassandra is oriented more around a&nbsp;<em>columnar</em>&nbsp;setup, which means data is stored in entire columns (like Snowflake, actually). Using Cassandra feels a lot more like using a relational database. Thank you to&nbsp;<a href="https://open.substack.com/users/135589200-neo-kim?utm_source=mentions">Neo Kim </a>from the <a href="https://open.substack.com/pub/systemdesignone">System Design Newsletter </a>for pointing out that Cassandra is actually technically not a <em>columnar</em>&nbsp;data store, but instead implements the concept of a&nbsp;<em>wide column family</em>, which is slightly different.</p></li><li><p><strong><a href="https://aws.amazon.com/dynamodb/">DynamoDB</a></strong> is AWS&#8217;s proprietary NoSQL database.&nbsp;</p></li><li><p><strong><a href="https://firebase.google.com/">Firebase</a></strong>&nbsp;is a series of tools (acquired by Google back in the day) for building apps, targeted at smaller teams and focusing on simplicity. Their database is called&nbsp;<a href="https://firebase.google.com/docs/firestore">Firestore</a>&nbsp;and it&#8217;s a really popular option for a quick, just-get-me-started kind of DB.&nbsp;</p></li></ol><h3><strong>C. User-facing DBs / Graph Databases</strong></h3><p>Every company&#8217;s data is different, and for some it makes the most sense to model things as a sort of graph of interconnected nodes. Facebook famously&nbsp;<a href="https://engineering.fb.com/2013/06/25/core-data/tao-the-power-of-the-graph/">runs their social graph</a>&nbsp;on an in house graph database called Tao. The use cases for graph DBs are mostly user-facing, but they&#8217;re sometimes useful for analytical purposes too.</p><ol><li><p><strong><a href="https://neo4j.com/">Neo4J</a></strong>&nbsp;is the most popular graph database. It&#8217;s open source but if you&#8217;re going to scale it up, you&#8217;ll need to talk to them about their enterprise license. Data in Neo4J is represented as nodes, and nodes can be connected to each other in different ways. Cyper is the name of their SQL-esque language for querying the graph.</p></li></ol><h2><strong>2. Databases that power analytics</strong></h2><p>What a data team needs from their database is&nbsp;<em>very different</em>&nbsp;from developers working on an app. For data science and analytics work, the data you store is often redundant, there&#8217;s&nbsp;<em>tons</em>&nbsp;of it, and your queries join data from multiple tables at once. Data usually gets queried by someone sitting at a computer doing research, or a system building a pipeline, and gets inserted at regular intervals (twice a day, something like that).&nbsp;</p><h3><strong>A. Analytical DBs / Data Warehouses</strong></h3><p>Data warehouses&nbsp;are (usually) relational databases for storing analytical data, like what your users have been doing, revenue by month, things like that. They&#8217;re optimized for big, long, multi-table queries. They&#8217;re usually relational databases in nature, although the implementation details can vary.</p><ol><li><p><strong>Snowflake&nbsp;</strong>is a cloud data warehouse for analytics. It&#8217;s columnar, which means that data is stored (under the hood) in entire columns instead of rows; this makes large analytical queries faster, so it&#8217;s a common choice for how to build analytical DBs.</p></li><li><p><strong><a href="https://cloud.google.com/bigquery">BigQuery</a>&nbsp;</strong>is also a cloud data warehouse for analytics. It&#8217;s very similar to Snowflake.</p></li><li><p><strong><a href="https://aws.amazon.com/redshift/">Redshift</a>&nbsp;</strong>is also a cloud data warehouse for analytics. It&#8217;s very similar to Snowflake and BigQuery.</p></li><li><p><strong><a href="https://clickhouse.com/">Clickhouse</a>&nbsp;</strong>is an open source (!) data warehouse for analytics. It was originally developed at Yandex, and is getting more popular.</p></li></ol><blockquote><p><strong>&#129300; Why can&#8217;t I use Postgres as a data warehouse?</strong></p><p>You can, people did for a long time, and some still do. But modern cloud data warehouses are just waaaaay faster for large queries on meaningful quantities of data. This is the thing about databases: you can use anything for anything, but there comes a point where you need a specialized tool for the job.</p></blockquote><h3><strong>B. Analytical DBs / Data Lakes</strong></h3><ol><li><p>Data Lakes are basically giant data safes. You throw whatever you want in there &#8211; structured, unstructured, big, small, organized, disorganized, whatever &#8211; and then worry about structure when it&#8217;s time to get the data out. Contrast that with a data warehouse, which like a relational database, has rigid structure around tables, columns, and data types.</p></li><li><p><strong><a href="https://aws.amazon.com/s3/">S3</a></strong>&nbsp;is AWS&#8217;s object storage solution &#8211; usually used for storing things like images and videos for applications &#8211; but is also commonly used as a data lake. You can&#8217;t &#8220;query&#8221; S3 in the way that you can a database, so you need to use a layer on top (like AWS&#8217;s&nbsp;<a href="https://aws.amazon.com/lake-formation/">Lake Formation</a>) to intermediate.</p></li><li><p><strong>Databricks</strong>, a company that I wrote about back in the day, sells a product they call &#8220;the lakehouse platform.&#8221; Under several layers of caked marketing makeup, it&#8217;s an&nbsp;<a href="https://www.databricks.com/product/delta-lake-on-databricks">open source data lake and storage layer</a>&nbsp;built to resemble a sort of data warehouse; they&#8217;re trying to blur the distinction between the two.</p></li></ol><p>Though it&#8217;s unlikely you&#8217;ll see it in production today,&nbsp;<strong><a href="https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html">HDFS</a>&nbsp;</strong>was a highly popular way to build a data lake before the cloud data warehouse era. It&#8217;s powered by Hadoop, one of the original frameworks for performing distributed computations on large groups of data. It was/is notorious for being very, very hard to set up and run.</p><h3><strong>C. Analytical DBs / GIS Databases</strong></h3><p>This is a bit of a niche one, but worth mentioning: there&#8217;s a class of databases (or in some cases, database&nbsp;<em>extensions</em>) that are purpose built for working with&nbsp;<strong>geographical data</strong>. GIS stands for Geographic Information System. In terms of the actual data being stored here, it can be anything from points and lines to complex 3D data; structures that don&#8217;t map (no pun intended) well to traditional database schemas.</p><ol><li><p><strong><a href="https://postgis.net/">PostGIS</a></strong> is a PostgreSQL extension for storing and working with geographical data. It&#8217;s a combination of features for storage, analysis (special geographical functions like intersections, measuring distances, etc.), and other miscellaneous stuff like geocoding.</p></li><li><p><strong><a href="https://www.kinetica.com/">Kinetica</a></strong> is an enterprise-focused database for storing geospatial and time series data.</p></li><li><p><strong><a href="https://www.oracle.com/database/spatial/">Oracle Spatial Database</a>&nbsp;</strong>is also an enterprise-focused database for storing geospatial data, from our friends at big red.</p></li></ol><h2><strong>Databases that power operations</strong></h2><p>This is the category you&#8217;ll probably encounter&nbsp;<em>least</em>&nbsp;if you&#8217;re not an engineer. The 3rd category of databases covers data stores that developers use to power internal operations: monitoring application performance, storing logs and security information, improving application speed, or even intermediate layers between other databases.</p><h3><strong>Operational DBs / Key Value Stores</strong></h3><p>While pretty much all of the databases we&#8217;ve covered so far store&nbsp;<em>permanent data&nbsp;</em>&#8211;&nbsp;saved on a harddrive&nbsp;&#8211; there&#8217;s a class of databases that only keeps data&nbsp;<em>in memory</em>. They&#8217;re meant for ephemeral data that you need to store and use quickly, but you don&#8217;t mind if it disappears down the road. These databases are called key value stores (or KV stores) because the way they store data is like a dictionary, where each entry has a key.</p><ol><li><p><strong><a href="https://redis.com/">Redis</a></strong>&nbsp;is the OG key value store. It&#8217;s an in memory database that teams use for a bunch of different stuff: building&nbsp;caches, managing&nbsp;authentication sessions, chat and messaging, and any other use cases that prioritize real time, very quick data retrieval. Redis is open source but you can also pay them to host it for you.</p></li><li><p><strong><a href="https://www.singlestore.com/">SingleStore</a></strong>&nbsp;(FKA MemSQL) is an in memory database like Redis, more focused on general purpose kinds of workloads than typical in memory database use cases.</p></li></ol><h3><strong>Operational DBs / Time Series Databases</strong></h3><p>Time series databases are DBs built specifically for storing data on some sort of time frame: daily financial data, second-by-second sensor readings, hour-by-hour health checks on your servers, anything like that.&nbsp;</p><ol><li><p><strong><a href="https://www.timescale.com/">Timescale</a></strong> is an extension to Postgres, sold as an independent cloud hosted database. It takes everyone&#8217;s favorite relational database and adds special time-series specific functionality like automatic partitioning and query optimizations.</p></li><li><p><strong><a href="https://prometheus.io/">Prometheus</a>&nbsp;</strong>is an open source time series database with built in alerting and visualization.</p></li><li><p><strong><a href="https://www.influxdata.com/">InfluxDB</a></strong>&nbsp;is also an open source time series database.</p></li></ol><h3><strong>Operational DBs / Logs and Search Databases</strong></h3><ol><li><p><strong>Elastic&nbsp;</strong>is a NoSQL database built for storing and searching through logs, or very granular records of server performance, API requests, and internal stuff like that. Elasticsearch is commonly used with Kibana, its sister data visualization tool.</p></li><li><p><strong><a href="https://solr.apache.org/">Solr</a></strong>&nbsp;is also a NoSQL database built for storing and searching through logs.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[How do product analytics work?]]></title><description><![CDATA[Product analytics &#8211; what the hell is it?]]></description><link>https://news.adityeah.in/p/how-do-product-analytics-work</link><guid isPermaLink="false">https://news.adityeah.in/p/how-do-product-analytics-work</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Thu, 30 Jan 2025 04:35:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/509c5e03-f25d-4d68-9177-25d0843d8bff_906x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3UGc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3UGc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3UGc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:179210,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132825?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3UGc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!3UGc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfdc5363-d440-403e-b8eb-82d6916d9882_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Product analytics &#8211; what the hell is it? Why is Amplitude a public company? What do product managers even do?</p><p>This post will dive into how companies analyze what their users are doing in their product. We&#8217;ll cover what kinds of questions teams want answers to, how the data gets generated and moved, and what tools are out there to simplify things.</p><h2><strong>It all starts with decision making</strong></h2><p>The wonderful world of product analytics starts with knowledge, or at least the eternal yet fleeting desire for it. Startups and large companies alike want&nbsp;<strong>visibility</strong>&nbsp;into how their users use their digital products. They&#8217;re looking to understand things like:</p><ul><li><p>What are our most popular features?</p></li><li><p>Which pages on our website convert the best?</p></li><li><p>What areas of our product experience are confusing?</p></li><li><p>What are common paths that users take to accomplish something?</p></li></ul><p>Armed with this information, product teams can make educated decisions on what they should be&nbsp;<strong>improving and building</strong>. These kinds of analytics can also help catch bugs: if the number of users visiting a page drops precipitously one day, chances are something is wrong with that page, and needs fixing (or your analytics are broken &#128527;).&nbsp;</p><h3><strong>Product funnels</strong></h3><p>Product and growth teams like to use the concept of a&nbsp;<strong>funnel</strong>&nbsp;to visualize the paths that a user takes through the product. The funnel is wider on top &#8211; representing actions that&nbsp;<em>a lot of people</em>&nbsp;take, like visiting a website, and narrower on the bottom, representing actions that&nbsp;<em>fewer people</em>&nbsp;take, like signing up for the product and using it.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n-lp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n-lp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 424w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 848w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 1272w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n-lp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp" width="800" height="471" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:471,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Product Funnel&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Product Funnel" title="Product Funnel" srcset="https://substackcdn.com/image/fetch/$s_!n-lp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 424w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 848w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 1272w, https://substackcdn.com/image/fetch/$s_!n-lp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F462408a1-9795-4795-9132-39528f1aa58c_1024x603.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each stage of the funnel (except the top one) has a&nbsp;<strong>conversion rate</strong>&nbsp;representing the percentage of people in the previous bucket that made it to the current step. Teams try to benchmark their conversion rates against other products to get a sense of whether they are too low (or hopefully, too high).</p><p>&#128680;&nbsp;<strong>Confusion Alert&nbsp;</strong>&#128680;</p><p>Even though it&#8217;s referred to as&nbsp;<em>product</em>&nbsp;analytics, this area has blurry overlap with&nbsp;<em>marketing</em>&nbsp;data. Growth funnels can include data on website visits, and which sources (referrals, organic search, etc.) are driving quality leads. Who is responsible for using this data varies; just don&#8217;t be surprised if you see traffic-related information &#8211; what you&#8217;d normally consider marketing &#8211; in this post.</p><p>&#128680;&nbsp;<strong>Confusion Alert&nbsp;</strong>&#128680;</p><h3><strong>User research and session recording</strong></h3><p>Numbers can only go so far in giving product teams a good sense of what their users are actually doing in the product. Sometimes, you just need to&nbsp;<strong>see</strong>&nbsp;how they navigate around and do their tasks. Traditionally,&nbsp;<strong>user research</strong>&nbsp;teams would find prospective or existing users, and actually observe them accomplishing common tasks in your app. For example, the user research team at Microsoft might pay users to join a study and ask them to build a basic financial model in Excel; they&#8217;ll pay close attention to exactly what the users do and what problems they run into.</p><p>More recently, tools like&nbsp;<a href="https://www.fullstory.com/">FullStory</a>&nbsp;have popped up, which allow teams to literally&nbsp;<strong>record</strong>&nbsp;what users are doing in the product during their day to day, making all of this significantly easier. More on these tools later.</p><h2><strong>How it all works under the hood?</strong></h2><p>As with all things data, it&#8217;s a pain in the ass to arm your company with the data to&nbsp;<em>answer</em>&nbsp;all of the questions product teams have. You need to instrument your product to &#8220;record&#8221; what users are doing, get that data into your warehouse, transform it into a format that&#8217;s useful for analysis, and then build visualizations that give you the information you want.&nbsp;</p><p>This section will walk through how that&#8217;s done, and the next will cover newer tools that are making things easier than they were.</p><p><em>Note: most tech companies today are using event-driven architectures like the one we&#8217;re about to describe. But there are other, worse ways of doing this.</em></p><h3><strong>Instrumenting the product</strong></h3><p>Step one is to actually create the data. And doing this is fairly simple, albeit custom: you just send what&#8217;s called an&nbsp;<strong>event</strong>&nbsp;any time a user does something in the product. Suppose we&#8217;d like to record every time a user clicks on the &#8220;save changes&#8221; button when editing their profile. We&#8217;d fire an event like this:</p><pre><code>&#9;&#9;&#9;&#9;
&#9;&#9;&#9;&#9;&#9;analytics.track(
  {
    event_name: &#8220;save_changes_button_clicked&#8221;,
    timestamp: &#8220;2022-03-09 23:45:33&#8221;,
    context_page: &#8220;/profile/edit&#8221;,
    user_id: &#8220;239hg72eyrhdaadgdg99277hd7ve88d&#8221;
  }
)
&#9;&#9;&#9;&#9;
&#9;&#9;&#9;</code></pre><p>The event gets a name, a timestamp, and some metadata: in this case, the context in which it took place (on the edit profile page), and the ID of the user who took the action.</p><p>Fun fact, you don&#8217;t need to take my word for this. If you&#8217;re logged into a SaaS product on your computer right now, open up your developer tools (&#8984; + Option + C for chrome) and click on the &#8220;network&#8221; tab. Click on any button or link in the app, and you should see some events showing up at the bottom.&nbsp;</p><blockquote><p><strong>&#128269; Deeper Look</strong><em><strong>&nbsp;</strong></em><strong>&#128269;</strong></p><p>The logistics of sending these events gets interesting. Most companies send them client side, e.g. right from your browser. But if you&#8217;re using an ad blocker, that blocks any client side JavaScript from hitting external servers, which renders these events useless. For that reason, some companies will set up a proxy server and send these events from their backend; more work, but it avoids the ad blocker problem.</p><p><strong>&#128269; Deeper Look</strong><em><strong>&nbsp;</strong></em><strong>&#128269;</strong></p></blockquote><p>These events get created and fired for pretty much anything you do in the product, and later get assembled into useful insights. But first, the data needs to be stored somewhere.</p><h3><strong>Getting the data into the warehouse</strong></h3><p>This is where things start to get complicated. Once the event gets &#8220;fired&#8221; where does it go?&nbsp;</p><p>These days, the state of the art is to put it straight into your&nbsp;data warehouse. There are a few ways to do that. You can build it yourself &#8211; you&#8217;d need to build a system that parses the event data and inserts it into&nbsp;Snowflake, BigQuery, etc.&nbsp;via SQL &#8211; or, more commonly, use a third party tool like&nbsp;Segment&nbsp;or&nbsp;<a href="https://posthog.com/">PostHog</a>&nbsp;to do it for you.&nbsp;</p><p>The end &#8220;product&#8221; is usually a bunch of tables in your warehouse, one for each type of event. You&#8217;ll have a table called `clicked_save_changes`, one called `edited_profile`, and so on and so forth. Sometimes these events will get aggregated into a big events table called, well, `events`. Each one of these tables will have columns for the important data: the time the event happened, which user did it, what page it happened on, etc.</p><p>Now we&#8217;re getting somewhere!</p><h3><strong>Transforming the data into something useful</strong></h3><p>A bunch of raw events aren&#8217;t exactly useful for a product manager, even if they&nbsp;<em>can</em>&nbsp;write SQL. How am I supposed to know what my funnel looks like when I&#8217;m working with a bunch of random events? The next step in the process is to&nbsp;<strong>transform</strong>&nbsp;the event data into aggregated, more useful information.</p><p>Transforming data today just means writing some SQL that takes these events and filters and aggregates them. For a concrete example, imagine we&#8217;re trying to find the most popular &#8220;page&#8221; in our product, and look at how many users visit each page on a weekly basis. The raw event data looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!etxa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!etxa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 424w, https://substackcdn.com/image/fetch/$s_!etxa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 848w, https://substackcdn.com/image/fetch/$s_!etxa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 1272w, https://substackcdn.com/image/fetch/$s_!etxa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!etxa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp" width="800" height="278" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:278,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!etxa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 424w, https://substackcdn.com/image/fetch/$s_!etxa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 848w, https://substackcdn.com/image/fetch/$s_!etxa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 1272w, https://substackcdn.com/image/fetch/$s_!etxa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc531be70-4115-4711-b849-1813eb2f98a6_1024x356.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But we want the data to look like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NGfN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NGfN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 424w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 848w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 1272w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NGfN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp" width="800" height="244" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:244,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!NGfN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 424w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 848w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 1272w, https://substackcdn.com/image/fetch/$s_!NGfN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80e5db18-48fc-4793-a587-4983adaab0d4_1024x312.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To do that, we write a bunch of SQL (I will spare you the logistics). State of the art today is to use something like&nbsp;dbt&nbsp;to do this. This is usually the responsibility of the data team, and they will work with business stakeholders like the product team to figure out what these transformations should actually look like.</p><p>SQL isn&#8217;t necessarily the ideal tool for analyzing event data like this. While we do eventually want to aggregate a lot of this data into rollup tables like the above, sometimes explorations into why users are doing a particular action requires&nbsp;<strong>diving into the granular events themselves</strong>. Writing custom SQL queries for these over and over again, and analyzing the results tabularly,&nbsp;<a href="https://motifanalytics.medium.com/the-missing-tool-for-data-exploration-dd8cf8d4921e">is a nightmare</a>. In other words, there are still many open questions as to how this type of data should be analyzed most effectively.&nbsp;</p><h3><strong>Visualization, BI, and exploration</strong></h3><p>Once the data is in the format we want it in, we&#8217;ll want to get it into a chart of some sort. There are&nbsp;<em>tons</em>&nbsp;of ways to do this, from&nbsp;<a href="https://www.metabase.com/">Metabase</a>&nbsp;to&nbsp;<a href="https://retool.com/">Retool</a>&nbsp;to&nbsp;<a href="https://hex.tech/">Hex</a>&nbsp;to homegrown solutions. Even&nbsp;<a href="https://www.looker.com/">Looker</a>, before it was all but&nbsp;<a href="https://www.reddit.com/r/Looker/comments/t5jpwk/google_cloud_just_laid_off_the_entirety_of/">destroyed by acquirer Google</a>, was a tool that teams used for this, among other things. You&#8217;ll usually end up with a series of graphs that update regularly and show you the metrics you care about.</p><p>The final product isn&#8217;t&nbsp;<em>always</em>&nbsp;a static graph, though. More and more, data teams are working on ways to&nbsp;<strong>empower</strong> non-technical stakeholders to explore data themselves and answer their own questions.&nbsp;</p><h2><strong>Tools for product analytics</strong></h2><p>As you can (hopefully) tell, there&#8217;s a lot that goes into that graph showing you how many users your product has, from raw events to transformation and visualization. Though most modern companies will do&nbsp;<em>something</em>&nbsp;like what&#8217;s outlined above, there are better and better tools on the market that automate pieces of this process and make them more accessible for non-technical teams.&nbsp;</p><p>There is no substitute for a good data team, and there are&nbsp;<em>always</em>&nbsp;going to be questions that are too deep for SaaS tools to help you answer. That&#8217;s why even if you use some of the tools below, chances are you will still have a data team working on the steps outlined above. There are, of course, many many more tools I haven&#8217;t mentioned here &#8211; leave a comment with any of your favorites.</p><h3><strong>Segment &#8211; instrumentation and routing</strong></h3><p>Segment helps with multiple parts of the process, from a library for tracking events to routing those events to your warehouse (and other destinations).&nbsp;</p><p>Segment&nbsp;<a href="https://techcrunch.com/2020/10/12/twilios-3-2b-segment-acquisition-about-helping-developers-build-data-fueled-apps/">was acquired by Twilio</a>&nbsp;in 2020, so things are a bit up in the air there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_o_u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_o_u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 424w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 848w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 1272w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_o_u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp" width="800" height="692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:692,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Segment&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Segment" title="Segment" srcset="https://substackcdn.com/image/fetch/$s_!_o_u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 424w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 848w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 1272w, https://substackcdn.com/image/fetch/$s_!_o_u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc80c936d-0c02-4fe5-a142-27d8a40089e7_1024x886.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Amplitude &#8211; visualization and exploration</strong></h3><p>Amplitude is a data visualization platform made specifically for events. You can ingest your product events and build charts, dashboards, etc. It&#8217;s made mostly for non-technical teams, so you don&#8217;t need to write SQL to analyze your data; but as mentioned above, using SQL to analyze event streams isn&#8217;t exactly a walk in the park. Personally, I like using Amplitude for questions on the simpler side of things.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Kew0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kew0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 424w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 848w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 1272w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kew0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp" width="800" height="674" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Amplitude&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Amplitude" title="Amplitude" srcset="https://substackcdn.com/image/fetch/$s_!Kew0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 424w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 848w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 1272w, https://substackcdn.com/image/fetch/$s_!Kew0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd862e9bd-7817-4810-bdbf-19c34aefb4f0_1024x863.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The nice thing about Amplitude is it lets you avoid the&nbsp;<em>transformation</em>&nbsp;step for certain questions. E.g. If you want to know what the most popular pages visited in your product are, you can just do that in the Amplitude UI, instead of needing your data team to build a table with that information. As mentioned though, for more complex explorations, this is probably not the tool.</p><h3><strong>FullStory / HotJar &#8211; session recording</strong></h3><p><a href="https://www.fullstory.com/">FullStory</a>&nbsp;and&nbsp;<a href="https://www.hotjar.com/">HotJar</a>&nbsp;are session recording tools: they look at the actions your users take and replay them to you, like you&#8217;re watching a video of their screen. Logistically, they&#8217;re not&nbsp;<em>actually</em>&nbsp;recording a user&#8217;s screen &#8211; that would be creepy &#8211; they&#8217;re instead looking at how the user&#8217;s actions impact the HTML of the page, and then rendering what we imagine that probably looked like when the user did it.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QNr3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QNr3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 424w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 848w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 1272w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QNr3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;FullStory&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="FullStory" title="FullStory" srcset="https://substackcdn.com/image/fetch/$s_!QNr3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 424w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 848w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 1272w, https://substackcdn.com/image/fetch/$s_!QNr3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbcd182-76c5-490a-983a-459bbb5a51a7_1024x640.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8203;&#8203;Since it&#8217;s mostly HTML tagging under the hood, you can filter for things like which page a user visited, what they clicked on, etc.</p><p>I have not heard of teams building this functionality on their own, but if you know of any, leave a comment on this post!</p><h3><strong>PostHog &#8211; full stack, everything</strong></h3><p>PostHog is probably the most unique tool here, because it obviates most of the need for&nbsp;<strong>the entire</strong>&nbsp;process of building a product analytics practice. Their product extends from&nbsp;<a href="https://posthog.com/docs/integrate/ingest-live-data#capture-user-events">event capture</a>&nbsp;all the way to visualization and exploration; they even have functionality around heatmaps and session recording, something you&#8217;d normally need to use Fullstory/HotJar for. Their bet is that product analytics should all happen in one place, and that non-technical teams should be empowered to answer&nbsp;<em>almost</em>&nbsp;<em>all</em>&nbsp;of their own questions, with little or no help needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t_tg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t_tg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 424w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 848w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 1272w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t_tg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;FullStory&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="FullStory" title="FullStory" srcset="https://substackcdn.com/image/fetch/$s_!t_tg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 424w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 848w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 1272w, https://substackcdn.com/image/fetch/$s_!t_tg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ef8d45-83a1-42a9-ac8d-6c95d3628ca7_1024x640.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>PostHog supports all kinds of visualizations &#8211; like&nbsp;<a href="https://posthog.com/product/funnels">funnels</a>,&nbsp;<a href="https://posthog.com/product/user-paths">user paths</a>, etc. &#8211; specifically built for product analytics. They even have support for&nbsp;<a href="https://posthog.com/product/feature-flags">feature flags</a>, where you release a new feature to a segment of your user base to test how they react to it. Perhaps the most interesting piece of the puzzle:&nbsp;<a href="https://github.com/PostHog/posthog">PostHog is open source</a>, which means it&#8217;s completely free to run on your own infrastructure (all other products on this list are paid and expensive).</p>]]></content:encoded></item><item><title><![CDATA[How do I become a more technical Product Manager?]]></title><description><![CDATA[A technical background is a superpower for product managers.]]></description><link>https://news.adityeah.in/p/how-do-i-become-a-more-technical-product-manager</link><guid isPermaLink="false">https://news.adityeah.in/p/how-do-i-become-a-more-technical-product-manager</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Fri, 17 Jan 2025 16:20:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/40890815-48e2-4e06-b907-59ae0e5de937_906x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OefM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OefM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!OefM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!OefM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!OefM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OefM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:213149,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132824?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OefM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!OefM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!OefM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!OefM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3560b32c-3e94-44e9-a1f7-42c8c8657003_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A technical background is a superpower for product managers. You&#8217;ll make better decisions, understand trade-offs, make more accurate estimates, and communicate with engineers with more confidence, while also creating more career opportunities for yourself. And now that AI is increasingly infused into products, it&#8217;s even more important that product managers understand the basics.</p><p>Building a strong foundation of technical skills improves your ability to bridge technical and business domains, uncover implementation issues before they&#8217;re in production, and improve your working relationships with your technical counterparts. This quick guide will help get you up to speed and start building your skills with hands-on practice.</p><h2><strong>Application architecture and APIs</strong></h2><p>Almost every software product is built with the same three parts:</p><ul><li><p>a client,</p></li><li><p>a server, and</p></li><li><p>a database.</p><p>Things can get a lot more complicated as you grow, but these fundamental ideas stay the same.<br>The client is your website or app that&#8217;s used by the end user.<br>The server processes requests from the client.<br>The database is your permanent storage of data.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SCWB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SCWB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SCWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API" title="API" srcset="https://substackcdn.com/image/fetch/$s_!SCWB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!SCWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6400aeba-75ee-4eef-810f-5175ee0071b4_906x500.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Your client communicates with your server through an application programming interface, or API.</p><h2><strong>What is an API?</strong></h2><p>For most software product managers, we&#8217;re talking about web APIs. This is the front door to your server that allows other applications to access data or trigger events.</p><p>APIs are everywhere&#8212;<a href="https://developers.facebook.com/docs/#">Meta</a>,&nbsp;<a href="https://www.etsy.com/developers/documentation/getting_started/api_basics">Etsy</a>,&nbsp;<a href="https://openai.com/product">OpenAI</a>,&nbsp;<a href="https://developer.citi.com/">your bank</a>,&nbsp;<a href="https://open.epic.com/">your doctor</a>,&nbsp;<a href="https://openweathermap.org/api">the weather</a>. These kinds of public APIs are meant to be used by developers outside of the company that built them. Anyone who has permission can start making API calls to get data, submit new information, or even interact with AI.&nbsp;</p><p>APIs can also be private. These are intended to be used only within that application or product (versus by third parties).</p><p>As a quick example, let&#8217;s look at how Airbnb might fetch listings to show you when you search for Toronto.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JLeU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JLeU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JLeU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API 2&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API 2" title="API 2" srcset="https://substackcdn.com/image/fetch/$s_!JLeU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!JLeU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03c0ef25-ab1c-4172-a86a-a06c359354df_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Breaking this down, we can see that:</p><ol><li><p>The client sends a request to&nbsp;<em><strong>listings&nbsp;</strong></em>at the URL&nbsp;<em><strong>api.airbnb.com&nbsp;</strong></em>and specifies the location as&nbsp;<em><strong>Toronto</strong></em></p></li><li><p>The server gets the listings in Toronto from the database</p></li><li><p>The database returns listings to the server</p></li><li><p>The server returns listings to the client</p></li></ol><h2><strong>Wait, so what exactly is the API?</strong></h2><p>Is the API the server? Kind of. As we said above, the API is the server&#8217;s front door&#8212;it&#8217;s the set of actions that are available to clients. The API (hosted on a server) will either process the request itself or pass it downstream to be processed.</p><p>Going back to our Airbnb example, in addition to fetching Listings, you could imagine the API also allows a client to access Users, Bookings, Prices, and more. We commonly call these&nbsp;<strong>endpoints</strong>&nbsp;or&nbsp;<strong>resources</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9YeX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9YeX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9YeX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8625280c-6321-4939-a900-6d838908a1b9_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API 3&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API 3" title="API 3" srcset="https://substackcdn.com/image/fetch/$s_!9YeX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!9YeX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8625280c-6321-4939-a900-6d838908a1b9_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let&#8217;s take a look at another example: OpenAI. OpenAI supports a wide range of actions via their API. You can create images, transcribe audio, and get chat responses. Here&#8217;s what their API endpoints look like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q1gC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q1gC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q1gC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API 4&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API 4" title="API 4" srcset="https://substackcdn.com/image/fetch/$s_!q1gC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!q1gC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc19b3a54-8666-410e-b381-3605bdbfcad2_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>OpenAI has organized their API into a few groups&#8212;images, chat, and audio. Within each, there are a few endpoints that allow you to take different actions.</p><h2><strong>What are some common patterns with APIs?</strong></h2><p>Once you understand a few basic patterns with APIs, you&#8217;ll be able to breeze through technical documentation in no time.</p><p>First, there are three main types of APIs:</p><ul><li><p><strong>SOAP:</strong>&nbsp;This is a legacy design, still used mostly in health care and financial services.</p></li><li><p><strong>REST:</strong>&nbsp;This is the most popular design pattern; we&#8217;ll get into more details below.</p></li><li><p><strong>GraphQL:</strong>&nbsp;This is a newer design created at Meta, most commonly used in private APIs within your own application. It uses the same request types but in different ways.</p></li></ul><p>As mentioned, REST is by far the most popular design for APIs. It supports many different request types, but there are two we&#8217;ll focus on today&#8212;GET and POST.</p><h4><strong>GET requests</strong></h4><p>GET requests do what you think they would: get stuff. Every time you open a web page, your browser sends a GET request to the server at the URL you&#8217;ve entered and the server returns some content to be rendered.</p><p>In its simplest form, this content can be an HTML file that your browser displays, or it can be a more complex format that needs to be interpreted, like JSON.</p><p>Let&#8217;s update our Airbnb example above to specify the request type.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M1Fl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M1Fl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M1Fl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!M1Fl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!M1Fl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05bd0cc8-76a8-4e85-a9a4-3383b1789803_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now we can see that we&#8217;re sending a&nbsp;<em><strong>GET</strong></em>&nbsp;request to the&nbsp;<em><strong>/listings</strong></em>&nbsp;endpoint. We also specified that we only want listings in&nbsp;<em><strong>Toronto</strong></em>.</p><p>Let&#8217;s break the request down into its components:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b8AY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b8AY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b8AY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!b8AY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!b8AY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f264870-e7bb-42a0-96e8-9001a9808ada_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p><strong>Base URL:</strong> The &#8220;home&#8221; for all API endpoints</p></li><li><p><strong>Endpoint:</strong>&nbsp;The specific resource we want to access</p></li><li><p><strong>Query parameter:</strong>&nbsp;Additional data passed in with our requests<br><br></p><h4><strong>POST requests</strong></h4><p>POST requests are used to submit new data to the server. For example, we would use a POST request on Open AI&#8217;s&nbsp;<em><strong>/images/generations</strong></em>&nbsp;endpoint to create a new image.&nbsp;</p><p>We would also include a&nbsp;<em><strong>body</strong></em>&nbsp;with the request, which contains data to be processed by the server. Here&#8217;s what that might look like:</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nOpM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nOpM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nOpM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png" width="800" height="442" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:442,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!nOpM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 424w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 848w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 1272w, https://substackcdn.com/image/fetch/$s_!nOpM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55aa0cd-39ba-4482-b0d5-2c2e1617cb64_906x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As long as we have access, OpenAI will respond to this request with the cutest baby sea otter you&#8217;ve ever seen.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!93Kj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!93Kj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!93Kj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg" width="800" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sea Otter&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sea Otter" title="Sea Otter" srcset="https://substackcdn.com/image/fetch/$s_!93Kj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!93Kj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a71ed68-8f16-4dab-b908-d7a18b33d11e_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Remember that text-to-speech example with an AI-generated voice that we got from OpenAI&#8217;s API? Well, that was a POST request.</p><p>To generate this, we sent a POST request to&nbsp;<em><strong>https://api.openai.com/v1/audio/speech&nbsp;</strong></em>with the following body:</p><pre><code>&#9;&#9;&#9;&#9;
&#9;&#9;&#9;&#9;&#9;{
    "model": "tts-1",
    "input": "Did you know subscribers to Lenny's Newsletter get exclusive discounts with partners? Pretty cool! And there's a Slack channel!",
    "voice": "alloy"
  }
&#9;&#9;&#9;&#9;
&#9;&#9;&#9;</code></pre><p>In response to this request, the API sends back an MP3 file with the text-to-speech phrase.</p><h2><strong>How can I practice?</strong></h2><p>Want to try a request for yourself? Follow along to generate your own images using DALL-E and OpenAI&#8217;s API.</p><ol><li><p>Sign up for an API account at&nbsp;<a href="https://platform.openai.com/signup">https://platform.openai.com/signup&nbsp;</a></p></li><li><p>Navigate to API Keys. Verify your account and create your first API key. Make sure you copy it!</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bCNR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bCNR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bCNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg" width="800" height="333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:333,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!bCNR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bCNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ea10238-09d5-4e2b-8ff2-d919220c522d_1024x426.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="3"><li><p>Using&nbsp;<a href="https://www.postman.com/">Postman</a>&nbsp;or a web-based API request tool (<a href="https://stackblitz.com/edit/github-18edst?embed=1&amp;file=README.md&amp;hideExplorer=1&amp;view=preview">here&#8217;s a free one</a>), make a POST request to&nbsp;<strong><a href="https://api.openai.com/v1/images/generations">https://api.openai.com/v1/images/generations</a></strong></p></li><li><p>Add the following Headers</p><ol><li><p>Authorization: Bearer [your-api-key]</p></li><li><p>Content-Type: application/json</p></li></ol></li></ol><ol start="5"><li><p>Add the following body in JSON</p></li></ol><pre><code>&#9;&#9;&#9;&#9;
&#9;&#9;&#9;&#9;&#9;{
    "model": "dall-e-3",
    "prompt": "A cute baby sea otter",
    "n": 1,
    "size": "1024x1024"
  }
&#9;&#9;&#9;&#9;
&#9;&#9;&#9;</code></pre><ol start="6"><li><p>Send your request!</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RMew!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RMew!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 424w, https://substackcdn.com/image/fetch/$s_!RMew!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 848w, https://substackcdn.com/image/fetch/$s_!RMew!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 1272w, https://substackcdn.com/image/fetch/$s_!RMew!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RMew!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png" width="800" height="433" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:433,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!RMew!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 424w, https://substackcdn.com/image/fetch/$s_!RMew!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 848w, https://substackcdn.com/image/fetch/$s_!RMew!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 1272w, https://substackcdn.com/image/fetch/$s_!RMew!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5392ffc-c274-4a84-9e68-574a32451a43_1024x554.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[What Is API-First? Unveiling the Technical and Business Perspectives]]></title><description><![CDATA[In today&#8217;s fast-evolving tech landscape, the API-first approach is making waves across industries.]]></description><link>https://news.adityeah.in/p/what-is-api-first-unveiling-the-technical-and-business-perspectives</link><guid isPermaLink="false">https://news.adityeah.in/p/what-is-api-first-unveiling-the-technical-and-business-perspectives</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Wed, 15 Jan 2025 16:02:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7a22ca26-f3fa-4e24-9b47-79967f2ca76f_906x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RD0p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RD0p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RD0p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:179695,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RD0p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 424w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 848w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 1272w, https://substackcdn.com/image/fetch/$s_!RD0p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee1287c-887f-4a61-b73b-0ff250a843f5_2831x1563.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In today&#8217;s fast-evolving tech landscape, the API-first approach is making waves across industries. This isn&#8217;t just a trend&#8212;it&#8217;s a transformative strategy that&#8217;s reshaping how companies design, develop, and deliver software solutions. The data speaks for itself: more than 60 API-first companies in 2022 raised $50 million or more in funding, while API-first businesses collectively raised $14 billion. By 2030, experts predict that we&#8217;ll see around <strong>1.7 billion active APIs</strong>, underlining their central role in the digital economy.</p><p>But what does &#8220;API-first&#8221; actually mean? Why is it so important for businesses today? And how can adopting this approach give organizations a competitive edge? Let&#8217;s dive into the technical and business dimensions of API-first development and uncover why it&#8217;s becoming a cornerstone of modern software architecture.</p><h3><strong>What Does API-First Mean?</strong></h3><p>To understand the API-first approach, it&#8217;s essential to grasp the concept of an API itself. An API, or <strong>Application Programming Interface</strong>, is a set of rules and protocols that allows different software applications to communicate with each other. APIs are like the bridges connecting apps, enabling them to exchange data and work together.</p><p>One of the most familiar examples is <strong>social media logins</strong>. Ever used a website that allows you to log in using Google, Facebook, or Apple? That&#8217;s an API at work, seamlessly connecting your social media account to the website you&#8217;re accessing.</p><p>In the API-first development model, APIs aren&#8217;t treated as afterthoughts. Instead, they are prioritized from the very beginning of the development process. This approach is rooted in the idea that APIs should be at the core of how software is designed and built, ensuring that applications are not just functional but also scalable, interoperable, and ready for integration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oBHl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oBHl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 424w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 848w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 1272w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oBHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png" width="800" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API-first development and its advantages&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API-first development and its advantages" title="API-first development and its advantages" srcset="https://substackcdn.com/image/fetch/$s_!oBHl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 424w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 848w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 1272w, https://substackcdn.com/image/fetch/$s_!oBHl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8382ee86-c3b9-4f16-8cb3-5c2da9afecf7_1024x564.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>The API-First Approach: Technical and Business Perspectives</strong></h3><p>The API-first methodology benefits both developers and businesses. Let&#8217;s explore these advantages from two key viewpoints.</p><div><hr></div><h4><strong>1. Technical Perspective: A Developer&#8217;s Dream</strong></h4><p>From a technical standpoint, the API-first approach is about creating software that&#8217;s modular, interconnected, and future-proof. Here&#8217;s why it matters:</p><ul><li><p><strong>Seamless Integration and Connectivity</strong><br>APIs act as the glue between different software components. Whether you&#8217;re building microservices or integrating third-party platforms, APIs ensure smooth communication and data sharing. This modularity makes it easier to assemble complex systems from smaller, reusable components.</p></li><li><p><strong>Cross-Platform Compatibility</strong><br>APIs are designed to work seamlessly across devices and platforms, ensuring that software can cater to diverse user bases. Whether it&#8217;s a mobile app, a web application, or even IoT devices, APIs enable consistent experiences.</p></li><li><p><strong>Scalability and Flexibility</strong><br>As businesses grow, so do their software requirements. APIs enable developers to scale systems by adding or updating components without disrupting the entire ecosystem. This adaptability is crucial in accommodating larger user bases and evolving business needs.</p></li><li><p><strong>Enhanced User Experiences Through Data Integration</strong><br>APIs can pull data and features from various sources, creating applications that deliver richer, more dynamic user experiences. For example, a travel app can combine flight data, hotel availability, and weather forecasts&#8212;all through APIs.</p></li></ul><div><hr></div><h4><strong>2. Business Perspective: Unlocking New Opportunities</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1OFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1OFh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 424w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 848w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 1272w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1OFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp" width="1456" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89794,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1OFh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 424w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 848w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 1272w, https://substackcdn.com/image/fetch/$s_!1OFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefff1ec4-6dd5-4028-8214-dec14288fb3a_1600x847.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The API-first approach isn&#8217;t just a technical strategy&#8212;it&#8217;s a powerful business enabler. Companies like <strong>Stripe</strong>, <strong>Twilio</strong>, and <strong>AssemblyAI</strong> have demonstrated how API-first can drive growth and innovation. Here&#8217;s how it works:</p><ul><li><p><strong>Monetization Opportunities</strong><br>APIs can be a revenue stream in themselves. Companies can charge for API usage, offer premium features, or establish partnerships with other businesses that rely on their APIs. For instance, <strong>Stripe&#8217;s APIs</strong> power payment systems globally, generating significant revenue.</p></li><li><p><strong>Expanding Market Reach</strong><br>APIs enable third-party developers to build applications and services on top of your platform. This creates a developer ecosystem and helps your business expand its market presence. Think about how platforms like <strong>Twilio</strong> have become indispensable to developers building communication tools.</p></li><li><p><strong>Faster Time-to-Market</strong><br>With APIs, companies can reuse existing software components, reducing development time. This allows startups and businesses to bring products to market faster, staying ahead of competitors.</p></li><li><p><strong>Competitive Edge Through Integration</strong><br>In today&#8217;s software landscape, customers expect tools that integrate seamlessly with others. API-first companies are better positioned to meet this demand, providing superior integration options that attract and retain clients.</p></li><li><p><strong>Agility and Innovation</strong><br>By prioritizing APIs, companies can quickly adapt to changing market conditions. APIs enable businesses to iterate and innovate faster, ensuring they stay relevant in dynamic industries.</p></li></ul><h2><strong>Key industries for API-first development</strong></h2><p>While the API-first approach can bring value across various domains, here are sectors where this approach is especially beneficial.&nbsp;</p><h3>Healthcare</h3><p>In healthcare, APIs are crucial for bringing together multiple players and ensuring the data is shared between them in an accessible and secure manner.</p><ul><li><p>Healthcare organizations must securely transmit electronic health records (EHRs) and patient information among various providers, insurers, and systems. API-first integration ensures the&nbsp;<strong>seamless and secure exchange of medical data</strong>, improving patient care coordination.&nbsp;</p></li><li><p>More than that, APIs enable&nbsp;<strong>the integrating</strong>&nbsp;of disparate healthcare systems, such as electronic medical record (EMR) systems, telehealth platforms, and diagnostic equipment. APIs also empower developers to create&nbsp;<strong>innovative healthcare applications</strong>, including mobile health (mHealth) apps, remote patient monitoring solutions, and telemedicine platforms. These applications can transform the way patients access care and manage their health.&nbsp;</p></li></ul><p>For example, <a href="https://www.shmsolutions.in/">SmartHMS</a>, an EHR provider, offers APIs that allow healthcare organizations to integrate patient data seamlessly. This enables healthcare providers to access patient records, exchange information securely, and improve care coordination.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!91Rz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!91Rz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 424w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 848w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 1272w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!91Rz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp" width="1456" height="767" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:767,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51804,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!91Rz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 424w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 848w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 1272w, https://substackcdn.com/image/fetch/$s_!91Rz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b7ad70a-785e-4912-919e-11a4693f7bb1_1600x843.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Banking and finance</strong></h2><p>The financial industry relies heavily on data and transactions, making the API-first approach beneficial for improving services and operations.</p><ul><li><p>API-first strategies are at the heart of&nbsp;<strong>open banking</strong>&nbsp;initiatives, enabling financial institutions to expose their services and data to third-party developers securely. This encourages the creation of new financial products, and enhances customer experiences.</p></li><li><p>APIs facilitate&nbsp;<strong>real-time access to financial data</strong>, enabling customers to view account balances, conduct transactions, and receive alerts instantly. This real-time capability is essential for online banking and&nbsp;mobile banking applications.</p></li><li><p><strong>APIs can be used for fraud detection and prevention services</strong>, enhancing security in financial transactions, and enabling rapid detection of suspicious activities and help mitigate fraud risks.</p></li></ul><p>The most notable example here is, of course, <a href="https://razorpay.com/">Razorpay</a>. Razorpay's API-first approach revolutionized online payments. Its APIs enable businesses to integrate payment processing into their websites and apps seamlessly, simplifying the checkout process and enhancing the user experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rgEz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rgEz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 424w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 848w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 1272w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rgEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp" width="1456" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77500,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rgEz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 424w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 848w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 1272w, https://substackcdn.com/image/fetch/$s_!rgEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2da505-d668-4e5a-88f8-4b95a6687a27_1600x861.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Travel and hospitality</strong></h2><p>This industry relies on seamless customer experiences, making the API-first approach invaluable for improving services and expanding offerings.</p><ul><li><p>APIs allow travel companies to easily connect users with airlines, hotels, car rental services, and other providers,&nbsp;<strong>streamlining the booking and reservation process</strong>,&nbsp;<strong>and offering customers a one-stop-shop for travel arrangements.</strong></p></li><li><p>By leveraging APIs, travel companies can access customer data and preferences, enabling them to offer&nbsp;<strong>personalized recommendations</strong>, travel itineraries, and loyalty rewards. This personalization enhances the overall travel experience.</p></li><li><p>APIs enable&nbsp;<strong>real-time access to pricing and availability&nbsp;</strong>information. Travel companies can adjust pricing based on demand and market conditions, maximizing their revenue and competitiveness.</p></li></ul><p>Amadeus provides APIs for travel booking and reservation systems. Airlines, hotels, and travel agencies can integrate their APIs to offer comprehensive travel booking and management services, improving the traveler's experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sEbh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sEbh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 424w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 848w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 1272w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sEbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131398,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://adityeah.substack.com/i/171132822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sEbh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 424w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 848w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 1272w, https://substackcdn.com/image/fetch/$s_!sEbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10201b1-585c-4b40-a5d1-a52ad37beac5_1600x791.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>API-first approach and UX design</strong></h2><p>When you think about&nbsp;launching a SaaS business, you should always keep user experience (UX) at the forefront. And going for an API-first design is no exception.&nbsp;</p><p>The API-first design and development allows for a more personalized and seamless user experience. For example, by combining API functionality with thoughtful UX design you can better&nbsp;<strong>address users&#8217; needs and preferences</strong>. APIs provide the data and functionalities necessary for a feature-rich application, while UX design ensures that these features are intuitive and user-friendly.&nbsp;</p><p>UX designers can also leverage APIs to&nbsp;<strong>streamline user journeys</strong>. For example, integrating geolocation APIs can enhance the user experience by providing location-based services, such as finding nearby stores or restaurants, letting users achieve their goals much easier.</p><p>Finally, the collaboration between API development teams and UX designers promotes&nbsp;<strong>an iterative approach to product development</strong>. Developers and designers rely on user feedback, as well as on each other's insights to continuously improve the product. </p>]]></content:encoded></item><item><title><![CDATA[10 API Terms Every Product Manager Should Know (AI Edition)]]></title><description><![CDATA[APIs (Application Programming Interfaces) are the backbone of modern digital products, especially in AI-driven environments.]]></description><link>https://news.adityeah.in/p/10-api-terms-every-product-manager-should-know-ai-edition</link><guid isPermaLink="false">https://news.adityeah.in/p/10-api-terms-every-product-manager-should-know-ai-edition</guid><dc:creator><![CDATA[adityeah]]></dc:creator><pubDate>Tue, 22 Oct 2024 17:15:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e3b22735-5840-4c2f-b741-9b9719ce1399_1200x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>APIs (Application Programming Interfaces) are the backbone of modern digital products, especially in AI-driven environments. As a Product Manager, understanding key API concepts helps you collaborate effectively with your tech team and make informed product decisions. In this blog, we&#8217;ll explore 10 essential API terms, enriched with real-world AI use cases.</p><h3>1. Requests &amp; Responses</h3><p>APIs work through requests and responses&#8212;much like a conversation between two systems. You make a request, and the API returns a response, typically in JSON or XML format.</p><p><strong>AI Example</strong>: When you use an AI chatbot, it sends a request to an API to fetch user details, and the response includes personalized recommendations based on past behavior.</p><p><strong>Why It&#8217;s Important</strong>: Understanding this concept helps you know how data moves between systems, aiding in integrations with other platforms.</p><div><hr></div><h3>2. REST (Representational State Transfer)</h3><p>REST is an architectural style that makes APIs more scalable and easier to use. It relies on standard web protocols like HTTP for communication.</p><p><strong>AI Example</strong>: Popular AI services like OpenAI or Google Cloud&#8217;s AI services use REST APIs to process text or image inputs and return predictions or classifications.</p><p><strong>Why It&#8217;s Important</strong>: RESTful APIs make it easier to manage and scale services, especially when your AI product grows in user base.</p><div><hr></div><h3>3. HTTP Methods</h3><p>APIs use specific HTTP methods like:</p><ul><li><p><strong>GET</strong>: Retrieve data</p></li><li><p><strong>POST</strong>: Submit new data</p></li><li><p><strong>PUT</strong>: Update existing data</p></li><li><p><strong>DELETE</strong>: Remove data</p></li></ul><p><strong>AI Example</strong>: An AI-powered app might use a POST method to submit new images for object recognition, while a GET request retrieves the result of the analysis.</p><p><strong>Why It&#8217;s Important</strong>: Knowing these methods helps you understand what actions your API is performing, whether it's retrieving user info or updating a database.</p><div><hr></div><h3>4. Endpoints</h3><p>Endpoints are specific URLs where API resources or services are accessible. Think of them as access points for different functions of an API.</p><p><strong>AI Example</strong>: In an AI image recognition system, you might have an endpoint like <code>/api/v1/images/upload</code> to upload photos for analysis.</p><p><strong>Why It&#8217;s Important</strong>: Well-structured endpoints make APIs more intuitive to use, which can speed up product development.</p><div><hr></div><h3>5. API Documentation</h3><p>API documentation is a guide that explains how to use the API, listing available endpoints, data formats, and authentication methods.</p><p><strong>AI Example</strong>: When integrating an AI text-to-speech API, the documentation will tell you what file formats are accepted (e.g., WAV or MP3) and how to structure your requests.</p><p><strong>Why It&#8217;s Important</strong>: Clear documentation ensures smooth integration, helping your team understand how to use the API without needing to constantly ask the provider for help.</p><div><hr></div><h3>6. API Calls</h3><p>An API call is the request made to an API to retrieve or send data. It involves specifying the endpoint, method (like GET or POST), and any necessary parameters or payloads.</p><p><strong>AI Example</strong>: An e-commerce platform might make an API call to an AI-powered recommendation engine to get product suggestions for users based on their browsing history.</p><p><strong>Why It&#8217;s Important</strong>: Every interaction between your product and an external service is an API call, so understanding this concept is crucial for seamless integrations.</p><div><hr></div><h3>7. Payloads</h3><p>The payload refers to the data that you send to or receive from an API. This could be in the form of user data, settings, or a file.</p><p><strong>AI Example</strong>: When sending text to an AI sentiment analysis API, the payload contains the actual text. The response payload might contain a sentiment score (positive, neutral, or negative).</p><p><strong>Why It&#8217;s Important</strong>: Managing payloads correctly ensures that the right data is being transferred and processed, which is especially important for AI products that rely on large datasets.</p><div><hr></div><h3>8. Response Codes</h3><p>Response codes are numeric codes that indicate the status of an API request. Common codes include:</p><ul><li><p><strong>200 OK</strong>: Request succeeded</p></li><li><p><strong>404 Not Found</strong>: The endpoint doesn&#8217;t exist</p></li><li><p><strong>500 Internal Server Error</strong>: Something went wrong on the server</p></li></ul><p><strong>AI Example</strong>: In a machine learning model deployment, a 200 response code indicates that the model successfully processed the input, while a 400 (Bad Request) could indicate an issue with the data format.</p><p><strong>Why It&#8217;s Important</strong>: These codes give you insight into what&#8217;s happening under the hood, allowing you to troubleshoot issues more efficiently.</p><div><hr></div><h3>9. Headers</h3><p>Headers are part of an API request or response that provide additional information, like content type or authorization tokens.</p><p><strong>AI Example</strong>: When interacting with an AI service like AWS Rekognition, you&#8217;ll often need to include an authorization header with your API key to access the service.</p><p><strong>Why It&#8217;s Important</strong>: Properly using headers is crucial for authentication and managing data formats, ensuring secure and efficient communication.</p><div><hr></div><h3>10. Authentication</h3><p>Authentication ensures that only authorized users can access an API. Common methods include API keys, OAuth tokens, and JWT (JSON Web Tokens).</p><p><strong>AI Example</strong>: Many AI platforms, like IBM Watson, require OAuth-based authentication to ensure only authorized users can make API calls to train or access models.</p><p><strong>Why It&#8217;s Important</strong>: Security is paramount when building products that rely on sensitive data, especially in AI where proprietary algorithms and data are key assets.</p><div><hr></div><h3>Why These Terms Matter for Product Managers</h3><p>Understanding these API terms enables you to:</p><ul><li><p><strong>Collaborate effectively with technical teams</strong>: You&#8217;ll be able to speak the language of developers and engineers, reducing the communication gap.</p></li><li><p><strong>Make better product decisions</strong>: Knowing how APIs work helps you evaluate third-party services and decide which are best for your product.</p></li><li><p><strong>Optimize API integration</strong>: By understanding API documentation, you can ensure smooth and efficient integrations, saving time and resources during development.</p></li></ul><h3>Conclusion</h3><p>APIs are essential for building scalable, AI-driven products. By familiarizing yourself with these key API terms, you can better manage your product's technical aspects, ensuring successful integrations and smoother collaboration with your development team.</p><p>Stay updated with new API trends and practices to keep your product competitive in a rapidly evolving digital landscape!</p>]]></content:encoded></item></channel></rss>