<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Łukasz Blania</title>
    <description>The latest articles on DEV Community by Łukasz Blania (@ukasz_blania_4b7d226fa2a).</description>
    <link>https://dev.to/ukasz_blania_4b7d226fa2a</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3435601%2F21bf6209-125b-4973-9d4f-85b7190138b7.png</url>
      <title>DEV Community: Łukasz Blania</title>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ukasz_blania_4b7d226fa2a"/>
    <language>en</language>
    <item>
      <title>I got tired of paying for form backends, so I built my own</title>
      <dc:creator>Łukasz Blania</dc:creator>
      <pubDate>Wed, 08 Apr 2026 09:57:47 +0000</pubDate>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a/i-got-tired-of-paying-for-form-backends-so-i-built-my-own-477f</link>
      <guid>https://dev.to/ukasz_blania_4b7d226fa2a/i-got-tired-of-paying-for-form-backends-so-i-built-my-own-477f</guid>
      <description>&lt;p&gt;A buddy of mine does freelance web dev. Mostly small business sites -- restaurants, dentists, that kind of thing. Every single client needs a contact form. And every single time it's the same conversation: &lt;em&gt;"Why am I paying $20 a month just to get emails from my website?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Fair question honestly.&lt;/p&gt;

&lt;p&gt;His solution was to rig up an n8n workflow that catches form submissions via webhook and dumps them into a Google Sheet. It works. Technically. Until a column shifts, or the webhook URL expires, or the client wants to see their submissions somewhere that isn't a spreadsheet.&lt;/p&gt;

&lt;p&gt;I kept thinking about this. A form backend is such a basic thing. You receive a POST request. You save it. You send a notification. Maybe you show it in a dashboard. That's it. That's literally the whole product. And yet Formspree wants $20/mo for it. Basin, Formcarry -- same ballpark.&lt;/p&gt;

&lt;p&gt;So around December last year I decided to just build the thing myself.&lt;/p&gt;




&lt;h2&gt;
  
  
  The building process
&lt;/h2&gt;

&lt;p&gt;I should mention -- this was always a side project. I run a small automation agency during the day, so FormTo got evenings and weekends. Some weeks I'd grind on it for hours, other weeks I barely touched it. That's just how side projects go I guess.&lt;/p&gt;

&lt;p&gt;The backend came together pretty fast. Fastify, PostgreSQL, standard stuff. I used Claude Code a lot during development and honestly it was a game changer for velocity. Stuff that would normally take me a full evening to figure out -- like getting JWT auth right, or writing all the database migrations, or setting up the Caddy reverse proxy config -- I could knock out in an hour or two. Not saying AI wrote the whole thing, but it definitely cut the timeline by half, maybe more. For a solo dev working on nights and weekends that matters a lot.&lt;/p&gt;

&lt;p&gt;The frontend though. That's where things got interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Upwork disaster
&lt;/h2&gt;

&lt;p&gt;I'm primarily a backend guy. I can hack together a React app but I'm not going to pretend I'm a frontend specialist. So I thought OK, let me hire someone on Upwork to build a clean dashboard UI. Found a guy, decent portfolio, good reviews. Gave him the designs, explained the API, set up the repo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What a disaster.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first delivery was basically a template he found somewhere with my API calls shoved in. Half the components didn't work. State management was all over the place. I spent more time reviewing and fixing his code than it would have taken me to write it from scratch. After two rounds of revisions that somehow made things worse, I just paid him for the hours and moved on.&lt;/p&gt;

&lt;p&gt;Ended up building the frontend myself with Claude Code again. Took me about two weeks to get something I was actually happy with. React 19, Tailwind v4, Radix UI for the component primitives. Is it the most beautiful dashboard ever? No. But it works, it's consistent, and I understand every line of code in it. That Upwork detour cost me about a month of progress and a few hundred dollars for code I threw away entirely.&lt;/p&gt;

&lt;p&gt;Lesson learned: if your project is small enough and you're technical enough, just build it yourself. Hiring makes sense when you're scaling, not when you're prototyping.&lt;/p&gt;




&lt;h2&gt;
  
  
  So what is FormTo actually?
&lt;/h2&gt;

&lt;p&gt;FormTo is a self-hosted form backend. You take any HTML form, point the &lt;code&gt;action&lt;/code&gt; attribute at your FormTo instance, and submissions start showing up in a dashboard. No JavaScript SDK, no API keys, no build step.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://forms.yourdomain.com/f/contact-abc123"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I only built stuff I actually needed or my friend kept asking for. Notifications go to email (any SMTP), Telegram, Slack, or a generic webhook -- so you can still pipe it to n8n or Make if that's your thing, but you don't have to anymore. There's spam handling with honeypot fields and rate limiting instead of CAPTCHAs because nobody likes CAPTCHAs. Auto-close after X submissions or a date, which turned out to be really handy for RSVPs and waitlists. CSV export because someone will always ask for a spreadsheet, it's like a law of nature at this point. And hosted form pages if you don't even want to write HTML -- just share a link and you're done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Running it
&lt;/h2&gt;

&lt;p&gt;The whole thing runs on Docker Compose. One command and you've got a working form backend with automatic HTTPS via Caddy. There's a first-run wizard so you don't need to mess with config files beyond setting a domain and database password. It runs fine on a &lt;strong&gt;$5 VPS&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/lumizone/formto
&lt;span class="nb"&gt;cd &lt;/span&gt;formto
&lt;span class="nb"&gt;cp &lt;/span&gt;formto.env.example formto.env
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One thing I want to be clear about -- this is &lt;strong&gt;not&lt;/strong&gt; a form builder. No drag-and-drop, no visual editor, no templates. You write your form however you want and point it at FormTo. That's intentional. There are a million form builders out there already. I just wanted the backend part done well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source + cloud
&lt;/h2&gt;

&lt;p&gt;It's open source under AGPL-3.0. The full feature set is right there, nothing held back behind a paywall or a pro tier. I'm also working on a cloud version at &lt;a href="https://formto.dev" rel="noopener noreferrer"&gt;formto.dev&lt;/a&gt; for people who don't want to deal with servers, but the self-hosted version will always be the complete product. No artificial limits to nudge you toward paying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/lumizone/formto" rel="noopener noreferrer"&gt;github.com/lumizone/formto&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's still early and I'm the only one working on it. If something breaks, if you want a feature, or if you just want to tell me the UI is ugly -- open an issue. I read all of them.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>selfhosted</category>
      <category>docker</category>
    </item>
    <item>
      <title>How AI Can Finally Write B2B Outreach Emails That Actually Work</title>
      <dc:creator>Łukasz Blania</dc:creator>
      <pubDate>Sun, 07 Sep 2025 17:40:30 +0000</pubDate>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a/how-ai-can-finally-write-b2b-outreach-emails-that-actually-work-13nm</link>
      <guid>https://dev.to/ukasz_blania_4b7d226fa2a/how-ai-can-finally-write-b2b-outreach-emails-that-actually-work-13nm</guid>
      <description>&lt;p&gt;Cold emailing has always been a strange mix of art and science. On one hand, it’s about persuasion, psychology, and human connection. On the other, it’s a numbers game — you need enough volume to cut through the noise and land in front of the right people.&lt;/p&gt;

