<?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[The Build Log_: The Nitty Gritty]]></title><description><![CDATA[Wiring, configs, technical walkthroughs.]]></description><link>https://substack.samepagetech.io/s/the-nitty-gritty</link><image><url>https://substackcdn.com/image/fetch/$s_!WhEY!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc76c61-7593-4b4e-a28e-f15b2f2d2192_1024x1024.png</url><title>The Build Log_: The Nitty Gritty</title><link>https://substack.samepagetech.io/s/the-nitty-gritty</link></image><generator>Substack</generator><lastBuildDate>Sat, 09 May 2026 03:40:49 GMT</lastBuildDate><atom:link href="https://substack.samepagetech.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[SAMEpage]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thebuildlogunderscore@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thebuildlogunderscore@substack.com]]></itunes:email><itunes:name><![CDATA[Daniel Raybin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Daniel Raybin]]></itunes:author><googleplay:owner><![CDATA[thebuildlogunderscore@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thebuildlogunderscore@substack.com]]></googleplay:email><googleplay:author><![CDATA[Daniel Raybin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How to Make LLMs Operate Instead of Improvise]]></title><description><![CDATA[The hands-on method for building System Instructions that stabilize reasoning, prevent drift, and survive multi-day projects.]]></description><link>https://substack.samepagetech.io/p/how-to-make-llms-operate-instead</link><guid isPermaLink="false">https://substack.samepagetech.io/p/how-to-make-llms-operate-instead</guid><dc:creator><![CDATA[Craig Thorogood]]></dc:creator><pubDate>Wed, 03 Dec 2025 18:41:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!k3Tr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.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_!k3Tr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k3Tr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k3Tr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2804050,&quot;alt&quot;:&quot;A digital illustration showing a hand adjusting a &#8220;System Instructions&#8221; module inside an opened AI core, revealing circuit-like components beneath a glowing OpenAI-style cube.&quot;,&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://thebuildlogunderscore.substack.com/i/180534824?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A digital illustration showing a hand adjusting a &#8220;System Instructions&#8221; module inside an opened AI core, revealing circuit-like components beneath a glowing OpenAI-style cube." title="A digital illustration showing a hand adjusting a &#8220;System Instructions&#8221; module inside an opened AI core, revealing circuit-like components beneath a glowing OpenAI-style cube." srcset="https://substackcdn.com/image/fetch/$s_!k3Tr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!k3Tr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45b50c1d-da94-44ea-b860-f1b411c09b71_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><strong>Each week in </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;The Build Log_&quot;,&quot;id&quot;:6840584,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/thebuildlogunderscore&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbc76c61-7593-4b4e-a28e-f15b2f2d2192_1024x1024.png&quot;,&quot;uuid&quot;:&quot;c87f1986-726c-4c49-b71a-9e00ee864494&quot;}" data-component-name="MentionToDOM"></span> <strong>, we show how operators design, build, and run systems &#8212; from architecture and workflows to the decisions behind them.</strong></p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.samepagetech.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.samepagetech.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>This Is the Highest-ROI Move You Can Make Right Now</strong></h2><p>The fastest way to get real operational lift from AI&#8212;lift you can feel in the very next message&#8212;is to write System Instructions. The actual behavioral framework your model will think inside.</p><p>You can draft the first version in under fifteen minutes and immediately see a different class of output: sharper, denser, more disciplined, and less improvisational.<br>It&#8217;s simply the difference between a model trying to please the median user and a model forced to operate under the rules you define.</p><p><strong>Most people never feel the absence of System Instructions because the defaults are polite enough to pass as &#8220;intelligent.&#8221;</strong><br>But the moment you ask the model to execute a multi-step build, maintain internal logic across sections, or work across days without losing context, the cracks appear.<br>It guesses.<br>It fills gaps that needed escalation.<br>It smooths your work instead of sharpening it.<br>It forgets the shape of your project.</p><p><strong>System Instructions fix all of that.</strong><br>They teach the model <em>how</em> to think for a specific project, which in turn forces <em>you</em> to articulate what you&#8217;re actually doing&#8212;with a precision that makes your work more legible to both humans and machines.</p><p><strong>This is why the ROI is immediate.</strong><br>The clearer the framework, the better the model performs, and the more clearly <em>you</em> understand what you&#8217;re building.</p><div><hr></div><h2><strong>What System Instructions Actually Do</strong></h2><p>System Instructions define the behavioral posture of the model: how it escalates ambiguity, how it interprets constraints, where it stops, what it refuses to assume, how it guards density, and how it detects drift.<br>They turn the model from an improviser into an operator.</p><p>The reason most people don&#8217;t use them is simple: the interface never demands them.<br>You can chat with a model for a year without realizing the entire interaction is happening on the default operating system&#8212;the same one used for poems, recipes, tech support, college essays, and corporate emails.<br><strong>That framework is fine for one-offs.</strong><br><strong>It collapses under real work.</strong></p><p>Once you define your own, the model no longer optimizes for friendliness, readability, or &#8220;engagement.&#8221;<br>It optimizes for the constraints you specify.<br>And it finally treats gaps in your articulation as structural blockers rather than creative invitations.</p><p>This is the part that surprises most builders: writing System Instructions doesn&#8217;t just change how the model operates&#8212;it changes how <em>you</em> think.<br>You&#8217;re forced to describe your audience, your density expectations, your escalation rules, your drift boundaries, and your referential logic.<br>This articulation clarifies the project for everyone involved.</p><div><hr></div><h2>Get It Wrong on Purpose, First</h2><p>The first real step is not &#8220;write perfect System Instructions.&#8221;</p><p>The first step is forcing the model to show you what its defaults look like when pointed at your project&#8212;so you can see exactly what you&#8217;re fighting against.</p><p>System Instructions are always attached to a specific context. They&#8217;re not generic rules for &#8220;being helpful.&#8221; They are rules for <em>this</em> project, <em>this</em> series, <em>this</em> audience.</p><p>For this article, we started by opening a fresh Project in ChatGPT and giving it a short description of what the Nitty Gritty series is supposed to be. Nothing mystical. Just a clear paragraph a human operator would understand:</p><blockquote><p>&#8220;The Nitty Gritty is for builders who want to see the wiring &#8212; the schemas, formulas, and blueprints pulled straight from production. Each piece shows the real logic behind the decisions we make, the systems we design, and the work that actually ships. This isn&#8217;t theory or performance; it&#8217;s the fingerprints, trade-offs, corrections, and reasoning pulled from live builds, exposed without filters.&#8221;</p></blockquote><p>That&#8217;s the first move you should make in your own project:<br>open a new Project, write a single paragraph that describes what you&#8217;re doing, who it&#8217;s for, and what the work is supposed to expose.</p><p>Once that context was in place, we gave the model one simple instruction:</p><blockquote><p>&#8220;Draft system instructions for writing Nitty Gritty articles.&#8221;</p></blockquote><p>We knew the first draft would be wrong. We needed it to be wrong.</p><p>Because that first failure tells you exactly how the model tries to solve your problem <em>before</em> you constrain it.</p><div><hr></div><h3>The Iteration Arc</h3><p>From that one sentence, we had the model produce three distinct failures before it gave us something structurally usable.</p><p>The point of walking through them isn&#8217;t to admire the prose. It&#8217;s to show you:</p><ul><li><p>how the defaults behave,</p></li><li><p>how we pushed back, and</p></li><li><p>how you can run the same loop on your own work.</p></li></ul><h4>Iteration 1 &#8212; The &#8220;Helpful Internet Writer&#8221; Default</h4><p>The first draft looked like this:</p><blockquote><p>&#8220;Write in a friendly, supportive tone to keep the reader engaged. Use simple language and analogies. Summarize key points to reinforce understanding&#8230;&#8221;</p></blockquote><p>Exactly what you&#8217;d expect from a model trained to keep the median user comfortable.</p><p><strong>The assumptions baked into this draft were obvious:</strong></p><ul><li><p>The reader needs reassurance.</p></li><li><p>Accessibility matters more than precision.</p></li><li><p>Repetition and summaries are a default good.</p></li><li><p>&#8220;Engagement&#8221; is a higher priority than exposing the wiring.</p></li></ul><p>For this series, all of that is wrong. Our readers are operators. They don&#8217;t need uplift, hand-holding, or performance. They want density and reasoning.</p><p>Our response back to the model was not polite nudging. It was a direct correction of the failure mode:</p><ul><li><p>We removed friendliness, simplification, analogies, summaries, and engagement tactics.</p></li><li><p>We told it the audience does not need to be protected or inspired.</p></li><li><p>We told it to focus on ambiguity handling, drift control, escalation behavior, and reasoning discipline.</p></li></ul><p><strong>In your own project, this is where you start doing real work:</strong></p><ol><li><p>Look at the first draft and name the failure mode in plain language.</p></li><li><p>List what is <em>unacceptable</em> given your audience and use case.</p></li><li><p>Tell the model exactly what to stop doing, and what behavior it should prioritize instead.</p></li></ol><p>You are not editing sentences. You are correcting the model&#8217;s picture of the job.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://www.samepg.io" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EheI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 424w, https://substackcdn.com/image/fetch/$s_!EheI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 848w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1272w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png" width="1315" height="253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:253,&quot;width&quot;:1315,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:523372,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.samepg.io&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thebuildlogunderscore.substack.com/i/180534824?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.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_!EheI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 424w, https://substackcdn.com/image/fetch/$s_!EheI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 848w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1272w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>Iteration 2 &#8212; The &#8220;Corporate Policy Manual&#8221; Swing</h4><p>Once we stripped out &#8220;friendly internet writer,&#8221; the model overcorrected in the other direction:</p><blockquote><p>&#8220;Maintain neutral, readable communication. Ensure clarity and accuracy. Maintain flow between sections&#8230;&#8221;</p></blockquote><p>This draft looked like a corporate comms style guide. It was still thinking like a <em>writer</em> trying not to get in trouble, not like an operator bound by constraints.</p><p><strong>The failure mode shifted, but it was still a failure:</strong></p><ul><li><p>Neutrality instead of posture</p></li><li><p>&#8220;Readable communication&#8221; instead of behavioral rules</p></li><li><p>Flow and aesthetics instead of constraint enforcement</p></li></ul><p><strong>Our response this round:</strong></p><ul><li><p>We removed every stylistic preference.</p></li><li><p>We told the model that System Instructions must govern <em>behavior</em>, not presentation.</p></li><li><p>We made it explicit that tone is a side effect of constraints, not a goal.</p></li></ul><p><strong>Again, your move in your own project is the same:</strong></p><ul><li><p>Strip out anything that sounds like &#8220;be pleasant,&#8221; &#8220;be neutral,&#8221; or &#8220;maintain flow.&#8221;</p></li><li><p>Replace it with rules about what the model should <em>do</em> when it hits ambiguity, conflict, or missing information.</p></li></ul><h4>Iteration 3 &#8212; The First Functional Skeleton</h4><p>On the third draft, the shape finally started to match the job:</p><blockquote><p>&#8220;Treat ambiguity as a blocker and request clarification before proceeding. Identify drift and escalate when constraints conflict. Avoid assumptions and anchor reasoning to user framing&#8230;&#8221;</p></blockquote><p>This was the first time the model was talking in terms of behavior instead of vibes. It still wasn&#8217;t complete:</p><ul><li><p>No density rules</p></li><li><p>No explicit paragraph discipline</p></li><li><p>No clear audience definition</p></li><li><p>No wiring ethos</p></li><li><p>No safeguards against sliding into PMC / thought-leadership voice</p></li></ul><p>But for the first time, the skeleton was right. The draft described how the model should <em>operate</em> inside the project, not how it should <em>sound</em>.</p><p><strong>From here, we did one more pass:</strong></p><ul><li><p>We pulled in missing constraints (density, voice, escalation, failure handling).</p></li><li><p>We forced it to collapse everything into a single block of prose instead of numbered rules.</p></li><li><p>We removed anything that smelled like &#8220;content marketing,&#8221; summaries, or key takeaways.</p></li></ul><p>The next output was good enough to ship into this project: a clearly structured System Instruction block we could paste into the Project&#8217;s System Prompt and use to help write the article you&#8217;re reading now.</p><p>It is not &#8220;final.&#8221; System Instructions are never final. They are stable enough to test until your next round of corrections.</p><p>That&#8217;s the standard you should aim for: <strong>stable enough to test</strong>, not perfect.</p><div><hr></div><h3>Once Your System Instructions Exist, the Real Work Starts</h3><p>Most people stop here. They have a block of text that looks serious, they paste it somewhere, and they move on.</p><p>That&#8217;s where most of the value is lost.</p><p><strong>System Instructions only pay off if:</strong></p>
      <p>
          <a href="https://substack.samepagetech.io/p/how-to-make-llms-operate-instead">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Set Up an Amazon S3 Bucket—Without Getting Lost in AWS]]></title><description><![CDATA[Setting up public, cache-friendly, secure assets for production workflows in under 4 minutes.]]></description><link>https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout</link><guid isPermaLink="false">https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout</guid><dc:creator><![CDATA[Craig Thorogood]]></dc:creator><pubDate>Mon, 01 Dec 2025 20:21:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mseF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.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_!mseF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mseF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!mseF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!mseF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!mseF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mseF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2274276,&quot;alt&quot;:&quot;Amazon S3 bucket on a wooden desk with floating file icons representing images, videos, code, documents, and ZIP archives in a home office environment.&quot;,&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://thebuildlogunderscore.substack.com/i/178745440?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Amazon S3 bucket on a wooden desk with floating file icons representing images, videos, code, documents, and ZIP archives in a home office environment." title="Amazon S3 bucket on a wooden desk with floating file icons representing images, videos, code, documents, and ZIP archives in a home office environment." srcset="https://substackcdn.com/image/fetch/$s_!mseF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!mseF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!mseF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!mseF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ba7f7a9-476c-4ccb-a647-0988753b88e2_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><strong>Each week in </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;The Build Log_&quot;,&quot;id&quot;:6840584,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/thebuildlogunderscore&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbc76c61-7593-4b4e-a28e-f15b2f2d2192_1024x1024.png&quot;,&quot;uuid&quot;:&quot;dd54ac58-9eca-406f-9ff4-980bc1f5b633&quot;}" data-component-name="MentionToDOM"></span> <strong>, we show how operators design, build, and run systems &#8212; from architecture and workflows to the decisions behind them.</strong></p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.samepagetech.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.samepagetech.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>For no/low-code and self-taught builders, file hosting is always the hidden weak link. URLs expire. Image hosts throttle. Platforms rename your assets or delete them when you hit a plan limit. And the moment you switch tools, half your automations break.</p><p>This guide solves that permanently.</p><p>Amazon S3 (Simple Storage Service) is the internet&#8217;s universal file cabinet &#8212; cheap, stable, and fast. Don&#8217;t worry if AWS feels intimidating. You don&#8217;t need to &#8220;learn cloud infrastructure.&#8221; You only need <strong>one service</strong> and <strong>six steps</strong>.</p><p>Let&#8217;s get you set up.</p><div><hr></div><h2><strong>What Is an AWS S3 Bucket?</strong></h2><p>Amazon S3 is an <strong>object storage<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong> system &#8212; meaning it stores files exactly as they are, hands-off and uncompressed, until <em>you</em> decide to change or remove them.</p><p>If you upload an image, logo, JSON config, video, or tiny HTML file, S3 keeps it:</p><ul><li><p>permanent</p></li><li><p>globally available</p></li><li><p>predictable</p></li><li><p>and served from a stable URL that never changes</p></li></ul><p>It&#8217;s not a web server. It&#8217;s not a database. It&#8217;s not &#8220;file hosting&#8221; in the cutesy startup sense. It&#8217;s industrial-grade storage you&#8217;ll never have to think about again.</p><div><hr></div><h2><strong>Why We Use It</strong></h2><p>Most no-code platforms eventually hit the same limits:</p><ul><li><p>File URLs break</p></li><li><p>File hosts rate-limit you</p></li><li><p>Assets get renamed</p></li><li><p>Storage gets expensive</p></li><li><p>Switching platforms creates chaos</p></li></ul><p>S3 avoids all of that. It&#8217;s stable, boring, and reliable &#8212; exactly what you want from the thing holding all your assets.</p><p>It scales down to pennies and behaves the same whether you&#8217;re storing five files or five million. And when you update a file, <em>every</em> automation, email, or app using that URL updates instantly.</p><div><hr></div><h2><strong>Why You Need It</strong></h2><p>S3 gives you a universal home for anything your workflows depend on &#8212; separate from whatever app or tool you&#8217;re using. That separation is the whole point.</p><h3><strong>The short version:</strong></h3><p><strong>1. Your URLs never break.</strong><br>Files don&#8217;t expire, change names, or disappear when a platform updates something.</p><p><strong>2. Your stack gets faster.</strong><br>S3 serves assets at global speed.</p><p><strong>3. Your costs drop to almost nothing.</strong><br>Hosting common assets usually costs under $1/month.</p><p><strong>4. Everything in your stack can use it.</strong><br>Make, Zapier, Bubble, Webflow, n8n, Retool, Framer &#8212; all of them accept a public S3 URL.</p><p><strong>5. Your system becomes cleaner and more modular.</strong><br>Files live where files belong. Everything else becomes easier.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://www.samepg.io" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EheI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 424w, https://substackcdn.com/image/fetch/$s_!EheI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 848w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1272w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png" width="1315" height="253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:253,&quot;width&quot;:1315,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:523372,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.samepg.io&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thebuildlogunderscore.substack.com/i/180534824?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EheI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 424w, https://substackcdn.com/image/fetch/$s_!EheI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 848w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1272w, https://substackcdn.com/image/fetch/$s_!EheI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94467f7e-ae0e-4175-b7e3-0d24835c9b73_1315x253.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3><strong>Why not store files in your app or hosting provider?</strong></h3><p>Because those systems are built to run code, not hold assets.</p><p>They&#8217;re slower, more fragile, and way more expensive for the same job.</p><p>S3 gives you speed, stability, and a permanent centralized place for the parts of your system that shouldn&#8217;t ever move.</p><h3><strong>What you can actually do with S3</strong></h3><ul><li><p>Host images for emails, automations, or landing pages</p></li><li><p>Store JSON configs for workflows</p></li><li><p>Serve icons, brand assets, or videos</p></li><li><p>Keep a permanent, versioned library of files</p></li><li><p>Use one stable URL everywhere</p></li></ul><p>You&#8217;re not becoming an AWS engineer.<br>You&#8217;re simply using the one AWS service that makes everything else in your stack easier.</p><div><hr></div><h2>Creating an AWS Account and S3 Bucket</h2><blockquote><p><strong>Before You Start<br></strong>The AWS Console looks messy the first time you see it. That&#8217;s normal. AWS hides simple things behind complicated menus.</p><p>Ignore 95% of what you see &#8212; you don&#8217;t need it.</p><p>Just follow these steps exactly. We&#8217;ll tell you what matters and what you can safely disregard.</p></blockquote><div><hr></div><h3><strong>Step 1: Create Your AWS Account</strong></h3><ol><li><p>Go to: <a href="https://portal.aws.amazon.com/billing/signup">https://portal.aws.amazon.com/billing/signup</a></p></li><li><p>Verify your email, payment method, and phone</p></li><li><p>You&#8217;ll be signed in as the <strong>root user</strong></p></li></ol><p>You only use the root user for billing and top-level account operations. Everything else happens from a safer admin account.</p><div><hr></div><h3><strong>Step 2: Create a Secure Admin User (IAM)</strong></h3><h4><strong>1. Open IAM</strong></h4><p>Search for <strong>IAM</strong> in the console &#8594; open <strong>Identity and Access Management</strong>.</p><h4><strong>2. Add MFA to the Root Account</strong></h4><ul><li><p>Click your name (top-right) &#8594; <strong>My Security Credentials</strong></p></li><li><p>Under <strong>MFA</strong>, choose <strong>Activate MFA</strong></p></li><li><p>Select <strong>Virtual MFA device</strong></p></li><li><p>Scan with Authy/Google Authenticator</p></li><li><p>Enter both codes</p></li></ul><p>Your root account is now secure.</p><h4><strong>3. Create a New Admin User</strong></h4><p>Go to: <strong>IAM &#8594; Users &#8594; Add users</strong></p><ul><li><p>Username: <code>admin</code> or your name</p></li><li><p>Enable: <strong>Provide user access to the AWS Management Console</strong></p></li><li><p>Use <strong>Autogenerated password</strong></p></li><li><p>Require a password reset</p></li></ul><p>Click <strong>Next</strong>.</p><h4><strong>4. Create an Admin Group</strong></h4><ul><li><p>Add user to group &#8594; <strong>Create group</strong></p></li><li><p>Name: <code>Admin</code></p></li><li><p>Policy: <strong>AdministratorAccess</strong></p></li><li><p>Confirm and create</p></li></ul><h4><strong>5. Save Your Sign-In URL</strong></h4><p>AWS gives you a login link like:</p><pre><code><code>https://your-account-alias.signin.aws.amazon.com/console</code></code></pre><p>Bookmark it.</p><h4><strong>6. Log In as the Admin User + Add MFA</strong></h4><p>Log out of root &#8594; log in via your new URL &#8594; create a new password &#8594; activate MFA again.</p><p>Your daily-use admin identity is ready.</p><div><hr></div><h3><strong>Step 3: Create Your S3 Bucket</strong></h3><ol><li><p>Search for <strong>S3</strong> in the AWS Console</p></li><li><p>Open it &#8594; click <strong>Create bucket</strong></p></li><li><p>Name your bucket (lowercase, hyphens allowed)</p></li><li><p>Choose your nearest region</p></li><li><p>Leave ACLs disabled</p></li><li><p>Keep <strong>Block Public Access</strong> ON for now</p></li><li><p>Click <strong>Create bucket</strong></p></li></ol><p>This is your permanent asset home.</p><div><hr></div><h3><strong>Step 4: Make the Bucket Public (For Non-Sensitive Files)</strong></h3><p>If you&#8217;re storing images, logos, or static assets, making the bucket public is safe and gives you universal, easy URLs.</p><h4><strong>1. Disable Block Public Access</strong></h4><p>Bucket &#8594; <strong>Permissions</strong> &#8594; <strong>Edit</strong><br>Turn off all four toggles &#8594; Confirm.</p><h4><strong>2. Add This Bucket Policy</strong></h4><p>Replace YOUR-BUCKET-NAME:</p><pre><code><code>{
  &#8220;Version&#8221;: &#8220;2012-10-17&#8221;,
  &#8220;Statement&#8221;: [
    {
      &#8220;Sid&#8221;: &#8220;PublicReadGetObject&#8221;,
      &#8220;Effect&#8221;: &#8220;Allow&#8221;,
      &#8220;Principal&#8221;: &#8220;*&#8221;,
      &#8220;Action&#8221;: &#8220;s3:GetObject&#8221;,
      &#8220;Resource&#8221;: &#8220;arn:aws:s3:::YOUR-BUCKET-NAME/*&#8221;
    }
  ]
}</code></code></pre><p>Save.</p><p><strong>Note:</strong> <em>Do not change the Version date to match the date you paste it. Leave it as-is.</em></p><h4><strong>3. Test It</strong></h4><p>Upload a test image &#8594; open the Object URL &#8594; try it in Incognito.</p><p>If it loads instantly, you&#8217;re set.</p><div><hr></div><h3><strong>Step 5: Add Cache Headers (Optional but Recommended)</strong></h3><p>Caching makes your files load faster and reduces costs.</p><ol><li><p>Open your file &#8594; <strong>Properties</strong></p></li><li><p>Edit <strong>Metadata</strong></p></li><li><p>Add:</p><ul><li><p>Key: <code>Cache-Control</code></p></li><li><p>Value: <code>max-age=86400</code></p></li></ul></li></ol><p>Save.</p><div><hr></div><h3><strong>Step 6: Verify Access and Understand Cost</strong></h3><p>Test your file&#8217;s URL in a private window.</p><p>For typical no-code/automation usage, your monthly cost is usually <strong>under $1</strong><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> &#8212; often covered entirely by the AWS Free Tier.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p><strong>Just keep public assets separate from private data.</strong></p><div><hr></div><h2><strong>You&#8217;re Done</strong></h2><p>You now have:</p><ul><li><p>A permanent home for your assets</p></li><li><p>Stable URLs that never break</p></li><li><p>A faster, cleaner, more reliable automation stack</p></li><li><p>A future-proof system that won&#8217;t collapse when you switch platforms</p></li></ul><div><hr></div><h2><strong>Top Object Storage Alternatives to AWS S3</strong></h2><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/H5Lua/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b2ddde1-a94f-4a37-b033-51dd67d62e74_1220x1230.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d9905ac-bfa6-4e17-8e15-cbe231b1cf89_1220x1600.png&quot;,&quot;height&quot;:804,&quot;title&quot;:&quot;Top Object Storage Alternatives to AWS S3&quot;,&quot;description&quot;:&quot;A quick, beginner-friendly comparison of the most common object storage providers&#8212;Google Cloud Storage, Wasabi, DreamHost, and Backblaze&#8212;highlighting their costs, strengths, and trade-offs so new AWS users can understand the broader landscape at a glance.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/H5Lua/1/" width="730" height="804" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><blockquote><p><strong>If you want the deeper layers of this work &#8212; the wiring, configs, edge-case failures, and the full iterations &#8212; you can unlock all of it by becoming a member.</strong></p><p>And if you&#8217;re at the point where you&#8217;d rather have this built <em>inside your business</em> instead of trying to replicate it yourself, start with our <strong>$5K Starter System:</strong><br><strong>10 days. One workflow. No contracts. Full ownership.</strong></p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.samepagetech.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.samepagetech.io/subscribe?"><span>Subscribe now</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://substack.samepagetech.io/p/how-to-set-up-an-amazon-s3-bucketwithout/comments"><span>Leave a comment</span></a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://en.wikipedia.org/wiki/Object_storage">Object storage Wiki</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://aws.amazon.com/s3/pricing/">Amazon S3 Pricing</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p><a href="https://aws.amazon.com/pm/serv-s3/?trk=59968c08-333e-424a-b5a8-4fd08af5af4d&amp;sc_channel=ps&amp;ef_id=CjwKCAiA_dDIBhB6EiwAvzc1cLr2q_kSi0-qp1IBXNWSvj4Bv63FfFQ4FlLmKW0PNQB48I5J-27hqhoCCSIQAvD_BwE:G:s&amp;s_kwcid=AL!4422!3!651751060938!e!!g!!free%20s3%20cloud%20storage!23172599179!186058360743&amp;gad_campaignid=23172599179&amp;gbraid=0AAAAADjHtp8kxThGhioZ-sCmkB45GMeEv&amp;gclid=CjwKCAiA_dDIBhB6EiwAvzc1cLr2q_kSi0-qp1IBXNWSvj4Bv63FfFQ4FlLmKW0PNQB48I5J-27hqhoCCSIQAvD_BwE">Amazon S3 on the Free Tier</a></p></div></div>]]></content:encoded></item></channel></rss>