<?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[Priyansh Jain]]></title><description><![CDATA[🧩]]></description><link>https://priyansh0327.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!SgM3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa21edb29-5b95-4649-9e4f-ca2df4d5bda7_1024x1024.png</url><title>Priyansh Jain</title><link>https://priyansh0327.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 25 Aug 2026 09:11:39 GMT</lastBuildDate><atom:link href="https://priyansh0327.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Priyansh Jain]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[priyansh0327@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[priyansh0327@substack.com]]></itunes:email><itunes:name><![CDATA[Priyansh Jain]]></itunes:name></itunes:owner><itunes:author><![CDATA[Priyansh Jain]]></itunes:author><googleplay:owner><![CDATA[priyansh0327@substack.com]]></googleplay:owner><googleplay:email><![CDATA[priyansh0327@substack.com]]></googleplay:email><googleplay:author><![CDATA[Priyansh Jain]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Which Airlines Have Starlink Wi-Fi? The Complete 2026 Guide]]></title><description><![CDATA[Flying vs announced, free vs loyalty-gated, fleet by fleet. Every claim checked against the airline's own pages.]]></description><link>https://priyansh0327.substack.com/p/which-airlines-have-starlink-wi-fi</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/which-airlines-have-starlink-wi-fi</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Sat, 22 Aug 2026 11:21:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zaOm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zaOm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zaOm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zaOm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg" width="1280" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1280,&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;:true,&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_!zaOm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zaOm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b63c43b-d554-4276-a8c2-475129e8eaf9_1280x800.jpeg 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 aria-hidden="true" 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><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>An airline announcing Starlink doesn&#8217;t mean your flight has Starlink.</p><p>That&#8217;s the mistake thousands of travelers make every week.</p><p><strong>Airlines announce deals.</strong></p><p><strong>Planes get upgraded one aircraft at a time.</strong></p><p><strong>Your ticket is for one specific aircraft, not for a press release.</strong></p><p>After auditing 235 airlines, I realized there was no easy way to know whether your specific flight would actually have Starlink or an older satellite system. That&#8217;s why I built <strong><a href="https://chromewebstore.google.com/detail/flightwifi-%E2%80%93-in-flight-wi/omoclebljmjljikaoaogdpahjlbmdbin">FlightWifi</a></strong>, a free tool that shows flight Wi-Fi quality directly inside Google Flights before you book. This article is the dataset behind it.</p><p>The audit used only official airline documentation and connectivity-provider announcements, never aggregator blogs. Here is what it says about in-flight internet in mid-August 2026, starting with the quick version:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MKUZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MKUZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 424w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 848w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 1272w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MKUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png" width="1400" height="917" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:917,&quot;width&quot;:1400,&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_!MKUZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 424w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 848w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.png 1272w, https://substackcdn.com/image/fetch/$s_!MKUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9494325-bc08-44f4-ba7d-cd56c7ecc62c_1400x917.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 aria-hidden="true" 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><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 rest of this guide is the detail behind that table, and the traps it can&#8217;t show.</p><p><strong>The full-coverage club: every plane (or every plane of a type) has it</strong></p><p>These are the airlines where you don&#8217;t need luck. If you&#8217;re on the aircraft type listed, Starlink is there.</p><ul><li><p><strong>Qatar Airways</strong>: the entire Boeing 777, Airbus A350 and 787&#8211;8 widebody fleet is done. The 787&#8211;9s finish before end of 2026, the A320s come last. Free for everyone.</p></li><li><p><strong>Hawaiian Airlines</strong>: every Airbus A330 and A321. Free (a free Atmos Rewards account is required since July). The 787s get theirs from fall 2026.</p></li><li><p><strong>WestJet</strong>: the whole 737 narrowbody fleet, finished back in 2025. The 787&#8211;9s are being fitted through end of 2026. Free for WestJet Rewards members.</p></li><li><p><strong>Virgin Atlantic</strong>: all 12 A350s since June 2. Free for Flying Club members. The 787s and A330s are still on the old paid Viasat until their retrofits.</p></li><li><p><strong>airBaltic</strong>: the entire A220 fleet. Free for every passenger from boarding, no account, no tier. The quiet European pioneer.</p></li><li><p><strong>ZIPAIR</strong>: the whole 787 fleet, and it has been there longer than almost anyone. Free for all.</p></li><li><p><strong>Air Canada (Jazz)</strong>: 25 Dash 8&#8211;400 turboprops on the Billy Bishop Toronto routes. Free for Aeroplan members.</p></li></ul><p><strong>The coin-toss tier: real Starlink, but whether YOUR plane has it is chance</strong></p><p>This is the tier that generates the viral praise and the angry follow-up posts. The system is genuinely flying, on some of the planes.</p><ul><li><p><strong>United</strong>: about 522 of 1,817 aircraft as of this week, converting 40 to 50 more every month. All regional jets are done, 1,000 aircraft targeted by end of 2026, widebodies complete by summer 2027. Free with a MileagePlus account.</p></li><li><p><strong>Emirates</strong>: 33 Boeing 777s and 3 A380s as of July, heading for around 150 aircraft by end of 2026 and the full 232-strong widebody fleet by mid-2027. Free in all cabins on fitted planes.</p></li><li><p><strong>Air France</strong>: 28 of 31 777&#8211;300ERs, 30 of 41 A350s, 45 of 56 A220s, 24 of 30 E190s, but only 3 of 28 A320s as of June. Completion expected end of 2026. Free with Flying Blue.</p></li><li><p><strong>SAS</strong>: live since March, A320 family first, remaining types through Q4 2026. Free for EuroBonus members, with quoted speeds above 500 Mbps.</p></li><li><p><strong>Southwest</strong>: rolling since June, targeting about 300 of its 800+ 737s by end of 2026. Free for Rapid Rewards members, $8 for everyone else.</p></li><li><p><strong>Alaska Airlines</strong>: every E175 regional jet plus about 50 mainline 737s so far, 787s from fall 2026. Free with a free Atmos Rewards account, sponsored by T-Mobile.</p></li><li><p><strong>Aer Lingus</strong>: flying since March 29. All Shannon transatlantic A330s are equipped and the airline now targets 100% of long-haul by end of 2026. Free for everyone on fitted aircraft.</p></li><li><p><strong>Iberia</strong>: first revenue Starlink flight on June 23, Madrid to S&#227;o Paulo. Free in every cabin on fitted aircraft.</p></li><li><p><strong>British Airways</strong>: five 787s since March. Installations paused for the summer schedule and resume in October. Free on those five, paid legacy Wi-Fi on the rest.</p></li><li><p><strong>Copa Airlines</strong>: first aircraft in July, full fleet targeted by Q1 2027. Paid in economy, free in business and for top-tier ConnectMiles.</p></li><li><p><strong>Gulf Air</strong>: progressive rollout since May. Free, unlimited, gate to gate, for every passenger on fitted aircraft.</p></li><li><p><strong>Air New Zealand</strong>: a domestic trial, including the world&#8217;s first Starlink ATR 72 turboprop. Most of the domestic fleet is not yet fitted.</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_!OcJT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OcJT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 424w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 848w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 1272w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OcJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png" width="1456" height="911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:911,&quot;width&quot;:1456,&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_!OcJT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 424w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 848w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.png 1272w, https://substackcdn.com/image/fetch/$s_!OcJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a7c2a01-5cce-4ea5-86e5-a97e379ea860_1586x992.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 aria-hidden="true" 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><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><strong>Signed, announced, celebrated, and not carrying a single passenger yet</strong></p><p>Every airline below has a real Starlink contract. None of them will give you Starlink if you book today.</p><ul><li><p><strong>Lufthansa Group</strong>: the biggest deal of all, 850+ aircraft across Lufthansa, SWISS, Austrian, ITA, Brussels, Eurowings and Edelweiss, phased through 2029. The very first aircraft, an A320neo, enters service this week (August 19). Everything else is still the old FlyNet.</p></li><li><p><strong>Korean Air</strong>: Starlink hardware has been going onto A350s since July, but the service is not switched on for passengers yet. The group deal also covers Jin Air, Air Seoul and Asiana, none flying it either.</p></li><li><p><strong>Singapore Airlines</strong>: around 53 A350s and A380s, installations start Q1 2027, completing 2029.</p></li><li><p><strong>flydubai</strong>: my favorite cautionary tale. It announced Starlink, and in the meantime it removed its old Wi-Fi entirely. A flydubai flight today has no internet at all.</p></li><li><p><strong>El Al</strong> (2027), <strong>Frontier</strong> (installs from early 2027, no Wi-Fi at all today), <strong>Wizz Air</strong> (installs 2027), <strong>Volaris</strong>, <strong>JetSMART</strong>, <strong>Cebu Pacific</strong> (all 2027), <strong>Vietjet</strong> (signed in May, no date announced).</p></li></ul><p><strong>The biggest lie in airline Wi-Fi</strong></p><p>Your phone shows full Wi-Fi bars.</p><p>Your messages do not send.</p><p>Because the &#8220;Wi-Fi&#8221; isn&#8217;t connected to the internet. It&#8217;s a movie server.</p><p>This is the most common trap in the entire dataset. Dozens of airlines advertise &#8220;Wi-Fi onboard&#8221; that is a local streaming network: films, a menu, a moving map, and no connection to the ground at all. easyJet, Ryanair, IndiGo, Vietjet, Volotea, Aeroflot and many others fall in this bucket today. Aggregator sites list them all as &#8220;has Wi-Fi.&#8221; No airplane Wi-Fi lie is told more often than this one.</p><p><strong>Fast without Starlink</strong></p><p>Starlink isn&#8217;t the only low-orbit game in airline Wi-Fi. Amazon&#8217;s Kuiper reaches JetBlue from 2027. Eutelsat OneWeb capacity is already flying in multi-orbit setups at Avianca (since December 2025), Air Arabia (since March 2026) and Discover Airlines, with LATAM&#8217;s narrowbodies next. SES&#8217;s mid-orbit O3b mPOWER is coming to Thai Airways and Air Astana. And to be fair to the old guard: Delta, American, JetBlue and Qantas all run modern high-orbit systems that are perfectly fine for mail and browsing, just not for a video call.</p><p><strong>I built the tool I wish existed</strong></p><p>Every time I booked a flight, I ended up researching the same questions:</p><ul><li><p>Does this exact aircraft have Starlink, or the older satellite?</p></li><li><p>Is the Wi-Fi on this plane actually usable for work and video calls?</p></li><li><p>Is this airline halfway through a rollout, where my plane is a coin toss?</p></li><li><p>Is the &#8220;Wi-Fi&#8221; even connected to the internet?</p></li></ul><p>Eventually I got tired of repeating that research for every booking.</p><p>So I built <strong>FlightWifi</strong>. It adds the answer directly into Google Flights (and Skyscanner and Soar) before you book: an aircraft-specific verdict on every flight, from &#8220;video calls work&#8221; to &#8220;no Wi-Fi&#8221;, with the source behind every claim one hover away. Knowing your Wi-Fi before booking takes zero extra clicks, and it&#8217;s free.</p><h2><strong>Want to check your own flight?</strong></h2><p>Explore<strong> <a href="https://flightwifi.app/">FlightWifi.app</a></strong> to see airline, aircraft, provider and Starlink Wi-Fi data, or <strong><a href="https://chromewebstore.google.com/detail/flightwifi-%E2%80%93-in-flight-wi/omoclebljmjljikaoaogdpahjlbmdbin">install the tool on Chrome web store</a> </strong>to see the verdict directly inside Google Flights.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k_yZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k_yZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 424w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 848w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 1272w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k_yZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png" width="1400" height="934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:934,&quot;width&quot;:1400,&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_!k_yZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 424w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 848w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.png 1272w, https://substackcdn.com/image/fetch/$s_!k_yZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86d747c6-3943-4199-af8c-75d417a366d3_1400x934.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 aria-hidden="true" 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><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>Method: every claim above comes from an official airline page, an official provider announcement (SpaceX, Viasat, Panasonic, Intelsat, SES, Anuvu, SITA) or established aviation trade press, checked airline by airline in August 2026. Rollout counts change weekly on the fast movers, and this article reflects mid-August 2026. If you spot something that has since changed, tell me and I&#8217;ll correct it.</p>]]></content:encoded></item><item><title><![CDATA[Graph Engineering Will 10x Your Claude/Codex]]></title><description><![CDATA[You know the move.]]></description><link>https://priyansh0327.substack.com/p/graph-engineering-will-10x-your-claudecodex</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/graph-engineering-will-10x-your-claudecodex</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Tue, 11 Aug 2026 16:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SgM3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa21edb29-5b95-4649-9e4f-ca2df4d5bda7_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Big task lands on your desk. You open Claude or Codex. You write the most beautiful 400-word prompt of your life, stuffed with context, constraints, tone notes, and a politely threatening line about not hallucinating. You hit enter. Out comes three pages of extremely confident output.</p><p>And then you sit there reading it with a slowly sinking feeling.</p><p>Some of this is genuinely good. Some of it is quietly wrong. And you cannot tell which is which without doing most of the work yourself, which was the entire thing you were trying to avoid.</p><p>Here is the uncomfortable part: that is not a prompting problem. You will not fix it with a better prompt. You could write the greatest prompt in human history and still get a confident blob you have to fact-check line by line.</p><p>It is an architecture problem. And it has a fix with a slightly intimidating name.</p><p>Graph engineering.</p><h2><strong>One worker versus a small team</strong></h2><p>A single chat session is one person doing everything at once.</p><p>That one person is simultaneously planning the work, researching it, writing it, checking it, and deciding when it is done. If you hired a human like that, you would not be surprised when quality wobbled. You would not ask one employee to be the strategist, the analyst, the writer, and the quality reviewer, and then also be the person who signs off on their own performance review.</p><p>But that is exactly what a single prompt does.</p><p>Graph engineering is the alternative. Instead of one prompt doing everything, you break the work into a set of connected jobs, each with one responsibility, wired together with logic, passing information between them.</p><p>That is it. That is the whole idea. Everything else is detail.</p><h2><strong>The three pieces: jobs, arrows, and state</strong></h2><p>A graph has three parts, and the third one is where the magic actually lives.</p><p><strong>Jobs</strong> are the boxes. Each one is a unit of work with a single responsibility. &#8220;Research how competitors price this.&#8221; Not &#8220;build my business.&#8221; A job should be small enough that you could describe what a good output looks like in one sentence. If you cannot, it is not one job, it is three wearing a trench coat.</p><p><strong>Arrows</strong> are the logic between the boxes. Sometimes an arrow just means &#8220;then do this next.&#8221; Sometimes it is conditional: if the checker rejects it, go back. Sometimes one job fans out to three, and three fan back into one.</p><p><strong>State</strong> is what travels along the arrows. This is the part people skip, and it is the part that makes the whole thing work.</p><p>In a normal chat, state is invisible. It is just the conversation history, an ever-growing pile of everything that has been said, dragged along into every new turn whether it is relevant or not. That pile is why long sessions get dumber. The model is trying to hold every stray comment, every abandoned idea, and every apology from forty messages ago in mind at once.</p><p>In a graph, state is explicit. Each job receives a defined input and produces a defined output, and <em>that specific thing</em> is what moves forward. The researcher does not need to know what tone you argued about in message six. It needs the question and the constraints. That is all.</p><p>Explicit handoffs are the difference between a team with a process and a group chat.</p><h2><strong>Quick detour: this is not a knowledge graph</strong></h2><p>The word &#8220;graph&#8221; is overloaded, so let us clear this up fast.</p><p>A <strong>knowledge graph</strong> maps relationships between things. This customer bought that product. This paper cites that paper. This concept relates to that one. It is about how data connects.</p><p>An <strong>agent graph</strong>, which is what we are talking about, maps how <em>work</em> moves between specialized workers. A planner hands to a researcher. A researcher hands to a skeptic. A skeptic hands back or hands forward.</p><p>Same word, different job. Knowledge graphs organize facts. Agent graphs organize labor.</p><h2><strong>The Diamond, and why it beats your best prompt</strong></h2><p>The most useful pattern to learn first is shaped like a diamond. It starts narrow, gets wide, then gets narrow again.</p><pre><code><span>One question
                     |
        +------------+------------+
        |            |            |
   Research A   Research B   Research C
        |            |            |
        +------------+------------+
                     |
              Skeptic / Checker
                     |
              Recommendation
                     |
              Human approval</span></code></pre><p>Read it top to bottom.</p><p><strong>One question at the top.</strong> You frame the actual problem. Not a vague vibe, a real question with a real decision attached to it. Most bad AI output traces back to a fuzzy question, and no amount of downstream cleverness rescues it.</p><p><strong>It splits into parallel research paths.</strong> Three separate investigations, running independently, each pursuing its own angle without seeing what the others are doing.</p><p>That independence is the entire point. When one chat session explores a problem, it commits to its first plausible idea within about two paragraphs and then spends the rest of the session gathering support for it. That is not research, that is a press release. Three branches that cannot see each other cannot converge on the same early guess, so you get actual different perspectives instead of one idea wearing three hats.</p><p><strong>Everything flows into a skeptic.</strong> A dedicated job whose only purpose is to attack what the researchers produced. Find the contradictions. Find the unsupported claim. Find the thing that sounds right and is not.</p><p><strong>Then it merges into a recommendation.</strong> One job takes the surviving material and produces a clear answer with reasoning attached.</p><p><strong>And ends at human approval.</strong> You. Looking at a tight recommendation with the critique already applied, instead of a raw blob you have to audit from scratch.</p><p>Notice what the diamond did to your workload. In the one-prompt world, you are the reviewer, the fact-checker, and the skeptic, all at 11pm. In the diamond, those jobs happened before the output ever reached you. You get to do the thing humans are actually good at, which is making the call.</p><h2><strong>The one rule you cannot break: separate the checker</strong></h2><p>If you take a single thing from this article, take this.</p><p><strong>Never let the model that generated the work be the model that grades it.</strong></p><p>You have probably done the thing where you ask, right at the end, &#8220;now review your answer and fix any mistakes.&#8221; And it says something like &#8220;great catch, here is an improved version,&#8221; and improves nothing of substance. It fixes a comma. It rewords an intro. It declares itself correct.</p><p>This is not the model being lazy. It is structural. That model has the full reasoning chain that produced the answer sitting in its context, and that chain feels coherent, because it built it. Asking it to review its own work is asking someone to spot their own blind spot using only their blind spot.</p><p>So make checking a real job. Separate box, fresh context, adversarial instructions. Do not say &#8220;review this.&#8221; Say &#8220;your job is to find what is wrong with this. Assume it contains at least one significant error. Identify unsupported claims and internal contradictions.&#8221;</p><p>A grader that shares context with the generator is a rubber stamp with extra steps.</p><h2><strong>Three levels, and why you should start embarrassingly low</strong></h2><p>Here is the trap. You read all this, get excited, and immediately go install an orchestration framework. Do not do that yet.</p><p><strong>Level 1 is manual.</strong> Draw the graph on a whiteboard, or in Excalidraw, or on the back of an envelope. Then run it by hand. Open a fresh session per job. Paste the output of one into the next. Yes, it feels primitive. Do it anyway, at least once.</p><p>Running it manually is the fastest way to discover that your graph is wrong. And your first graph will be wrong. You will find that two of your boxes should be one box, that a step you thought was essential produces nothing useful, and that the handoff between step two and three is where everything falls apart. Discovering that with copy and paste costs you an hour. Discovering it after you have automated it costs you a weekend.</p><p>Automating a broken process just gets you broken results faster, with better logging.</p><p><strong>Level 2 is file-based.</strong> Now bring in your coding agent and have each step write its output to an actual file. <code>01-question.md</code>, <code>02-research-a.md</code>, <code>03-critique.md</code>, <code>04-recommendation.md</code>.</p><p>This is the sweet spot for most people, and it is more powerful than it looks. You get a paper trail, so when the final answer is weird you can walk backward and find the exact step where it went sideways. You get reproducibility, so you can rerun one step without redoing everything. You get resumability, so a failure at step four does not cost you steps one through three. And your state stops being &#8220;whatever is in the chat&#8221; and starts being &#8220;these specific files,&#8221; which is the whole discipline made concrete.</p><p><strong>Level 3 is automated.</strong> Now you graduate to orchestration frameworks: LangGraph, AutoGen, n8n, and friends. These give you real state management, conditional routing, human-in-the-loop approval gates, retries, and connections to external systems and APIs.</p><p>This is where you go when the graph is stable, you run it often, and the manual overhead has become the bottleneck. Not before. Most people should stay at level 2 considerably longer than their ego wants them to.</p><h2><strong>Do not build a cathedral</strong></h2><p>Once graphs click, there is an overwhelming temptation to add boxes. A second skeptic. A meta-planner that plans the planning. A synthesis layer that synthesizes the synthesis.</p><p>Resist.</p><p>The goal is the smallest graph that measurably improves quality. That is the whole target. Not the most impressive graph, not the one that would look best in a diagram on Twitter.</p><p>Every box you add costs you something real: more latency, more tokens, more places for state to get mangled, and more surface area to debug when the output comes out strange. If splitting a job in two does not visibly improve the result, merge it back. A four-box graph that reliably produces good work beats a twelve-box graph you do not fully understand.</p><p>The test is simple. Remove a box. Did the output get worse? If not, it was decoration.</p><h2><strong>The part almost everyone skips: memory</strong></h2><p>Here is the difference between a graph that helps you today and a graph that compounds.</p><p>A good graph does not just produce an answer. It produces <strong>artifacts</strong>. The framed question. The research. The critique. The reasoning behind the recommendation. And, if you are smart, the options you rejected and why.</p><p>That last one is worth its weight in gold. Six weeks later, when someone asks &#8220;did we consider X?&#8221;, you do not have to reconstruct your thinking from memory. It is written down, with the reason attached.</p><p>And those artifacts become inputs. Feed last quarter&#8217;s decisions into this quarter&#8217;s planner. Feed the critiques into your prompts so the skeptic knows what your recurring blind spots are. Feed the good outputs in as examples of the standard.</p><p>A chat session ends and takes everything with it. A graph leaves the receipts.</p><p>That is where the real multiplier lives. Not in any single run, but in the fact that run number twenty starts with everything runs one through nineteen learned, structured well enough to actually use.</p><h2><strong>Start this week, badly</strong></h2><p>You do not need a framework. You need a pen.</p><p>Pick one task you do over and over and quietly dread. Content research. Technical spec writing. Competitive analysis. Debugging a category of issue that keeps recurring.</p><p>Draw four boxes: frame the question, do the work, attack the work, produce the answer. Run it by hand, one fresh session per box. Notice exactly where it falls apart, because it will. Fix that one arrow. Run it again.</p><p>That is graph engineering. Everything after that is optimization.</p><h2><strong>Back to that 400-word prompt</strong></h2><p>You were not bad at prompting. That prompt was probably excellent.</p><p>You were just asking one worker to be an entire team, and then acting surprised when the work came back looking like one tired person did all of it at midnight.</p><p>Give the work a shape. Give each job one thing to do. Let something hostile check it before you ever see it. And write down what happened, so tomorrow starts smarter than today.</p><p>Your model did not get better. Your process did. That is the 10x.<br><br>You get a task and you think you can use Claude or Codex to help you. So you write a good prompt with lots of details and you tell it to not make things up. You hit enter. It gives you a lot of text that sounds really confident.</p><p>Then you read it and you start to feel bad. Some of it is good. Some of it is wrong.. You cannot tell which is which without doing a lot of work yourself. This is not what you wanted.</p><p>The problem is not with the prompt. You can write the prompt in the world and still get bad results. The problem is with how the computer&#8217;s set up. It is like having one person do everything. They have to plan, research, write and check their work by themselves. This is too much for one person.</p><p>There is a way. It is called graph engineering. Of having one person do everything you break the work into smaller jobs. Each job has one thing to do. They are all connected. This way each job can focus on its thing and do it well.</p><p>A graph has three parts: jobs, arrows and state. Jobs are like boxes where each box does one thing. Arrows are like the connections between the boxes. They show how the jobs are related. State is like the information that moves between the jobs.</p><p>In a conversation state is like a big pile of everything that has been said. It can get confusing.. In a graph state is clear. Each job gets the information it needs. Gives the information it produces. This way each job can do its thing without getting confused.</p><p>Some people might think that a graph is like a map of how thingsre related.. That is not what we are talking about. We are talking about a map of how work moves between jobs.</p><p>There is a pattern that&#8217;s really useful. It is called the diamond. It starts with one question then splits into three research jobs. Each job does its research and then gives its results to a skeptic. The skeptic checks the results. Gives them to a person who makes a recommendation. Finally a human approves the recommendation.</p><p>The diamond is good because it breaks the work into jobs. Each job can focus on its thing and do it well. The human only has to approve the recommendation, which is easier than doing all the work themselves.</p><p>There is one rule: the person who checks the work cannot be the same, as the person who does the work. This is because the person who does the work will not be able to see their mistakes. You need someone to check the work and find the mistakes.</p><p>There are three levels of using graphs. The first level is manual. You draw the graph on a piece of paper. Run it by hand. This is a way to start because you can see if the graph is working. The second level is file-based. You use a computer to run the graph. Each job writes its results to a file. This is a way to keep track of the work and make sure it is reproducible. The third level is automated. You use a program to run the graph and it can do everything for you.. You should not start with this level. You should start with the level and work your way up.</p><p>The goal is to make the graph that works. You do not need to make a complicated graph. You just need to make one that works and gives you results. So do not try to add many jobs or make it too complicated. Just keep it simple. Make sure it works.</p><p>Every time you add a box to something it costs you something. You get latency, more tokens and more places where things can go wrong.. When things do go wrong you have more things to check. If splitting a job into two parts does not make it better then you should just put it together. A simple graph with four boxes that works well is better than a graph with twelve boxes that you do not understand.</p><p>The test to see if a box is really needed is simple. Just remove the box. See if things get worse. If they do not then the box was not necessary.</p><p>People often forget about memory.</p><p>The difference between a graph that helps you now and a graph that will help you in the run is big.</p><p>A good graph does not just give you an answer. It also gives you useful things. You get the question you were trying to answer the research you did the critique of your work and the reasons why you made choices.. If you are smart you will also write down the options you did not choose and why you did not choose them.</p><p>This is really valuable. On, when someone asks you if you thought about something you will not have to try to remember. You will have it written down along with the reasons why you made your choices.</p><p>These things you write down can be used again. You can use quarters decisions to help you plan this quarter. You can use the critiques you got to help you write prompts.. You can use the good things you did as examples of what you should do again.</p><p>When you have a conversation it. You do not have anything to show for it.. When you make a graph you have something to show for it. You have a record of what you did.</p><p>This is where the real benefits come from. It is not from one time you use the graph but from the fact that each time you use it you can start with what you learned last time.</p><p>So start this week even if you do not do it well.</p><p>You do not need some system. You just need a pen.</p><p>Choose one thing you do over. Over that you do not like. It could be researching, writing specifications or analyzing competitors.</p><p>Draw four boxes: what is the question do the work check the work and give the answer. Try it out by hand one step at a time. See where it does not work and fix that part. Then try it again.</p><p>This is how you make a graph work well. Everything else is just making it a little better.</p><p>Now think about that prompt you wrote.</p><p>You were not bad, at writing prompts. That prompt was probably good.</p><p>You were just asking one person to do much work and then you were surprised when the work was not good.</p><p>Give each job one thing to do. Let someone check it before you see it. And write down what happened so you can do better tomorrow.</p><p>Your model did not get better. Your process got better. That is what made the difference.</p>]]></content:encoded></item><item><title><![CDATA[Over-delivering to your early customers matters a lot]]></title><description><![CDATA[Your first ten customers are not customers. They are witnesses.]]></description><link>https://priyansh0327.substack.com/p/over-delivering-to-your-early-customers</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/over-delivering-to-your-early-customers</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Sat, 27 Jun 2026 18:31:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SgM3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa21edb29-5b95-4649-9e4f-ca2df4d5bda7_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>They found you before the reviews existed, before the case studies, before anyone they trusted had vouched for you. They clicked &#8220;buy&#8221; or &#8220;sign up&#8221; on a thing with no track record, run by people they&#8217;d never met, and they did it anyway. That is not a transaction. That is faith, extended on credit, before you&#8217;d earned a cent of it.</p><p>Most founders treat that faith like a sale. They shouldn&#8217;t. How you repay those first few people is the single highest-leverage decision you&#8217;ll make in the early life of your company. And the way you repay it is by over-delivering: wildly, unsustainably, on purpose.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Let me make the case.</p><h2>At small numbers, every customer is the whole company</h2><p>When you have ten thousand customers, one unhappy person is a rounding error. You can lose them and never feel it.</p><p>When you have ten, one unhappy person is ten percent of everything you&#8217;ve built. Their experience isn&#8217;t a row in a dashboard. It&#8217;s a tenth of your reputation, walking around in the world, telling a story about you whether you like it or not.</p><p>This is the math early founders get wrong. They benchmark themselves against companies operating at scale, where service is a cost center to optimize <em>down</em>. But you are not at scale. At your size, a single delighted customer doesn&#8217;t just stay. They recruit. And a single burned customer doesn&#8217;t just leave. In a small, tight market, they warn everyone who&#8217;ll listen.</p><p>Early on, the leverage runs in both directions, and it is enormous.</p><h2>Over-delivering doesn&#8217;t scale. That&#8217;s the entire point.</h2><p>The most common objection sounds responsible: &#8220;I can&#8217;t answer every email at midnight, hand-onboard every user, and build a custom feature for one account. That doesn&#8217;t scale.&#8221;</p><p>Correct. It doesn&#8217;t. And that is precisely why you should do it now, while you still can.</p><p>Over-delivering isn&#8217;t a permanent operating model. It&#8217;s a temporary subsidy you pay while you have few enough customers that the subsidy is affordable. The window is small (measured in dozens of customers, not thousands), and it closes the moment you grow. You will never again have the time to personally make someone&#8217;s day. So spend that time now, when the per-customer cost is high but the per-customer payoff is highest.</p><p>Founders who refuse to do unscalable things in the name of building a scalable business often end up with neither. They optimize for efficiency before they have anything worth being efficient about.</p><h2>Your early customers are your cheapest, best distribution</h2><p>You will spend a great deal of money, later, trying to acquire customers. Ads. Content. Sales calls. A delighted early customer is the one channel that costs you nothing and converts better than all of them.</p><p>People do not share &#8220;fine.&#8221; Nobody has ever told a friend about a checkout flow that worked exactly as expected. What gets shared is the surprise: the bug you fixed before they reported it, the reply that arrived in two minutes instead of two days, the small thing you did that they never asked for and couldn&#8217;t have demanded.</p><p>Over-delivery is what manufactures that surprise. And surprise is what turns a customer into a megaphone you didn&#8217;t have to buy.</p><p>In a world where every founder is fighting for attention and paying dearly for it, the cheapest growth you&#8217;ll ever touch is a handful of early users who feel like they found something that actually cares about them.</p><h2>You don&#8217;t yet know what &#8220;delivering&#8221; means: over-delivering is how you find out</h2><p>Here&#8217;s the part nobody tells you: in the beginning, you don&#8217;t actually know what your product is for.</p><p>You have a guess. You built features you thought mattered. But your real value (the reason people will eventually pay) is almost always something adjacent to, or buried inside, what you set out to build.</p><p>When you over-deliver, you do a lot of things for those first customers. You go above and beyond in five directions at once. Then you watch which of those five things they actually light up about. The over-delivery is a sensor. It tells you, with more honesty than any survey, what people quietly value versus what they politely tolerate.</p><p>That signal is worth more than the effort costs. You&#8217;re not just delighting customers. You&#8217;re paying to discover your own product.</p><h2>What over-delivering actually looks like</h2><p>It&#8217;s rarely grand. It&#8217;s almost always small, fast, and human:</p><ul><li><p>Replying before they&#8217;ve finished wondering whether you will.</p></li><li><p>Doing the thing manually that they assumed was automated, without mentioning it was you, sweating behind the curtain.</p></li><li><p>Catching the problem before they hit it, and reaching out first.</p></li><li><p>Remembering their context, so they never have to re-explain themselves.</p></li><li><p>Giving them the upgrade, the extra month, the unasked-for fix, because you can, and because they were early.</p></li></ul><p>None of this is a growth hack. All of it says the same thing: <em>a real person on the other end noticed you took a risk on us, and decided to honor it.</em></p><p>That feeling is sticky. People forget your features. They do not forget how you treated them when you had every excuse to treat them like a number.</p><h2>The trap: it&#8217;s a phase, not a personality</h2><p>One warning, because this advice has a failure mode.</p><p>Over-delivering is a tactic for a season: the first cohort, the first community, the first reputation. It is not a forever-promise to every customer who ever shows up. If you over-deliver to everyone, indefinitely, you&#8217;ve quietly built a consulting business wearing a product&#8217;s pricing, and you&#8217;ll burn out somewhere around customer two hundred.</p><p>The move is this: over-deliver early to buy two things (word of mouth and learning), and then, once you know what people actually value, systematize the parts that matter and let go of the parts that don&#8217;t. The handwritten note becomes a great onboarding email. The midnight reply becomes a genuinely fast support norm. The one-off custom feature becomes a roadmap decision.</p><p>You&#8217;re not promising heroics forever. You&#8217;re using heroics, briefly, to earn the right to exist.</p><h2>The faith, repaid</h2><p>Come back to where we started. Being someone&#8217;s first customer is an act of faith. They bet on you when betting on you was irrational.</p><p>You can repay that bet two ways. You can deliver exactly what was promised: competent, forgettable, the floor. Or you can over-deliver so plainly that they walk away certain they were right to take the risk, and tell everyone they know.</p><p>The first costs you nothing and earns you nothing. The second costs you a few weeks of unsustainable effort, early, while it&#8217;s still cheap, and buys you the only thing a young company actually runs on: a small group of people who believe in you, loudly.</p><p>Plenty of competent products die quietly every year. The ones that take root are almost always the ones whose first handful of customers couldn&#8217;t keep quiet about them.</p><p>Over-deliver while you can. The window is open now, and it won&#8217;t stay open long.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[As a Solo Founder, What Do You Build First: Product or Audience?]]></title><description><![CDATA[Everyone you ask will say &#8220;both.&#8221; Everyone saying that has built neither.]]></description><link>https://priyansh0327.substack.com/p/as-a-solo-founder-what-do-you-build</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/as-a-solo-founder-what-do-you-build</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Thu, 11 Jun 2026 08:28:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SgM3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa21edb29-5b95-4649-9e4f-ca2df4d5bda7_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A friend of mine spent fourteen months building a product in silence.</p><p>He was a good engineer. The product was real a scheduling tool for freelance video editors, a niche he knew well because he had been one. He worked nights and weekends, polished the onboarding, rewrote the billing flow twice, added the integrations he was sure people would ask for. He did everything right except one thing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Launch day: he posted it on X to his 312 followers, put it on Product Hunt, and waited.</p><p>Eleven signups. Four of them were friends. One was his brother.</p><p>The product was good. I used it. It deserved better than eleven signups. But nobody knew he existed, and the internet does not reward things it cannot see. He spent fourteen months building the answer to a question nobody had heard him ask.</p><p>Around the same time, I watched someone else do the opposite. She spent a year building an audience posting daily about design systems, sharing teardowns, growing a newsletter to twenty thousand subscribers. Then she launched a product. A small one. Honestly, a worse product than my friend&#8217;s - a Notion template pack she made in two weekends.</p><p>She did five figures in the first month.</p><p>Worse product. A hundred times the outcome. That asymmetry should bother you. It bothered me for a long time, until I accepted what it actually means.</p><h2><strong>Distribution beats product, and it is not close</strong></h2><p>Here is the uncomfortable math of being a solo founder in 2026.</p><p>Building product has never been easier. AI pair programmers, no-code tools, open-source everything a competent solo founder can now ship in weeks what took a funded team a year in 2015. Which means your product, however good, is the least defensible thing about your business. Whatever you build, someone can clone in a month.</p><p>What they cannot clone is twenty thousand people who trust you.</p><p>Attention is the scarce resource now. Product is abundant. When something becomes abundant, its price falls. When something stays scarce, its price rises. The market is telling you what to build first, loudly, and most engineers refuse to hear it because the answer offends them.</p><p>It offended me. I am an engineer. I wanted the craft to win. I wanted the best product to find its users by being the best, the way it works in the story we tell ourselves. That story is dead, if it was ever alive. The graveyard of failed startups is not full of bad products. It is full of good products nobody heard about.</p><h2><strong>But audience-building feels like wasted time</strong></h2><p>I know the objection, because I made it for years. Posting on the internet feels unproductive. You write a thread, it gets forty likes, and you have nothing to show for it no code, no feature, no thing. Meanwhile a day spent building gives you something real you can point to.</p><p>This is an accounting error, and it is worth understanding exactly where the error lives.</p><p>When you build product before audience, your work compounds at zero until launch. Fourteen months of my friend&#8217;s effort produced no feedback, no validation, no waitlist, no learning about what people actually wanted. All the value was theoretical until the day it met the market and the day it met the market, the market shrugged.</p><p>When you build audience first, every single post is a tiny launch. You learn in public what resonates and what dies. You find out which problems people actually have not the ones you assume they have because they tell you, in replies, every day. By the time you build the product, you are not guessing. You are fulfilling an order the audience already placed.</p><p>The audience is not a marketing channel. It is the cheapest market research that has ever existed, and it pays you back twice: once in learning, once in launch-day distribution.</p><h2><strong>What this looks like in practice</strong></h2><p>Not &#8220;become an influencer.&#8221; Nobody needs another founder posting motivational threads about morning routines.</p><p>It looks like this: pick the niche you are going to build in, and become the person who publishes the most useful free things in that niche. If you are building for freelance video editors, publish the rate calculators, the client-contract templates, the workflow teardowns. Give away the knowledge that adjacent founders are hoarding for their paid product.</p><p>Do it for six months before you write a serious line of product code.</p><p>This is the part where every engineer&#8217;s stomach turns six months of <em>not building</em>. But you are building. You are building the asset that decides whether your product launch is a launch or a whisper. And here is the thing nobody tells you: the audience work makes the product better, not just the launch. The two hundred conversations you have along the way will kill your bad ideas early, for free, before you spend fourteen months on one.</p><h2><strong>The honest counterargument</strong></h2><p>There is one case where product-first is right, and pretending otherwise would make this essay propaganda instead of advice.</p><p>If your product&#8217;s users are not reachable through content enterprise buyers, regulated industries, niches that do not hang out on the internet audience-first collapses. You cannot newsletter your way to a hospital procurement department. In those markets, the equivalent of audience is relationships and pilots, and you often do need a working product to start those conversations.</p><p>And if you are a genuine outlier building something so technically deep that the demo is the distribution the product can be the audience strategy. But be honest with yourself about whether you are that outlier. Almost everyone who thinks they are, is not. The base rate is brutal.</p><p>For everyone else every SaaS, every tool, every template, every course, every app aimed at people who read things on the internet the order is settled.</p><h2><strong>Audience first. Then product. Then both forever.</strong></h2><p>Build the audience before the product, not because the audience matters more, but because the audience is the only thing that makes the product matter at all.</p><p>My friend with the scheduling tool understood this eventually. He spent the next year doing what he should have done first publishing, teaching, becoming visible in his niche. Then he relaunched the same product, barely changed.</p><p>Four hundred signups in the first week. Same product. Different fourteen months.</p><p>The product was never the problem. The silence was.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Being Brilliant Won’t Get You Promoted: These 25 Habits Will]]></title><description><![CDATA[The best engineer I ever worked with was not the smartest person in the room.]]></description><link>https://priyansh0327.substack.com/p/being-brilliant-wont-get-you-promoted</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/being-brilliant-wont-get-you-promoted</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Mon, 25 May 2026 07:09:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9RQC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.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_!9RQC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9RQC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9RQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:1740869,&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://priyansh0327.substack.com/i/199155960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.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_!9RQC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!9RQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28b99a-d1b7-4da3-a0e1-e63cbcd66daa_1672x941.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 aria-hidden="true" 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><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 uncomfortable truth about engineering careers is that the things that actually separate the great from the merely good are almost embarrassingly simple</p><p>The reason this is good news is that habits are learnable. You do not need a higher IQ. You do not need a better degree. You need to know which small things matter, and then do them until they stop feeling like effort and start feeling like who you are.</p><p>Here are the twenty-five that matter most. None of them are hard to understand. The hard part, the only hard part, is doing them on the days you do not feel like it, for long enough that they become automatic.</p><p>If you build even half of these into how you work, you will not need to be the smartest person on your team. You will be the one they cannot run the team without.</p><ol><li><p><strong>Clarify requirements before coding.</strong> The most expensive code is the code that solves the wrong problem perfectly. Ask what &#8220;done&#8221; looks like before you write a single line, and you will save yourself the rewrite.</p></li><li><p><strong>Break problems into smaller parts.</strong> A problem you cannot solve is usually three problems you have not separated yet. Cut it into pieces small enough to finish one sitting, and the impossible turns into a checklist.</p></li><li><p><strong>Read documentation fully.</strong> The answer you are about to spend an hour searching ChatGPT for is often two paragraphs into the docs you skimmed. Reading the whole page once is faster than guessing five times.</p></li><li><p><strong>Debug before guessing.</strong> Changing random lines until the error goes away is not fixing the bug: it is hiding it until it comes back worse. Find out what is actually happening before you touch anything.</p></li><li><p><strong>Write clean commit messages.</strong> Six months from now, &#8220;fixed stuff&#8221; tells you nothing and a clear message tells you everything. You are writing notes to a future version of yourself who has forgotten all of this.</p></li><li><p><strong>Ship consistently.</strong> The engineer who ships something small every week beats the one chasing the perfect release that never arrives. Done and in production teaches you more than perfect and in your head.</p></li><li><p><strong>Ask precise questions.</strong> &#8220;It doesn&#8217;t work&#8221; wastes everyone&#8217;s time; &#8220;the login returns a 500 when the email has a plus sign&#8221; gets you an answer in minutes. A good question is half the solution.</p></li><li><p><strong>Measure before optimizing.</strong> Your instinct about what is slow is usually wrong, and you will spend days speeding up code nobody waits on. Profile first, then fix the thing that actually costs time.</p></li><li><p><strong>Think in tradeoffs.</strong> There is no best choice, only the right choice for this situation faster but more memory, simpler but less flexible. Naming what you are giving up is what separates a decision from a guess.</p></li><li><p><strong>Write maintainable code.</strong> Code is read ten times for every once it is written, usually by someone tired and in a hurry. Write for the person who has to change it next, because that person is often you.</p></li><li><p><strong>Review code seriously.</strong> A rubber-stamp &#8220;LGTM&#8221; helps no one and lets bugs walk straight into production. A real review catches the problem now, when it is cheap, instead of at 2 AM when it is not.</p></li><li><p><strong>Keep notes while learning.</strong> You will solve the same tricky problem three times in your career and forget the solution twice. A few lines written down today is an hour saved next year.</p></li><li><p><strong>Automate repetitive tasks.</strong> If you have done it by hand three times, the fourth time should be a script. The minutes you spend automating come back as hours, and the machine does not make typos.</p></li><li><p><strong>Protect focus time.</strong> Real engineering happens in long uninterrupted blocks, not in the gaps between meetings and Slack pings. Guard a few hours a day like they are the job, because they are.</p></li><li><p><strong>Improve communication daily.</strong> The best technical idea is worthless if you cannot make someone else understand it. Your career grows at the speed of your ability to explain, not just your ability to build.</p></li><li><p><strong>Test critical paths.</strong> You do not need to test everything, but the few flows that lose money or break trust must never fail silently. Know which paths those are and cover them first.</p></li><li><p><strong>Learn from incidents.</strong> An outage that teaches you nothing is just pain with no payoff. Write down what broke and why, so the same failure does not happen twice with your name on it.</p></li><li><p><strong>Refactor continuously.</strong> Messy code does not clean itself, and the &#8220;I&#8217;ll fix it later&#8221; pile only grows. Tidy a little as you go, so you never face the rewrite that eats a whole quarter.</p></li><li><p><strong>Manage time realistically.</strong> Most estimates are wrong because they imagine a perfect day that never happens. Plan for the interruptions, the bugs, and the meetings, and you will stop disappointing people.</p></li><li><p><strong>Understand business context.</strong> Code that ships on time but solves nothing the company needs is wasted effort, however elegant. Knowing why you are building something changes what you build.</p></li><li><p><strong>Stay calm under pressure.</strong> Production is down and panic makes you slower, sloppier, and more likely to break the next thing. The engineer who breathes and thinks clearly fixes it faster than the one who flails.</p></li><li><p><strong>Keep ego low.</strong> The moment you stop being able to hear &#8220;you&#8217;re wrong&#8221; is the moment you stop improving. The best engineers are the ones most willing to be corrected.</p></li><li><p><strong>Learn fundamentals deeply.</strong> Frameworks come and go every two years, but how memory works, how networks move data, and how systems fail do not change. Master the things that outlast the trends.</p></li><li><p><strong>Help teammates often.</strong> The trust you build by unblocking others is the foundation everything else in your career sits on. A team that wins together beats a hero who burns out alone.</p></li><li><p><strong>Stay consistent for years.</strong> Talent gets you noticed; showing up every day for a decade is what actually builds a career. The compounding is invisible day to day and undeniable looking back.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[20 Repos That Make CLAUDE CODE Actually Worth the Subscription]]></title><description><![CDATA[Every company has that one developer shipping work that feels like magic to everyone else]]></description><link>https://priyansh0327.substack.com/p/20-repos-that-make-claude-code-actually</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/20-repos-that-make-claude-code-actually</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Fri, 15 May 2026 18:19:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!e44G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.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_!e44G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e44G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 424w, https://substackcdn.com/image/fetch/$s_!e44G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 848w, https://substackcdn.com/image/fetch/$s_!e44G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 1272w, https://substackcdn.com/image/fetch/$s_!e44G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e44G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png" width="1400" height="732" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:732,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e44G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 424w, https://substackcdn.com/image/fetch/$s_!e44G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 848w, https://substackcdn.com/image/fetch/$s_!e44G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.png 1272w, https://substackcdn.com/image/fetch/$s_!e44G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed30d0d8-f2e4-4d7c-99b1-f1ad32289284_1400x732.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 aria-hidden="true" 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><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>Same Claude Code subscription. Same model. Same eight hours a day. But somehow this person closes three tickets in the time you close one, and when you sit behind them at lunch and ask how, they shrug and say something useless like &#8220;I just prompt better.&#8221;</p><p>They are not prompting better. They are running a stack you are not running.</p><p>I figured this out the slow, embarrassing way. For months I was the engineer in the first paragraph! the one paying full price and getting maybe a quarter of the value. My terminal sessions kept ending in the same place. I would start a task, spend twenty minutes loading Claude with the project context, get somewhere useful, close the laptop, and watch all that context evaporate by morning. The next day I would do the loading dance again. I told myself this was just how the tool worked.</p><p>It was not how the tool worked. It was how <em>I</em> was using the tool, while half of GitHub had quietly built the parts I was missing.</p><p>Here are the 20 I actually use. If you are running fewer than half of them, you are paying full price for a tool you are using at quarter strength.</p><h3><strong>Start with what Anthropic already gives you</strong></h3><p><strong>1. anthropics/claude-code: </strong>the terminal client itself. Reinstall it just to read the README, because the half of it nobody reads is where most of the configuration tricks live.</p><p><strong>2. anthropics/skills: </strong>Anthropic&#8217;s official skill pack for handling real file formats (PDF, DOCX, XLSX, PPTX), plus the meta-skill that teaches Claude how to write new skills. Install if you have ever asked Claude for a Word doc and gotten plain text instead.</p><p><strong>3. anthropics/claude-code-action: </strong>a GitHub Action that wires Claude into your pull requests so you can tag it for code review the same way you tag a teammate. The setup is one config file. The payoff is every PR getting reviewed.</p><h3><strong>Find the good stuff faster than scrolling GitHub at midnight</strong></h3><p><strong>4. hesreallyhim/awesome-claude-code: </strong>the canonical index of everything in the ecosystem. Start here when you do not know where to start.</p><p><strong>5. ComposioHQ/awesome-claude-skills: </strong>Composio&#8217;s curated skills covering things you actually need at work: Postgres queries, deep research, root-cause investigation, log triage.</p><p><strong>6. ComposioHQ/awesome-claude-plugins: </strong>same team, plugin side. Frontend scaffolds, artifact builders, third-party app connectors.</p><p><strong>7. FlorianBruniaux/claude-code-ultimate-guide: </strong>a full course masquerading as a repo, with templates and quizzes that take you from &#8220;I just installed this&#8221; to &#8220;I run my whole workflow through it.&#8221; Send to anyone on your team who has not opened Claude Code yet.</p><h3><strong>Skill packs that change how Claude thinks</strong></h3><p><strong>8. obra/superpowers: </strong>forces Claude to slow down: brainstorm before specs, specs before plans, plans before code, tests before merging. After a week of it you will catch yourself writing better specs even when Claude is not in the loop.</p><p><strong>9. nextlevelbuilder/ui-ux-pro-max-skill: </strong>design memory in skill form. Color palettes, layout patterns, UX heuristics that stop Claude from defaulting to the same Bootstrap-shaped UI everyone else has been shipping since 2019.</p><p><strong>10. bmad-method: </strong>splits Claude into roles instead of steps: analyst, PM, UX designer, architect, developer. Pick this when your bottleneck is project structure, not code production.</p><p><strong>11. github/spec-kit: </strong>spec-first development as a slash command pipeline. If you have ever shipped the wrong feature beautifully, this is the repo that makes you write the contract before the code.</p><p><strong>12. travisvn/awesome-claude-skills: </strong>community-built skills with one feature most lists skip: warnings about which ones to vet before installing. Trust beats novelty.</p><h3><strong>Subagents: stop running everything in one cluttered window</strong></h3><p>A long Claude session collects clutter the same way a long browser session does. Subagents give you a team of specialists running in parallel instead of one assistant getting more confused with every prompt.</p><p><strong>13. wshobson/agents: </strong>production-ready subagents covering every role you would hire for: dev, security, design, data, ops, research. Drop the folder in and call them by name.</p><p><strong>14. danielrosehill/Claude-Code-Repos-Index: </strong>agent templates for jobs that are not coding. Writing, ops, customer support, research workflows. Install if you want Claude Code to be your assistant for everything else you do at a computer, not just your IDE.</p><h3><strong>MCP servers: connect Claude to the rest of your stack</strong></h3><p>Claude Code on its own can read your files and run shell commands. MCP servers extend that reach to the actual tools you spend your day inside.</p><p><strong>15. github/github-mcp-server: </strong>first-party access to PRs, issues, branches, CI runs, the whole platform. The first MCP server most people install because it is the one that earns its keep on day one.</p><p><strong>16. microsoft/playwright-mcp: </strong>gives Claude a browser. Once it can click and scroll, the boundary between &#8220;things Claude can help with&#8221; and &#8220;things only a human can do&#8221; moves further than you expect.</p><p><strong>17. crystaldba/postgres-mcp: </strong>query your database from Claude with read-only access by default, so you do not accidentally drop a table while exploring. Replaces the loop where you SSH in, type the query, copy the result back into chat.</p><p><strong>18. upstash/context7: </strong>pulls live, version-correct documentation into every prompt. The repo that finally stopped Claude from confidently inventing API methods that do not exist.</p><p><strong>19. czlonkowski/n8n-mcp: </strong>connects Claude Code to the 400+ apps n8n already integrates with. If you run automation, this is the bridge between your workflow engine and your coding agent.</p><h3><strong>Memory and orchestration</strong></h3><p>The hardest thing about Claude Code is that every new session starts as a stranger. These two are the difference between a tool you have to keep re-introducing yourself to and one that knows where you left off.</p><p><strong>20. thedotmack/claude-mem: </strong>long-term memory through context compression. The single most-requested Claude Code feature, solved by a community repo, free.</p><p></p><h3><strong>Bonus: GetStopover</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CzKs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CzKs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 424w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 848w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 1272w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CzKs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png" width="1400" height="785" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:785,&quot;width&quot;:1400,&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_!CzKs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 424w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 848w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.png 1272w, https://substackcdn.com/image/fetch/$s_!CzKs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0f6f68a-e6c0-48ad-9ea1-856259cb4e9e_1400x785.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 aria-hidden="true" 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><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>15+ airlines offer free 5-star hotels and city tours during long international layovers. Turkish, Qatar, Singapore, Etihad, and Emirates all run real stopover programs but eligibility lives in fare-class fine print.</p><p>Most travelers never claim them because the rules are scattered across each airline&#8217;s site. GetStopover compares every program in one place search live flights and see which routes unlock free stopovers.</p><p><em><strong>Try here: <a href="https://www.getstopover.com/">getstopover.com</a></strong></em></p>]]></content:encoded></item><item><title><![CDATA[90% of System Design interviews in 2026 are just these 14 concepts repeated]]></title><description><![CDATA[After sitting through hundreds of interviews on both sides of the table, a pattern you cannot unsee.]]></description><link>https://priyansh0327.substack.com/p/90-of-system-design-interviews-in</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/90-of-system-design-interviews-in</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Fri, 24 Apr 2026 08:23:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KdZx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6995794c-d9b6-4fcd-998b-753468d93d70_1672x940.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6995794c-d9b6-4fcd-998b-753468d93d70_1672x940.png&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6995794c-d9b6-4fcd-998b-753468d93d70_1672x940.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>I have watched this same failure happen in dozens of interviews, at every level, from new grads to principal engineers. The names change. The companies change. The prompt changes: Design Uber, Design Netflix, Design a URL shortener, Design WhatsApp. The failure does not change.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>And here is the thing no one tells you: the prompts do not really change either.</p><p>Strip the brand name off any system design question and you are left with one of roughly fourteen problems. Every interview at every company is a remix of the same fourteen. Once you see the list, you stop studying systems and start studying patterns. Once you study patterns, the interview stops being a memory test and starts being a recognition test which of the fourteen is hiding inside this prompt, and which two or three combine to solve it.</p><p>This is the list. If you learn these fourteen well enough to explain each one in two minutes to a smart non-technical friend, you will pass ninety percent of the system design interviews you take in 2026.</p><p>Here they are.</p><p><strong>1. Load Balancing:</strong></p><ul><li><p>Distributes traffic across multiple servers (Round Robin, Least Connections, Consistent Hashing)</p></li><li><p><em>Analogy</em>: Head chef assigning orders to different line cooks so no one gets overwhelmed</p></li><li><p><em>Pros</em>: High availability &amp; scalability</p></li><li><p><em>Cons</em>: Can become single point of failure if not redundant &#8212; Best for: High-traffic web apps, APIs, streaming services</p></li></ul><p><strong>2. Caching Strategies:</strong></p><ul><li><p>In-memory (Redis), CDN, write-through vs write-back</p></li><li><p><em>Analogy</em>: Prepping frequently used ingredients on the counter instead of fetching from the fridge every time</p></li><li><p><em>Pros</em>: Blazing fast reads</p></li><li><p><em>Cons</em>: Cache invalidation &amp; consistency issues</p></li><li><p><em>Best for</em>: Read-heavy systems, e-commerce, social feeds</p></li></ul><p><strong>3. Database Choices (SQL vs NoSQL):</strong></p><ul><li><p>Relational (ACID) vs Document/Key-Value/Graph</p></li><li><p><em>Analogy</em>: Using a structured cookbook vs a flexible recipe notebook</p></li><li><p><em>Pros</em>: SQL for transactions, NoSQL for scale</p></li><li><p><em>Cons</em>: Wrong choice kills performance</p></li><li><p><em>Best for</em>: Transactions (SQL) vs massive unstructured data (NoSQL)</p></li></ul><p><strong>4. Sharding &amp; Partitioning:</strong></p><ul><li><p>Splitting data across multiple DB instances</p></li><li><p><em>Analogy</em>: Dividing the kitchen into stations so each chef handles one type of dish</p></li><li><p><em>Pros</em>: Horizontal scaling</p></li><li><p><em>Cons</em>: Cross-shard queries &amp; rebalancing pain</p></li><li><p><em>Best for</em>: Massive datasets (Twitter, Instagram scale)</p></li></ul><p><strong>5</strong>. <strong>CAP Theorem &amp; Consistency Models:</strong></p><ul><li><p>Choose 2 out of Consistency, Availability, Partition tolerance</p></li><li><p><em>Analogy</em>: Deciding whether the kitchen prioritizes perfect recipes, speed, or handling power outages</p></li><li><p><em>Pros</em>: Guides trade-offs</p></li><li><p><em>Cons</em>: No &#8220;perfect&#8221; system</p></li><li><p><em>Best for</em>: Distributed systems design decisions</p></li></ul><p><strong>6. Microservices vs Monoliths:</strong></p><ul><li><p>Service boundaries, communication (gRPC, Kafka, REST)</p></li><li><p><em>Analogy</em>: One big kitchen vs multiple specialized food trucks</p></li><li><p><em>Pros</em>: Independent scaling &amp; teams</p></li><li><p><em>Cons</em>: Distributed complexity &amp; latency</p></li><li><p><em>Best for</em>: Large evolving products</p></li></ul><p>7. <strong>Rate Limiting &amp; Throttling:</strong></p><ul><li><p>Token bucket, Leaky bucket, API gateways</p></li><li><p><em>Analogy</em>: Limiting how many orders one customer can place so the kitchen doesn&#8217;t collapse</p></li><li><p><em>Pros</em>: Prevents abuse &amp; overload</p></li><li><p><em>Cons</em>: False positives for legit users</p></li><li><p><em>Best for</em>: Public APIs, SaaS platforms</p></li></ul><p><strong>8. Message Queues &amp; Event-Driven:</strong></p><ul><li><p>Kafka, RabbitMQ, SQS for async processing &#8212;</p></li><li><p><em>Analogy</em>: Order tickets passed to the right station without blocking the front counter</p></li><li><p><em>Pros</em>: Decoupling &amp; resilience</p></li><li><p><em>Cons</em>: Eventual consistency &amp; debugging</p></li><li><p><em>Best for</em>: Background jobs, notifications, data pipelines</p></li></ul><p><strong>9. CDN &amp; Edge Computing:</strong></p><ul><li><p>Caching content closer to users</p></li><li><p><em>Analogy</em>: Having mini-kitchens in every city instead of one central HQ</p></li><li><p><em>Pros</em>: Low latency</p></li><li><p><em>Cons</em>: Cache invalidation &amp; cost</p></li><li><p><em>Best for</em>: Global apps, video streaming, static assets</p></li></ul><p><strong>10. Observability (Logging, Metrics, Tracing):</strong></p><ul><li><p>OpenTelemetry, Prometheus, Jaeger &#8212;</p></li><li><p><em>Analogy</em>: Installing cameras, timers &amp; thermometers everywhere in the kitchen</p></li><li><p><em>Pros</em>: Root cause in minutes</p></li><li><p><em>Cons</em>: Data overload if not filtered</p></li><li><p><em>Best for</em>: Production debugging at scale</p></li></ul><p><strong>11. API Design &amp; Versioning:</strong></p><ul><li><p>REST, GraphQL, gRPC, backward compatibility</p></li><li><p><em>Analogy</em>: Standard menu format so every customer knows exactly what they&#8217;re ordering</p></li><li><p><em>Pros</em>: Developer-friendly</p></li><li><p><em>Cons</em>: Version sprawl</p></li><li><p><em>Best for</em>: External-facing services</p></li></ul><p><strong>12. Data Consistency &amp; Transactions:</strong></p><ul><li><p>2PC, Saga pattern, eventual consistency</p></li><li><p><em>Analogy</em>: Making sure every dish in a multi-course meal is ready at the exact right time</p></li><li><p><em>Pros</em>: Reliability</p></li><li><p><em>Cons</em>: Performance hit</p></li><li><p><em>Best for</em>: Banking, e-commerce orders</p></li></ul><p><strong>13. AI System Design Specifics:</strong></p><ul><li><p>LLM serving, vector DBs, RAG pipelines, cost/latency trade-offs</p></li><li><p><em>Analogy</em>: Building a smart kitchen that can generate new recipes on demand while keeping costs low</p></li><li><p><em>Pros</em>: Modern differentiator</p></li><li><p><em>Cons</em>: Rapidly evolving tools</p></li><li><p><em>Best for</em>: GenAI products, recommendation engines</p></li></ul><p><strong>14. Fault Tolerance &amp; Disaster Recovery:</strong></p><ul><li><p>Circuit breakers, retries, backups, chaos engineering</p></li><li><p><em>Analogy</em>: Fire extinguishers, backup generators &amp; evacuation plans in the kitchen</p></li><li><p><em>Pros</em>: 99.99% uptime</p></li><li><p><em>Cons</em>: Extra cost &amp; complexity</p></li><li><p><em>Best for</em>: Mission-critical systems</p></li></ul><p></p><h3><strong>Short Story :-</strong></h3><p>The candidate had six years at a well-known company. Staff engineer title. Clean resume. He opened the call confident.</p><p>Question: <em>Design Twitter.</em></p><p>He started with microservices. Then he drew a box labeled &#8220;auth service.&#8221; Then another box labeled &#8220;tweet service.&#8221; Then an arrow. Then he stopped, looked at what he had drawn, and started over. The second attempt had Kafka in it. No explanation for why. When the interviewer asked how the timeline would be built, he said &#8220;fan-out,&#8221; paused, and asked if he meant on read or on write.</p><p>He did not answer. He was waiting to see if he knew the difference mattered.</p><p>He did not.</p><p>Forty minutes later the call ended. He had touched six different technologies and explained none of them. He had not asked about scale. He had not asked about the read-to-write ratio. He had not asked what &#8220;Twitter&#8221; meant in the question the full product, the timeline feature, the posting flow, something else. He reached for tools before he understood the problem.</p><p>He failed the interview. Not because he did not know enough. Because he knew a lot of things without knowing which one the moment called for.</p><p></p><h3><strong>TL;DR</strong></h3><ul><li><p>Load Balancing &#8594; traffic distribution</p></li><li><p>Caching &#8594; speed wins</p></li><li><p>DB Choices &#8594; right tool for data</p></li><li><p>Sharding &#8594; horizontal scale</p></li><li><p>CAP &#8594; trade-off decisions</p></li><li><p>Microservices &#8594; modularity</p></li><li><p>Rate Limiting &#8594; abuse protection</p></li><li><p>Queues &#8594; async decoupling</p></li><li><p>CDN/Edge &#8594; global speed</p></li><li><p>Observability &#8594; visibility</p></li><li><p>API Design &#8594; clean contracts</p></li><li><p>Consistency &#8594; reliability</p></li><li><p>AI-Specific &#8594; GenAI systems</p></li><li><p>Fault Tolerance &#8594; resilience</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Coding without AI doesn't make you smarter just busier]]></title><description><![CDATA[1.]]></description><link>https://priyansh0327.substack.com/p/coding-without-ai-doesnt-make-you</link><guid isPermaLink="false">https://priyansh0327.substack.com/p/coding-without-ai-doesnt-make-you</guid><dc:creator><![CDATA[Priyansh Jain]]></dc:creator><pubDate>Wed, 22 Oct 2025 16:10:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7d8f936c-6359-42c2-91af-3f09ac902f76_720x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>1. Efficiency Over Effort</strong><br>Coding without AI isn&#8217;t a flex &#8212; it just means you&#8217;re spending more time on things AI can already handle. &#129504;&#9881;&#65039;</p><p><strong>2. Work Smart, Not Hard</strong><br>The goal isn&#8217;t to avoid AI, it&#8217;s to use it smartly. Efficiency &gt; ego. &#128640;</p><p><strong>3. The Future Is Hybrid</strong><br>AI won&#8217;t replace developers &#8212; but developers who use AI will replace those who don&#8217;t. &#128187;&#129302;</p><p><strong>4. True Intelligence</strong><br>Smarter isn&#8217;t doing everything yourself, it&#8217;s knowing what to delegate to machines. &#128293;</p><p><strong>5. Progress Over Pride</strong><br>Coding without AI is like walking when you have a car &#8212; sure, it builds endurance, but you&#8217;ll get there slower. &#127950;&#65039;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://priyansh0327.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>