&lt;p&gt;For years, founders, marketers, and sales reps have been caught in the same dilemma: personalize every email manually and burn endless hours, or send generic templates at scale and watch reply rates crash to zero.&lt;/p&gt;

&lt;p&gt;When AI burst onto the scene, many people thought the problem was solved. &lt;strong&gt;“Just let ChatGPT write your emails!”&lt;/strong&gt; But anyone who tried quickly discovered the ugly truth: most AI-generated emails sound painfully robotic, overloaded with buzzwords, or so vague they could apply to any business on the planet.&lt;/p&gt;

&lt;p&gt;So why does AI stumble so badly at something as simple as writing a cold email? And more importantly, how do we fix it?&lt;/p&gt;




&lt;h2&gt;
  
  
  Why AI Struggles With Email Outreach
&lt;/h2&gt;

&lt;p&gt;AI’s weakness comes down to &lt;strong&gt;context&lt;/strong&gt;. Large language models are designed to be general-purpose — they can write code, explain history, summarize legal documents, and yes, write emails. But that flexibility comes at a cost.&lt;/p&gt;

&lt;p&gt;Think of it like buying a single machine that tries to function as a fridge, oven, washing machine, coffee maker, and television all at once. Technically, it can do all of those things. But if you want the perfect sourdough baked at 230°C? Or a rich espresso brewed at 8 bars of pressure? That multi-tool monster won’t cut it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpk8axdlw27ellewxl3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpk8axdlw27ellewxl3f.png" alt=" " width="720" height="1080"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Email outreach requires precision. You need the right tone, the right length, the right level of personalization, and a clear value proposition. It’s not enough for the text to “look okay” — it has to feel like it came from a human who understands the recipient’s problems.&lt;/p&gt;

&lt;p&gt;When you ask AI:&lt;br&gt;
“Write me a cold email to a marketing agency.”&lt;/p&gt;

&lt;p&gt;It fills in the blanks with generic business language. You get lines like:&lt;br&gt;
“We offer innovative solutions to help your business thrive in today’s competitive landscape.”&lt;/p&gt;

&lt;p&gt;It looks polished. But it’s the kind of sentence that 10,000 other emails also contain. And in the real world, that means instant delete.&lt;/p&gt;




&lt;h2&gt;
  
  
  Structure: Giving AI a Map to Follow
&lt;/h2&gt;

&lt;p&gt;Here’s the first key: AI performs best when you don’t just give it a vague request, but a &lt;strong&gt;map&lt;/strong&gt;. Structure is the difference between usable output and robotic nonsense.&lt;/p&gt;

&lt;p&gt;Think of sending instructions to AI like shipping a package:&lt;br&gt;
If you throw your product, address, and label separately into the sky, maybe — by pure chance — it lands in the right place.&lt;br&gt;
But if you pack it carefully, seal the box, and give it to a courier with clear delivery instructions, you know it will arrive exactly where it should.&lt;/p&gt;

&lt;p&gt;AI is the same. If you tell it “write me a cold email,” it’s guessing. But if you hand it a &lt;strong&gt;proven structure&lt;/strong&gt; and &lt;strong&gt;specific guidelines&lt;/strong&gt; — suddenly, it becomes a precision tool.&lt;/p&gt;

&lt;p&gt;Here’s an example skeleton I use in real campaigns:&lt;br&gt;
{{name}},&lt;/p&gt;

&lt;p&gt;{{icebreaker}}&lt;br&gt;
Everyone in [[niche]] is leaking cash, slow intake, lost follow-up, clunky admin., all bottlenecks AI actually kills. No fancy buzzwords. This is about running tighter, faster, and never missing a chance to win deals or lock in repeat buyers.&lt;br&gt;
{{name}}, spotted gaps you can close for good. Most never even spot the leaks. Want the straight playbook or staying stuck? Reply yes or no, nothing else.&lt;br&gt;
[[YourName]]&lt;/p&gt;

&lt;p&gt;This structure forces clarity. It starts with a hook (the icebreaker), names specific problems the recipient actually feels, and ends with a simple binary CTA. No long-winded pitch, no corporate jargon, no desperate begging for attention.&lt;/p&gt;

&lt;p&gt;When you feed AI this structure and add rules like &lt;strong&gt;“do not use the word synergy”&lt;/strong&gt; or &lt;strong&gt;“keep it under 120 words,”&lt;/strong&gt; the difference is dramatic. Instead of generic fluff, you get concise, sharp outreach that feels human.&lt;/p&gt;




&lt;h2&gt;
  
  
  Personalization: The Real Game-Changer
&lt;/h2&gt;

&lt;p&gt;Templates are useful, but they’re just the skeleton. The muscle of a great outreach campaign is &lt;strong&gt;personalization&lt;/strong&gt;. Without it, even the best structure falls flat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh5z7tygozurdbboucuw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh5z7tygozurdbboucuw.png" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think about your own inbox. If you get a message that clearly went to 500 other people, you delete it without reading. But if someone references your company, your latest LinkedIn post, or a pain point you actually deal with, you pause. You might even reply.&lt;/p&gt;

&lt;p&gt;AI can do personalization at scale — but only if you feed it the right inputs. That means giving it data such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Who the recipient is:&lt;/strong&gt; job title, role, decision-making power.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What the company does:&lt;/strong&gt; industry, recent projects, unique positioning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What’s happening now:&lt;/strong&gt; case studies, blog posts, product launches, LinkedIn updates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your specific angle:&lt;/strong&gt; how your offer relates directly to their situation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s the key: &lt;strong&gt;AI doesn’t guess well&lt;/strong&gt;. If you don’t give it this information, it will invent generic filler. But if you provide real context, it can weave it into your email in ways that feel personal and authentic.&lt;/p&gt;

&lt;p&gt;Yes, you could technically research and write this by hand. For five prospects, sure. For fifty, it starts getting painful. For five hundred? It’s impossible without burning out. And that’s where automation becomes essential.&lt;/p&gt;




&lt;h2&gt;
  
  
  Automating the Grind With AI + n8n
&lt;/h2&gt;

&lt;p&gt;This is where outreach stops being a chore and becomes a system. By combining AI with automation platforms like &lt;strong&gt;n8n&lt;/strong&gt;, you can run campaigns that are personalized, scalable, and efficient.&lt;/p&gt;

&lt;p&gt;Here’s how it looks in practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Sheets&lt;/strong&gt; — load in your prospect list. Maybe it’s 1,000 contacts pulled from LinkedIn Sales Navigator.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anymail Finder&lt;/strong&gt; — automatically fetches and verifies the correct email addresses. You only pay for valid ones, so there’s no wasted budget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Perplexity&lt;/strong&gt; — pulls in live web data for each prospect, so you have current, relevant details to use for personalization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI&lt;/strong&gt; — writes the emails using your structure, style rules, and the personalized data you collected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;n8n&lt;/strong&gt; — stitches everything together, runs it in sequence, and outputs emails that are ready to send.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best part? Once you set this up, you’re no longer chained to your laptop, spending nights crafting line after line. The system runs in the background. You wake up the next morning, and your outreach campaign is already written and queued.&lt;/p&gt;

&lt;p&gt;Instead of drowning in repetitive work, you focus on what actually matters: conversations with prospects who are ready to buy.&lt;/p&gt;




&lt;h2&gt;
  
  
  Results From the Field
&lt;/h2&gt;

&lt;p&gt;When I tested this system, here’s what happened over a 3-week campaign:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Delivery rate:&lt;/strong&gt; 99%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bounce rate:&lt;/strong&gt; 1%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open rate:&lt;/strong&gt; 54%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Click-through rate (CTR):&lt;/strong&gt; 18%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prospects amount:&lt;/strong&gt; 300&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emails per person:&lt;/strong&gt; 5 (4 follow-up)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the craziest part? I spent maybe &lt;strong&gt;4 hours total&lt;/strong&gt;. That time was used for setup: preparing the email footer, creating the prospect list, and configuring the workflow. The rest ran automatically.&lt;/p&gt;

&lt;p&gt;Normally, you’d need a full sales development team for those results. With AI and automation, one person can achieve the same — without sacrificing evenings, weekends, or sanity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters More Than Ever
&lt;/h2&gt;

&lt;p&gt;It’s tempting to dismiss all this and say: &lt;strong&gt;“I’ll just write emails myself.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And for small-scale outreach, you’re right. If you’re sending 5 emails to potential partners, don’t overthink it. But scale changes the equation.&lt;/p&gt;

&lt;p&gt;Cold email is fundamentally about &lt;strong&gt;volume&lt;/strong&gt;. The law of large numbers applies — you need to reach enough people for opportunities to materialize. But &lt;strong&gt;pure volume without personalization is spam&lt;/strong&gt;. And &lt;strong&gt;pure personalization without automation is impossible to sustain&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;AI gives you the middle ground: &lt;strong&gt;volume with personalization&lt;/strong&gt;. Instead of choosing between quality and quantity, you finally get both.&lt;/p&gt;

&lt;p&gt;This isn’t just a productivity hack. It’s a competitive edge. Companies that figure out how to combine AI with outreach workflows will simply outpace those who don’t. They’ll send more messages, book more calls, and close more deals, all while spending less time in the weeds.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI isn’t magic. If you just open ChatGPT and type &lt;strong&gt;“write me a cold email,”&lt;/strong&gt; you’ll get the same robotic junk everyone else is sending. That’s why so many people conclude that AI “doesn’t work for outreach.”&lt;/p&gt;

&lt;p&gt;But the truth is different. AI works brilliantly when you &lt;strong&gt;give it structure, feed it personalization, and connect it to automation tools&lt;/strong&gt; that handle the heavy lifting.&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On its own, AI is a brilliant but unfocused intern. It has potential but doesn’t know what you want.&lt;/li&gt;
&lt;li&gt;With guidance (structure), it becomes a competent writer.&lt;/li&gt;
&lt;li&gt;With resources (personalized data), it becomes persuasive.&lt;/li&gt;
&lt;li&gt;And with automation, it becomes a full-scale outbound team that never sleeps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s the power shift. You stop being limited by hours in the day and start running outreach at a scale that would normally require a small army.&lt;/p&gt;

&lt;p&gt;I’ve packaged my exact workflow so you don’t have to reinvent the wheel. You can grab it here:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://lukaszb.gumroad.com/l/lhnfw" rel="noopener noreferrer"&gt;My n8n Workflow&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI isn’t about replacing human skill. It’s about multiplying it. And in B2B outreach, that multiplier can be the difference between sending a handful of emails that get ignored — and running a campaign that actually drives deals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff20hl9i4l94ccl9fyru2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff20hl9i4l94ccl9fyru2.png" alt=" " width="720" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS: “I sent” over 600 emails walking on the Mountains, for a whole week, found 4 clients, and spent a great time ;)&lt;/p&gt;

</description>
      <category>marketing</category>
      <category>email</category>
      <category>n8n</category>
      <category>ai</category>
    </item>
    <item>
      <title>ChatGPT-5 Is Amazing. You don’t know how to use this properly. I show you why.</title>
      <dc:creator>Łukasz Blania</dc:creator>
      <pubDate>Sun, 07 Sep 2025 10:11:00 +0000</pubDate>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a/chatgpt-5-is-amazing-you-dont-know-how-to-use-this-properly-i-show-you-why-2hf1</link>
      <guid>https://dev.to/ukasz_blania_4b7d226fa2a/chatgpt-5-is-amazing-you-dont-know-how-to-use-this-properly-i-show-you-why-2hf1</guid>
      <description>&lt;p&gt;Let’s talk like humans for a second. You typed a vague thought into a text box, hit Enter, and expected cinematic genius to roll out of the machine like a red carpet. Instead, you got something… meh. You sighed. “ChatGPT-5 is worse than 4o!” you posted, shaking your fist at the cloud.&lt;/p&gt;

&lt;p&gt;I’ve got news that will both &lt;strong&gt;empower&lt;/strong&gt; you and mildly annoy you: &lt;strong&gt;GPT-5 is better than GPT-4o&lt;/strong&gt; for most real work — agents, tool use, coding, long context, instruction following — but it &lt;strong&gt;punishes sloppy prompts&lt;/strong&gt; more than its predecessors. The model is more &lt;strong&gt;steerable&lt;/strong&gt;, more &lt;strong&gt;systematic&lt;/strong&gt;, and far more &lt;strong&gt;literal&lt;/strong&gt;. If you tell it where to go, it’ll drive. If you say “take me somewhere nice,” don’t be surprised when you end up in a parking lot with decent lighting.&lt;/p&gt;

&lt;p&gt;This article is a friendly deep-dive into how to get &lt;strong&gt;consistently great results with GPT-5&lt;/strong&gt;. We’ll quickly cover what changed from the GPT-4o era, why your results might feel bland, how the new modes (&lt;strong&gt;Instant&lt;/strong&gt;, &lt;strong&gt;Auto&lt;/strong&gt;, &lt;strong&gt;Thinking&lt;/strong&gt;, and &lt;strong&gt;Pro&lt;/strong&gt;) actually work, and a handful of practical snippets — straight from the playbook of people who use GPT-5 all day — to help you write prompts that don’t waste tokens or time.&lt;/p&gt;

&lt;p&gt;Grab a coffee. I’ll keep it conversational, a little dry-humored, and very practical.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Changed: From a Zoo of Models to One Agentic System
&lt;/h2&gt;

&lt;p&gt;In the GPT-4o days, you often had to choose your fighter — a model for speed, another for multimodal, another for reasoning, and so on. &lt;strong&gt;GPT-5 simplifies that mental overhead.&lt;/strong&gt; Think of it less like “a model” and more like an agentic engine with multiple gears:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;unified core&lt;/strong&gt; (one flagship model) that routes internally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modes&lt;/strong&gt; that change how hard it thinks and how verbose it speaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent-first behavior&lt;/strong&gt;: better at calling tools, following rules, and persisting plans across steps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stronger instruction adherence&lt;/strong&gt;: if your instructions conflict or are vague, GPT-5 will spend effort reconciling that mess instead of producing gold from chaos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The practical effect is: &lt;strong&gt;less menu anxiety, more steering power&lt;/strong&gt;. But you have to actually steer.&lt;/p&gt;




&lt;h2&gt;
  
  
  “My Results Are Terrible” — Why That Happens with GPT-5
&lt;/h2&gt;

&lt;p&gt;Let’s get the uncomfortable bit out of the way: &lt;strong&gt;GPT-5 is allergic to ambiguity&lt;/strong&gt;. GPT-4o was often forgiving. You could toss a fuzzy prompt at it and it would do a decent job guessing your intent. GPT-5 can still guess — but it’s trained to &lt;strong&gt;respect your constraints and follow your process&lt;/strong&gt; when you give it one. When you don’t, it can over-invest in clarification or under-deliver because the target was never pinned down.&lt;/p&gt;

&lt;p&gt;Here are the three most common causes of “bad answers” with GPT-5:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Vague goals&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Write a plan” is not a goal.&lt;/li&gt;
&lt;li&gt;“Draft a 7-step launch plan for a two-person SaaS, each step ≤120 words, with a simple checklist and a 14-day timeline” is a goal.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contradictory rules&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Never ask the user to confirm anything” vs. “Always obtain explicit consent before booking” is the kind of conflict that sends GPT-5 into polite paralysis. It tries to satisfy both. Resolve conflicts yourself.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Missing stop conditions&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Agents need to know when to stop. If you don’t define finish lines, they’ll keep circling the track — or stop too early. You decide the lap count.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The fix: be explicit about what you want, how you want it, how far the model should explore, and when it’s allowed to proceed despite uncertainty.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Modes: Instant, Auto, Thinking, Pro — What They Actually Do
&lt;/h2&gt;

&lt;p&gt;GPT-5 exposes four working styles. These aren’t just “speed settings”; they’re behavior contracts. Use the right one for the job, and your life gets easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  1) Instant — “Answer fast, don’t overthink it”
&lt;/h3&gt;

&lt;p&gt;Instant mode is the one that answers as quickly as possible, often sacrificing depth and nuance to give you something fast and usable. It shines when the task is simple — like rewriting a sentence, summarizing a short passage, or giving a factual answer — but it won’t bother with complex reasoning or edge cases. If you ask it to solve a real problem, it will simply hand you the quickest version of an answer and move on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfgnaes6577rqtiullfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfgnaes6577rqtiullfe.png" alt=" " width="720" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick summaries, short emails, simple rewrites, straightforward Q&amp;amp;A.&lt;/li&gt;
&lt;li&gt;Latency-sensitive interfaces (chat widgets, quick drafts).&lt;/li&gt;
&lt;li&gt;You already know what you want; you just need it formatted or rephrased.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low latency, low cost.&lt;/li&gt;
&lt;li&gt;Great when the task is clear and bounded.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pitfalls:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Doesn’t wander far. If the task is fuzzy, Instant will give you a tidy version of your fuzziness.&lt;/li&gt;
&lt;li&gt;Minimal context gathering; it won’t go spelunking unless told.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to prompt for Instant:&lt;/strong&gt;&lt;br&gt;
Why this works: you’ve set a tiny budget, a clear finish line, and a crisp format. Instant thrives on constraints.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Search depth: very low&lt;br&gt;
Absolute max tool calls: 2&lt;br&gt;
Proceed with the best available answer even if not fully certain.&lt;br&gt;
Stop when output meets the format and constraints below.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audience: startup founders, non-technical&lt;/li&gt;
&lt;li&gt;Length: ≤ 180 words&lt;/li&gt;
&lt;li&gt;Format: 3 bullets + 1-sentence CTA&lt;/li&gt;
&lt;li&gt;Tone: concise, friendly, no fluff
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2) Auto — “Pick the right depth for me”
&lt;/h2&gt;

&lt;p&gt;Auto mode is the balanced choice. It adapts to the difficulty of the task, behaving like Instant when things are straightforward, but taking more time and reasoning when the problem requires it. This makes it the most practical mode for everyday use, because you don’t have to decide how much thinking the model should do — it figures it out on its own. The catch is that if your instructions are vague, Auto might overanalyze and spend too much time gathering context before giving you what you want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6g95k99qnlk12ummulo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6g95k99qnlk12ummulo.png" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most day-to-day tasks where you don’t want to micromanage.&lt;/li&gt;
&lt;li&gt;The model can decide whether to think shallow or deep.&lt;/li&gt;
&lt;li&gt;You’re okay with it calling tools and making a plan if needed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Balanced. Often the best default.&lt;/li&gt;
&lt;li&gt;Can switch gears mid-task: skim where trivial, dig where tricky.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pitfalls:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If your instructions are vague, Auto might “gather context” longer than you expected.&lt;/li&gt;
&lt;li&gt;If your rules conflict, Auto burns cycles reconciling them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to prompt for Auto (calibrated):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
Goal: get just enough context to act.&lt;br&gt;
Method:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start broad, then one focused batch of subqueries.&lt;/li&gt;
&lt;li&gt;Deduplicate; cache; avoid repeated searches.
Early stop:&lt;/li&gt;
&lt;li&gt;You can name exact items to change or produce.
Escalate once:&lt;/li&gt;
&lt;li&gt;If signals conflict, do one refined batch, then act.


Keep going until all subtasks in the plan are done.
Do not hand back on uncertainty—proceed with the most reasonable assumption, and document it in the summary.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3) Thinking — “Take your time, reason deeply, chain steps”
&lt;/h2&gt;

&lt;p&gt;Thinking mode is where GPT-5 goes deep. Instead of rushing, it breaks the problem apart, makes a plan, and follows through step by step. This mode is built for accuracy, analysis, and complex reasoning. It’s slower and more expensive, but if you want a model that can handle multi-step research, write thorough strategies, or work inside large codebases, this is the gear you want. Without clear instructions, however, it can end up overthinking and generating more than you bargained for.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1rnj9ylv3ab4bwtri8vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1rnj9ylv3ab4bwtri8vo.png" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex multi-step problems, long-horizon tasks, architecture, tricky analysis, non-trivial refactors, research synthesis.&lt;/li&gt;
&lt;li&gt;Anywhere accuracy, edge cases, and planning matter more than speed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The highest quality reasoning and decomposition.&lt;/li&gt;
&lt;li&gt;Excellent at following multi-stage processes and double-checking work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pitfalls:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slower and more expensive.&lt;/li&gt;
&lt;li&gt;If you don’t set stop conditions, it may over-invest in “thoroughness.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to prompt for Thinking (with guardrails):&lt;/strong&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Decompose the request into a numbered plan (max 7 steps).&lt;/li&gt;
&lt;li&gt;Before executing, validate the plan against constraints and risks.&lt;/li&gt;
&lt;li&gt;After each step, self-check: does this meet the acceptance criteria?

&lt;/li&gt;
&lt;li&gt;Output passes all format checks.&lt;/li&gt;
&lt;li&gt;No TODOs or placeholders remain.&lt;/li&gt;
&lt;li&gt;Edge cases addressed: [list your edge cases].

&lt;/li&gt;
&lt;li&gt;Total tool calls: ≤ 6 unless a blocker is detected.&lt;/li&gt;
&lt;li&gt;If a blocker is detected, explain briefly, then request explicit permission to exceed.

Pro move: pair Thinking with the Responses API and reuse &lt;code&gt;previous_response_id&lt;/code&gt; across turns. This preserves the model’s plan/context without re-paying for it each time.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  4) Pro — “All-in performance with ”
&lt;/h2&gt;

&lt;p&gt;Pro mode is the perfectionist. It doesn’t just think deeply like the Thinking mode, it also packages the result neatly, with polish, structure, and presentation. This makes it the mode for high-stakes tasks: executive memos, legal drafts, detailed proposals, or anything where you want the output to look like it came from a professional rather than an assistant. It is the slowest and most resource-intensive option, and sometimes it’s simply overkill, but when the final product matters, this is the mode that delivers.(Only available in pro plan(200$/month))&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa814lvvjr0eb4tfd252.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa814lvvjr0eb4tfd252.png" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High-stakes deliverables where both the thinking and the final writing must be excellent: investor memos, legal policy drafts, system designs pitched to executives, production-grade code proposals.&lt;/li&gt;
&lt;li&gt;Scenarios where tone, formatting, and completeness are part of the spec.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Combines depth with editorial quality and strong instruction adherence.&lt;/li&gt;
&lt;li&gt;Great at keeping the big picture while nailing the details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pitfalls:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overkill for quick tasks.&lt;/li&gt;
&lt;li&gt;If your prompt is vague, you’ll pay more to get a beautifully formatted shrug.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to prompt for Pro (quality spec):&lt;/strong&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Structure: executive summary → details → risks → next steps.&lt;/li&gt;
&lt;li&gt;Evidence: cite sources or assumptions inline; mark assumptions clearly.&lt;/li&gt;
&lt;li&gt;Style: plain English, active voice, short paragraphs.&lt;/li&gt;
&lt;li&gt;Review pass: do a final contradiction scan; align with acceptance criteria.

&lt;/li&gt;
&lt;li&gt;Provide a clean deliverable plus a 5-line TL;DR.&lt;/li&gt;
&lt;li&gt;Include a checklist the reader can act on immediately.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Prompt Patterns That Work in GPT-5 (And Why)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Contracts beat vibes
&lt;/h3&gt;

&lt;p&gt;Define output contracts, budgets, stop conditions, and escape hatches (“Proceed even if not fully certain”). GPT-5 respects contracts.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Remove contradictions at the source
&lt;/h3&gt;

&lt;p&gt;If your process has a real exception (“In emergencies, skip patient lookup and give 911 guidance”), write that exception explicitly. The model is obedient; don’t make it choose between rule parents.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Use “tool preambles” to keep humans oriented
&lt;/h3&gt;

&lt;p&gt;If your agent will run multiple steps or edit files, have it front-load the plan and narrate progress succinctly.&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Rephrase the user goal briefly.&lt;/li&gt;
&lt;li&gt;Outline a step-by-step plan.&lt;/li&gt;
&lt;li&gt;Announce each tool call and why.&lt;/li&gt;
&lt;li&gt;Summarize: planned vs. completed.

4) Control eagerness, don’t just complain about it
Too much “research”? Tighten &lt;code&gt;&amp;lt;context_gathering&amp;gt;&lt;/code&gt;.
Too many clarifying questions? Add &lt;code&gt;&amp;lt;persistence&amp;gt;&lt;/code&gt; and tell it to assume and proceed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5) Verbosity is a dial
&lt;/h3&gt;

&lt;p&gt;There’s a verbosity parameter (final answer length) and your prompt can override it locally. For instance: global verbosity: low, but inside code tools ask for “high verbosity” diffs and comments. You’ll get tight narration, but richly explained code edits.&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical Snippets You Can Paste Today
&lt;/h2&gt;

&lt;p&gt;A. The “Atomic Task” Skeleton (great for Instant/Auto)&lt;br&gt;
Task: Rewrite the following draft into a 120–150 word LinkedIn post for non-technical founders.&lt;br&gt;
Include: a hook (1 sentence), 3 value bullets, 1 CTA sentence.&lt;br&gt;
Constraints: avoid buzzwords; no hashtags; plain English.&lt;br&gt;
Stop when: length and structure are satisfied.&lt;br&gt;
If uncertain: proceed with best-effort and leave a one-line note of assumptions at the end.&lt;br&gt;
Draft:&lt;br&gt;
&lt;code&gt;[PASTE]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;B. The “One-Batch Research” Guardrail (Auto)&lt;br&gt;
&lt;code&gt;&amp;lt;context_gathering&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run exactly one parallel batch of searches.&lt;/li&gt;
&lt;li&gt;Read top 3 hits per query; deduplicate.&lt;/li&gt;
&lt;li&gt;Early stop when ~70% of sources converge on the same answer.&lt;/li&gt;
&lt;li&gt;No second batch unless a contradiction blocks action.
&lt;code&gt;&amp;lt;/context_gathering&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C. The “Thinking Pass” for Complex Work&lt;br&gt;
&lt;code&gt;&amp;lt;planning&amp;gt;&lt;/code&gt;&lt;br&gt;
1) Draft a mini-rubric (hidden) with 5–7 criteria for excellence.&lt;br&gt;
2) Produce a numbered plan (≤7 steps) to satisfy the rubric.&lt;br&gt;
3) Execute step-by-step; after each, self-check against the rubric.&lt;br&gt;
4) At the end, summarize residual risks or uncertainties.&lt;br&gt;
&lt;code&gt;&amp;lt;/planning&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;D. The “Code Edit Rules” (Frontend example)&lt;br&gt;
&lt;code&gt;&amp;lt;code_editing_rules&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clarity first: descriptive names, small components, minimal props.&lt;/li&gt;
&lt;li&gt;Consistency: Tailwind spacing multiples of 4; 1 neutral + ≤2 accents.&lt;/li&gt;
&lt;li&gt;Stack defaults: Next.js (TS), Tailwind, shadcn/ui, Lucide, Zustand.&lt;/li&gt;
&lt;li&gt;Directory: /src/app, /components, /hooks, /stores, /lib, /types.&lt;/li&gt;
&lt;li&gt;Deliverables: a focused diff + short rationale + test notes.
&lt;code&gt;&amp;lt;/code_editing_rules&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E. The “Finish Line” Contract (for any mode)&lt;br&gt;
&lt;code&gt;&amp;lt;acceptance_criteria&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Format exactly as specified below.&lt;/li&gt;
&lt;li&gt;No placeholders or TODOs.&lt;/li&gt;
&lt;li&gt;Edge cases addressed: &lt;code&gt;[list]&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Final: a 5-line TL;DR the reader can act on.
&lt;code&gt;&amp;lt;/acceptance_criteria&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Cookbook-Style Moves (Lifted from Real Usage)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Persist reasoning between steps (Responses API)
&lt;/h3&gt;

&lt;p&gt;When your agent must call tools across turns, reuse &lt;code&gt;previous_response_id&lt;/code&gt;. You’ll avoid “re-planning tax” and keep latency sane on long tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Minimal Reasoning ≠ Minimal Guidance
&lt;/h3&gt;

&lt;p&gt;If you choose minimal/low reasoning for speed, compensate with more explicit planning in the prompt. Example: ask the model to output a 4-bullet “what I’m about to do” before it does it. Your bullets become its scaffolding.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Calibrate questions vs. assumptions
&lt;/h3&gt;

&lt;p&gt;If you hate clarifying questions mid-flow, say so:&lt;br&gt;
“Do not hand back to the user for confirmation; make the most reasonable assumption and proceed. Document assumptions at the end.”&lt;/p&gt;

&lt;h3&gt;
  
  
  4) Prefer local verbosity overrides
&lt;/h3&gt;

&lt;p&gt;Short final answers, verbose code diffs. Or vice versa. Tell it where to spend words.&lt;/p&gt;

&lt;h3&gt;
  
  
  5) Use metaprompting to improve your prompt
&lt;/h3&gt;

&lt;p&gt;Stuck? Ask GPT-5: “Given this prompt and this undesired behavior, what minimal edits would you make to elicit &lt;code&gt;[desired behavior]&lt;/code&gt;?” You’ll get direct, actionable nips and tucks instead of a full rewrite.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Guided Tour: Matching Tasks to Modes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;th&gt;Prompt Tip&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rephrase email, fix tone&lt;/td&gt;
&lt;td&gt;Instant&lt;/td&gt;
&lt;td&gt;Clear target, low risk&lt;/td&gt;
&lt;td&gt;Define length, audience, tone, and stop condition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Draft landing page copy&lt;/td&gt;
&lt;td&gt;Auto&lt;/td&gt;
&lt;td&gt;Some thinking, some speed&lt;/td&gt;
&lt;td&gt;Provide section outline + word budgets per section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compare 3 vendor APIs, decide&lt;/td&gt;
&lt;td&gt;Thinking&lt;/td&gt;
&lt;td&gt;Research + synthesis + decision&lt;/td&gt;
&lt;td&gt;One-batch research + acceptance criteria + TL;DR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Large refactor (multi-file)&lt;/td&gt;
&lt;td&gt;Thinking/Pro&lt;/td&gt;
&lt;td&gt;Planning, code quality, diffs&lt;/td&gt;
&lt;td&gt;Code rules + plan + test notes + finish line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exec memo with risks &amp;amp; next steps&lt;/td&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;Quality + polish + structure&lt;/td&gt;
&lt;td&gt;Quality bar + handoff checklist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bug triage in a repo&lt;/td&gt;
&lt;td&gt;Auto → Thinking if complex&lt;/td&gt;
&lt;td&gt;Start lean, deepen if needed&lt;/td&gt;
&lt;td&gt;Plan first; escalate only once&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Fixing the Five Classic Anti-Patterns
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;“Write me a strategy”&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Better:&lt;/strong&gt; “Write a 7-step GTM strategy for a 2-person SaaS selling a $29/mo analytics add-on to Shopify stores. Each step ≤120 words; include risks and a day-by-day 14-day plan.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Be creative but concise but also very detailed”&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pick a lane.&lt;/strong&gt; If you must blend: “Use crisp, concrete language; short paragraphs; examples over adjectives. Max 500 words. Include 2 concrete examples.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Summarize this PDF” (no audience)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Better:&lt;/strong&gt; “Summarize for CFO who needs to decide by Friday. Extract 3 numbers, 3 risks, 3 upside factors. Max 200 words + 5-line TL;DR.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Improve the code” (no definition of “improve”)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Better:&lt;/strong&gt; “Refactor for readability and testability: extract components, remove dead code, add 3 unit tests. Keep behavior identical. Explain diff in 5 bullets.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Research everything about X”&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Better:&lt;/strong&gt; “Run one batch of searches; read top 3 results; stop when sources converge. Produce a 10-bullet executive summary + links + open questions.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Tiny Prompts That Save Hours
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;“Assume don’t ask” switch:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Do not ask for clarifications mid-task. When uncertain, choose the most reasonable assumption, proceed, and log assumptions in the final summary.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;“Don’t wander” leash:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Limit context gathering to one batch; no second batch unless contradictions block progress.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;“No fluff” pressure:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Plain English. No metaphors. No analogies unless requested. Replace adjectives with numbers or examples.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;“Rubric-first build” for greenfield:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Before building, silently create a 6-point rubric for a world-class &lt;code&gt;[deliverable]&lt;/code&gt;. Use it to self-check each step; do not show the rubric.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;“Finish line” clarity:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;“Stop only when the deliverable meets the acceptance criteria; otherwise continue iterating.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  A Word on Tone, Humor, and Human-ness
&lt;/h2&gt;

&lt;p&gt;You’ll notice GPT-5 can feel a little… serious. If your audience expects warmth or punch, ask for it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Friendly, lightly humorous tone.”&lt;/li&gt;
&lt;li&gt;“Speak directly to the reader (‘you’), like a helpful colleague.”&lt;/li&gt;
&lt;li&gt;“Short paragraphs. Occasional one-liner for levity.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you want zero fluff: say “No jokes, no rhetorical questions.” The model will comply. It’s obedient, not psychic.&lt;/p&gt;




&lt;h2&gt;
  
  
  Putting It All Together: A Mini Playbook
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Choose the model:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instant:&lt;/strong&gt; quick, bounded tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto:&lt;/strong&gt; default for most.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thinking:&lt;/strong&gt; complex, multi-step, accuracy-critical.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro:&lt;/strong&gt; high-stakes, polished deliverables.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define the deliverable:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Audience, length, structure, constraints, finish line.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Steer eagerness:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;context_gathering&amp;gt;&lt;/code&gt; for budgets and early stops.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;persistence&amp;gt;&lt;/code&gt; for autonomy and fewer clarifying questions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specify quality:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;quality_bar&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;acceptance_criteria&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Verbosity rules (where to be terse vs. detailed).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use tool preambles:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Plan → narrate → summarize. Humans love to see the map.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persist reasoning across turns:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Responses API + &lt;code&gt;previous_response_id&lt;/code&gt;. Pay once, reuse the plan.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep prompts contradiction-free:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Resolve rule conflicts up front. Explicit exceptions beat implicit hope.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;When results disappoint, ask GPT-5 to propose minimal prompt edits to reach your desired behavior. Ship the improved version.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The Punchline Without the Punch
&lt;/h2&gt;

&lt;p&gt;If GPT-4o was your friendly generalist who tried to read your mind, &lt;strong&gt;GPT-5 is your meticulous colleague&lt;/strong&gt; who will do exactly what you asked — and look at you expectantly if what you asked was unclear. It’s smarter, more persistent, and wildly capable. But it is not a magician. Vague in, vague out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write contracts, not vibes.&lt;/strong&gt; Choose the right mode. Set budgets and finish lines. Give it a quality bar to clear and an escape hatch when uncertainty isn’t worth the wait. Do that, and GPT-5 stops feeling “worse than before” and starts feeling like the teammate you brag about.&lt;/p&gt;

&lt;p&gt;If you still want “somewhere nice” without directions, I hear the parking lot has great lighting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fry3o8borjn1bv620b992.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fry3o8borjn1bv620b992.png" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>promptengineering</category>
      <category>openai</category>
      <category>gpt5</category>
    </item>
    <item>
      <title>SEO is dead, RAO just doesn’t know it yet</title>
      <dc:creator>Łukasz Blania</dc:creator>
      <pubDate>Sun, 24 Aug 2025 14:36:25 +0000</pubDate>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a/seo-is-dead-rao-just-doesnt-know-it-yet-28m7</link>
      <guid>https://dev.to/ukasz_blania_4b7d226fa2a/seo-is-dead-rao-just-doesnt-know-it-yet-28m7</guid>
      <description>&lt;h1&gt;
  
  
  The End of Traditional SEO: Enter Retrieval-Augmented Generation (RAO)
&lt;/h1&gt;

&lt;p&gt;For years, SEO meant keywords, backlinks, and chasing Google's ever-shifting algorithm. But beneath the surface, a revolution is brewing—one that many developers and marketers haven't fully grasped yet. The rise of Retrieval-Augmented Generation (RAO) is silently reshaping how content is discovered, accessed, and consumed. In this landscape, static, keyword-stuffed pages are losing relevance to dynamic content pipelines that fetch and fuse live knowledge into AI-generated responses.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75m9j2xyuwaf64010eqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75m9j2xyuwaf64010eqw.png" alt="SEO vs RAO: The Battle for Discovery" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Retrieval-Augmented Generation?
&lt;/h2&gt;

&lt;p&gt;At its core, RAO enhances AI by providing real-time, relevant information from external databases or the web during content generation. Instead of relying solely on pre-trained models or static content, RAO connects AI models with live data, delivering custom, accurate, and up-to-date answers tailored to the user’s context.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Knowledge Injection:&lt;/strong&gt; Pulls facts or datasets as needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Awareness:&lt;/strong&gt; Adapts responses based on retrieval results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalization:&lt;/strong&gt; Generates content that fits user intent more precisely.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This breaks the traditional content creation mold, where SEO optimized for search engines often meant compromising clarity or relevance for ranking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Traditional SEO Is Losing Its Edge
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Limits of Keyword-Centric Content
&lt;/h3&gt;

&lt;p&gt;Keyword stuffing and link building were once the bread and butter of search success. Now they often lead to poor user experience and can be penalized by search engines. More importantly, they can't compete with content that actually answers specific, dynamic queries instantly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Search Engines Evolve
&lt;/h3&gt;

&lt;p&gt;Search platforms increasingly leverage AI and live data integration. They prioritize relevance and real-time answers over static page authority.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Expectations Shift
&lt;/h3&gt;

&lt;p&gt;Users demand immediate, precise, and personalized information, not just a list of links optimized to rank.&lt;/p&gt;

&lt;h2&gt;
  
  
  How RAO Changes the Game With Automation and AI Workflows
&lt;/h2&gt;

&lt;p&gt;Integrating RAO into your development and content strategy is not just a concept—it's actionable through automation and AI pipelines.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step-by-Step:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Connect to Live Data Sources:&lt;/strong&gt; APIs, databases, or web scraping to gather fresh information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trigger AI Prompts Dynamically:&lt;/strong&gt; Feed live data into AI models during content generation rather than relying on static inputs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate Content Delivery:&lt;/strong&gt; Use workflow automation tools like n8n to orchestrate data retrieval, AI prompting, and content publishing.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This approach ensures every piece of content is as relevant and updated as possible, directly improving discoverability and user satisfaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcob1uwdslmufylxbq4wr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcob1uwdslmufylxbq4wr.png" alt="Inside a RAO-Driven Automation Pipeline" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Example: Workflow Automation with n8n
&lt;/h2&gt;

&lt;p&gt;To put theory into practice, I published a workflow that plugs live web data into AI prompts for dynamic content creation. This hands-on integration highlights how RAO can be applied effectively in modern development environments. Explore it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lukaszb.gumroad.com/l/tdxfx" rel="noopener noreferrer"&gt;Workflow: Blog content machine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This solution tackles the pain points of stale content and manual updating, enabling continuous, relevant content generation tailored to precise user needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Developers Should Embrace RAO Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stay Ahead of Search Evolution:&lt;/strong&gt; Be future-ready for AI-driven platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improve User Engagement:&lt;/strong&gt; Deliver timely, personalized content reliably.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate Tedious Processes:&lt;/strong&gt; Reduce manual SEO tweaking and content refreshing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Traditional SEO tactics centered on static optimization are becoming relics. RAO’s ability to bridge live, context-aware data with AI content generation marks the next big shift in search and discovery. By automating this process through tools like n8n, developers and content creators can build workflows that deliver dynamic, tailored content at scale.&lt;/p&gt;

&lt;p&gt;If you’re ready to leave behind outdated techniques and embrace the future of digital discovery, explore RAO-driven automation workflows and see firsthand how dynamic content can elevate your projects.&lt;/p&gt;

&lt;p&gt;Explore the workflow I crafted and put RAO into action today: &lt;a href="https://lukaszb.gumroad.com/l/tdxfx" rel="noopener noreferrer"&gt;n8n Workflow&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>seovsrao</category>
      <category>automation</category>
      <category>blog</category>
      <category>ai</category>
    </item>
    <item>
      <title>How I automated my blog and doubled traffic</title>
      <dc:creator>Łukasz Blania</dc:creator>
      <pubDate>Sun, 24 Aug 2025 14:21:46 +0000</pubDate>
      <link>https://dev.to/ukasz_blania_4b7d226fa2a/how-i-automated-my-blog-and-doubled-traffic-27d4</link>
      <guid>https://dev.to/ukasz_blania_4b7d226fa2a/how-i-automated-my-blog-and-doubled-traffic-27d4</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Managing a software development blog can quickly become overwhelming. Between content creation, scheduling, social sharing, and optimization, manual handling soon exhausts your time and focus. I faced these very challenges—pain points that limited my ability to grow and engage consistently.&lt;/p&gt;

&lt;p&gt;Driven by the need to regain bandwidth and scale effectively, I embarked on automating crucial aspects of my blog operations. With automation, I didn't just get time back; I transformed my whole publishing workflow, enhanced content reach, and saw tangible growth in organic traffic.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgh2vzt2c7xs7tsky9wbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgh2vzt2c7xs7tsky9wbs.png" alt="Visualizing Automated Blog Growth" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Facing the Pain Points
&lt;/h2&gt;

&lt;p&gt;Before automation, my key struggles included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual content scheduling:&lt;/strong&gt; Copy-pasting and trackboarding post times across platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social media sharing:&lt;/strong&gt; Inefficient, repetitive manual announcements leading to inconsistency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyword research:&lt;/strong&gt; Time-consuming research slowed down content ideation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post enhancements:&lt;/strong&gt; Limited time to refine posts with SEO and readability improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tasks drained hours weekly and created bottlenecks that impeded steady publishing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Automation: The Tech Stack and Workflow
&lt;/h2&gt;

&lt;p&gt;I adopted a layered approach using automation tools and workflow platforms tailored for blogging needs:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Automated Content Scheduling &amp;amp; Publishing
&lt;/h3&gt;

&lt;p&gt;Utilizing &lt;a href="https://gumroad.com/l/n8n-blog-automation" rel="noopener noreferrer"&gt;n8n's Blogging Workflow&lt;/a&gt; as my backbone automation, I linked my CMS to a workflow that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publishes new blog posts automatically at scheduled times.&lt;/li&gt;
&lt;li&gt;Triggers optimized social media sharing seamlessly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. RSS-to-Social Workflow
&lt;/h3&gt;

&lt;p&gt;Once a post goes live, an automation grabs the RSS feed, crafts engaging social snippets, and posts them across Twitter and LinkedIn without manual intervention.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Automated Keyword Research
&lt;/h3&gt;

&lt;p&gt;Using API integrations with keyword research tools, the workflow periodically suggests high-impact keywords for my niche, feeding new content ideas directly to my editorial calendar.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. AI-Driven Post Enhancements
&lt;/h3&gt;

&lt;p&gt;To improve quality and SEO, AI tools automatically analyze draft posts for readability metrics and suggest edits, freeing me to focus on core content.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0g7nnzk8gzf2foe48fxi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0g7nnzk8gzf2foe48fxi.png" alt="Tech Stack Behind an Automated Blog" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantifiable Results
&lt;/h2&gt;

&lt;p&gt;Since embracing these automated workflows, results have been undeniable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;+60% increase in organic traffic&lt;/strong&gt; within three months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistent publishing cadence,&lt;/strong&gt; averaging one optimized post weekly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20% boost in social engagement,&lt;/strong&gt; driven by timely, automated announcements.&lt;/li&gt;
&lt;li&gt;Freed over 8 hours per week from routine tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automation not only scaled my blog's reach but also improved my productivity and content quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It Matters for Developers and Content Creators
&lt;/h2&gt;

&lt;p&gt;If you're a technical blogger, indie hacker, or developer juggling content creation with your core projects, automation offers a practical solution to amplify impact without burnout. &lt;/p&gt;

&lt;p&gt;The workflows I used are adaptable and built on open, flexible platforms that empower you to create tailored automation matching your style and goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Automating blog operations redefined how I approach my content ecosystem—from ideation to audience engagement. For anyone serious about growing a blog sustainably and efficiently, integrating automation workflows is a game changer.&lt;/p&gt;

&lt;p&gt;You can explore and start using these automations yourself with &lt;a href="https://lukaszb.gumroad.com/l/tdxfx" rel="noopener noreferrer"&gt;n8n's Blogging Workflow&lt;/a&gt;: ready-to-use automation for blog publication, social sharing, and content optimization.&lt;/p&gt;

&lt;p&gt;Take a moment and imagine what automating repetitive tasks could free you up for—more innovation, coding, or just thinking deeply about your next big post.&lt;/p&gt;

&lt;p&gt;Happy automating!&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>blog</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
