<?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: Ingo Steinke, web developer</title>
    <description>The latest articles on DEV Community by Ingo Steinke, web developer (@ingosteinke).</description>
    <link>https://dev.to/ingosteinke</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg</url>
      <title>DEV Community: Ingo Steinke, web developer</title>
      <link>https://dev.to/ingosteinke</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ingosteinke"/>
    <language>en</language>
    <item>
      <title>My 27 Top Dev Posts from 7 Years</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Mon, 19 Oct 2026 13:06:20 +0000</pubDate>
      <link>https://dev.to/ingosteinke/my-27-top-dev-posts-from-7-years-45e9</link>
      <guid>https://dev.to/ingosteinke/my-27-top-dev-posts-from-7-years-45e9</guid>
      <description>&lt;p&gt;I have been thinking about not publishing my posts anymore, to prevent commercial companies profiting from other people's creativity and findings without giving them credit and compensation.&lt;/p&gt;

&lt;p&gt;But I trust the internet more than my own backups, and I need to do marketing. Lucky you, dear readers, I will probably continue to write and publish in 2027.&lt;/p&gt;

&lt;p&gt;The reason for looking back on my publication history at the end of 2026 is a double anniversary. 2026 marks the seventh year of me contributing as an author to the DEV community, and it's for at least fifteen years that I keep blogging at &lt;a href="https://www.open-mind-culture.org/" rel="noopener noreferrer"&gt;Open Mind Culture blog&lt;/a&gt; as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technological Topics
&lt;/h2&gt;

&lt;p&gt;My case study about &lt;a href="https://dev.to/ingosteinke/pure-css-parallax-perspective-beyond-landscape-images-24g2"&gt;Pure CSS parallax perspective beyond landscape images&lt;/a&gt; tops all of my dashboards. It is both my most-viewed post and the one with the most reactions. I researched tutorials and best practices to understand which different animation effects qualify as parallax scrolling and how to implement them with accessibility and web performance in mind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/ingosteinke/pure-css-parallax-perspective-beyond-landscape-images-24g2"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk12s3a3gkg9xhh5dogr4.png" alt="Pure parallax CSS demo screenshot" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After (pre-AI-) aberrations and overthinking, I came up with a relatively simple solution that I then used for the website &lt;a href="https://kleiderordnung.berlin/" rel="noopener noreferrer"&gt;kleiderordnung.berlin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Two other of my CSS-based deep dives include &lt;a href="https://dev.to/ingosteinke/responsive-background-images-with-image-set-the-srcset-for-background-image-259a"&gt;Responsive background images with image-set, the srcset for background-image&lt;/a&gt;, exploring what might be one of the least-known and least-useful CSS feature, and &lt;a href="https://dev.to/ingosteinke/css-hasparent-selectors-287c"&gt;CSS :has(.parent-selectors) 👪&lt;/a&gt;, perhaps one the most important breaktroughs in recent years.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/ingosteinke/should-web-designers-learn-javascript-or-css-3j94"&gt;Should web designers learn JavaScript or CSS?&lt;/a&gt; is another one of my top posts, and I think that's still a valid question.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emotion-Driven Development and Productive Procrastination
&lt;/h2&gt;

&lt;p&gt;My idea of &lt;a href="(https://dev.to/ingosteinke/emotion-driven-development-4ai1)"&gt;emotion-driven development&lt;/a&gt; started as a wordplay with test-driven development, mocking half-hearted attempts of "happiness engineering" in corporate culture in contrast to constant frustration in daily dev life.&lt;/p&gt;

&lt;p&gt;So, there is a serious aspect about emotion-driven development, and it might as well belong into my series about productivity and [constructive criticism].&lt;/p&gt;

&lt;h3&gt;
  
  
  Colorful Coding
&lt;/h3&gt;

&lt;p&gt;In &lt;a href="https://dev.to/ingosteinke/idea-themes-for-emotion-driven-development-27oa"&gt;IDEA themes for emotion-driven development&lt;/a&gt;, I presented various colorful – light and dark – editor themes, mostly for JetBrains IDE(A)s, including my own work. In 2026, I added &lt;a href="https://github.com/openmindculture/vscode-orange-peach-light-theme" rel="noopener noreferrer"&gt;Orange Peach Light Theme&lt;/a&gt; for VS Code and Codium.&lt;/p&gt;

&lt;p&gt;Temporarily switching from Jetbrains to VSCodium and back made me publish a VS Code variation of my Orange Rain Light theme for Jetbrains IDEs. Both versions are similar enough to share the same silly name which hints at the third-best Orange Rain Dark theme with its pale blue areas closer to the original idea.&lt;/p&gt;

&lt;p&gt;My original inspiration came from remembering the song "The Rain" by an artist called Oran' (Juice) Jones, similar music from the 1980s, and vintage and retro design, vinyl record covers, and fashion. Last but not least, The Commodores band with their name reminding every Generation X nerd of Commodore computers.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwxirh6ixw8yg94kzlk54.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwxirh6ixw8yg94kzlk54.jpg" alt="Photography of a colorful moodboard containing The Commodores" width="698" height="930"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Name is not Al
&lt;/h2&gt;

&lt;p&gt;Funnily, the European Union's official icon to mark certain AI-generated and AI-assisted content according to their AI Act legislation uses the same sans-serif typography that makes "AI" look similar to the name Al(fred) mostly everywhere.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feltuhpipzpv6qy9l4rjk.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feltuhpipzpv6qy9l4rjk.png" alt="AI-generated image of a developer sitting in front of a vintage desktop computer with a yellow rubber duck on top" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My impromptu post, &lt;a href="https://dev.to/ingosteinke/whos-al-and-wheres-webfont-legibility-4h7n"&gt;Who's Al and Where's webfont legibility?&lt;/a&gt; was even reposted on LinkedIn by the DEV team!&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fii42wqtd9r7rhknycml0.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fii42wqtd9r7rhknycml0.png" alt="Post list screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Who's Al and Where's Webfont Legibility?" comes right next to "What AI can do for you as a client, vs. where it fails" (formerly titled "Leverage AI as a customer", but I guess nobody got the irony of "leverage" as a telltale AI-generated wording that has already become passé) and "An Unfiltered Slop Era?!" in this screenshot of my post list of Spring 2026.&lt;/p&gt;

&lt;p&gt;AI is also responsible for the cliché poster images above and below. One of the characters is based on a picture of mine, the other one is completely AI-generated using a text prompt.&lt;/p&gt;

&lt;p&gt;So much for my recurring resolution to stop talking and writing about AI before the hype cycle trends downwards again. On the contrary, I wrote much more about AI in 2026, adding to my series of constructive criticism.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't Hit Submit: Alternatives to AI ...
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dev.to/ingosteinke/8-alternatives-to-ai-for-coding-and-creativity-26k3"&gt;8 Alternatives to AI for Coding and Creativity&lt;/a&gt; is among the most viewed DEV posts that I have written, together with &lt;a href="https://dev.to/ingosteinke/stackoverflow-alternatives-for-web-developers-30o2"&gt;StackOverflow alternatives for web developers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'd prefer to publish more about accessibility, usability and ecological efficiency in web development and web design.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevUX !important /* ?! */
&lt;/h2&gt;

&lt;p&gt;Vocal DevUX-focused web developers like me, as well as designers, consultants, and various experts for accessibility, usability and ecological efficience, have been writing, consulting and contributing for years. Simply said, in 2025, the EU's EAA legislation practically implemented the WCAG accessibility criteria, and so did the German BFSG (Barrierefreiheitsstärkungsgesetz, law for strengthening accessibilty). Viewed with more nerdy precision, the European accessibility standards draw on WCAG, but the legislation and the technical standards are not interchangeable. Does that even matter?&lt;/p&gt;

&lt;p&gt;If only people cared at all! Unlike with data protection, there was no wave of warning letters this time. Just "eye-able" overlays adding to cookie banners and newsletter subscription popovers obsuring the actual website content, turning a good idea into a "disimprovement" (thus making it actually worse).&lt;/p&gt;

&lt;p&gt;So, what did catch my readers' attention apart from the obvious hype topics?&lt;/p&gt;

&lt;h2&gt;
  
  
  My 27 most Interesting DEV Posts before 2027
&lt;/h2&gt;

&lt;p&gt;I have already presented most of my most popular posts, and I have stopped counting, but "27 before 2027" still looks nice. But I wonder how we should count what is popular after all?&lt;/p&gt;

&lt;p&gt;Web 2.0 vanguard photo community Flickr provides a search ordering by "most interesting" contributions, combining various signals like views and likes to combined insights.&lt;/p&gt;

&lt;p&gt;DEV doesn't provide a "most interesting" list, but what's quantity in the age of dead internet bots making up at least half of the internet traffic according to several studies, like &lt;a href="https://www.imperva.com/blog/bad-bot-report-2026-bots-agentic-age/" rel="noopener noreferrer"&gt;Imperva's Bad Bot Report 2026&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I already started my "top posts" lists with a subjective selection of recently trending topics instead of counting likes and reaction, not to mention backlinks, meaningful comments or other metrics that might change over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technology, Psychology and Creativity
&lt;/h2&gt;

&lt;p&gt;Looking back on seven years of active contribution to the DEV community, I noticed that my most notable publications focus on three main aspects: technology, psychology, and  creativity.&lt;/p&gt;

&lt;p&gt;Writing and publishing helps me organize my ideas, share my experience and preserve it online in a way that at least I can find it later, and get inspiration and feedback by other developers.&lt;/p&gt;

&lt;p&gt;Insights over time are biased in favor of older articles that had more time to attract viewers and reactions. Outstanding recent posts from 2025 still defied some of my all-time classics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Twenty Twenty-Seven
&lt;/h2&gt;

&lt;p&gt;Looking ahead to the future: what will we write about in 2027 and beyond? My &lt;a href="https://dev.to/ingosteinke/web-design-and-tech-predictions-for-2025-26ch"&gt;contribution to a New Year Writing Challenge predicting upcoming trends&lt;/a&gt; got decent views and reactions, but failed to predict the future. Later attempts didn't even get much attention.&lt;/p&gt;

&lt;p&gt;We can make conjectures, quote release roadmaps and conference schedules, but we can't predict the future!&lt;/p&gt;

&lt;p&gt;Still, looking back to what made a difference in the past seven years may help us anticipate what will still make sense in 2027&lt;/p&gt;

&lt;h3&gt;
  
  
  Dead Internet: In 2027, Ducks Rule!
&lt;/h3&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%2Ffawh8tgosrjoznrjwd7r.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%2Ffawh8tgosrjoznrjwd7r.png" alt="A rubber duck cartoon character sits in front of the keyboard, reading rubber duck news, while the two human characters have become inanimate statues standing on top of the monitor." width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we stop thinking, stop acting, and stop being creative, then the &lt;a href="https://en.wikipedia.org/wiki/Dead_Internet_theory" rel="noopener noreferrer"&gt;Dead Internet&lt;/a&gt; will take over. Machines will be talking to machines, and our world will slowly transform into The Matrix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Community Comments
&lt;/h2&gt;

&lt;p&gt;Counting the comments, one of my top post so far was about &lt;a href="https://dev.to/ingosteinke/online-community-demise-and-why-dev-is-different-16km"&gt;Online Community Demise and why DEV is Different (at least a little bit, I hope)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As a meta post about this very community, that comes as little surprise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Different Metrics, Different Top Posts
&lt;/h2&gt;

&lt;p&gt;Counting what I've mentioned as my top DEV posts so far, are those still too few? According to my dashboard, I have published over one hundred articles that attracted nearly four hundred thousand views and over three thousand reactions altogether.&lt;/p&gt;

&lt;p&gt;As you might have guessed when you're still reading, I wasn't really making an effort to share my 27 top posts. I couldn't, even if I wanted to. My DEV dashboard offers different sorting metrics, including views and reactions. So, what qualifies as a top post?&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%2F95b2fa1h80oezy5wm252.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%2F95b2fa1h80oezy5wm252.png" alt="Dashboard screenshot" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Delivering what I promised, let me list eighteen other posts that ranked highly in one or more of my insights' metrics to sum it up to twenty-seven altogether.&lt;/p&gt;

&lt;h3&gt;
  
  
  Top Ten
&lt;/h3&gt;

&lt;p&gt;The following ten posts were among the top ten in different categories when I started writing this overview:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/coding-in-the-age-of-constant-deprecation-4mad"&gt;Coding in the Age of Constant Deprecation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/google-alternatives-5e7k"&gt;Google Alternatives?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/25-google-alternatives-every-dev-must-use-in-2025-20n2"&gt;39 Google Alternatives every DEV must know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd"&gt;Productive Procrastination vs. Apparent Productivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/stop-rewarding-quantity-20o8"&gt;Stop rewarding quantity!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/ccs4-colors-5bj2"&gt;Taking colors to the next (CSS) level&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/a-css-container-queries-example-1le0"&gt;A CSS container queries example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/audio-and-video-recordingediting-software-1kl4"&gt;Audio and Video Recording and Editing Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/idea-themes-for-emotion-driven-development-27oa"&gt;IDEA themes for emotion-driven development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/links-not-reachable-with-tab-key-despite-having-href-working-around-an-obscure-browser-feature-bop"&gt;Links unreachable with tab key despite having href made me learn about Spatial Navigation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Alternative Metrics
&lt;/h2&gt;

&lt;p&gt;As an alternative analytics approach, what happens when I google for &lt;code&gt;ingosteinke site:dev.to&lt;/code&gt;? Google seems to prioritize recent material and comments over what DEV considers my most successful publications. Articles that Google ranks higher than my DEV insights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/hand-crafted-creativity-counter-culture-against-toxic-digitization-8cf"&gt;Hand-crafted creative counter-culture against toxic digitization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Has writing CSS become all but a nerdy hobby?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/css-only-a-nerdy-hobby-17hf"&gt;CSS: only a nerdy hobby?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Lessons learned from gaming
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm"&gt;Learning lessons from gaming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj2yb82hphrlnzgtsje3p.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj2yb82hphrlnzgtsje3p.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The gaming post is among my most unlikely successful articles, as I don't even consider myself a gamer. Apart from card and board games at family events, freeciv in the browser is the only gaming that I eventually did. And some Civilization, and a lot of vintage home computer games a very long time ago. So, maybe I still know something about gaming after all. Enough to inspire me to use it as an analogy for explaining Astro's Islands Architecture, but I dropped most of the gaming references from my original Astro draft before publishing.&lt;/p&gt;

&lt;p&gt;The later gaming spin-off was a spontaneous quick writeup reusing leftover notes and follow-up thoughts. The writing process was an experiment of allowing AI to intervene much more in my writing process. I followed up with two more in a mini-series dropping engagement with rising AI sloppiness, before I decided to rewrite half of the third post, again with the help of AI, after Claude discovered a lost link that I had failed to Google, so that I could quote a tumbleweed freeciv forum post written by my younger self in 2009.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contradicting and Self-Fulfilling Metrics
&lt;/h2&gt;

&lt;p&gt;Publishing insights can have a paradox effect much like Schrödinger's cat. Even when we try to judge objectively based on "numbers that don't lie," we still can't rule out effects of backlinks, accidentally matching trends, pure coincidence, or an intransparent algorithmic feed deciding which posts to boost or hide.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs1f3tbhlrct3igqtypyq.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs1f3tbhlrct3igqtypyq.png" alt="Image of a 100 euro note inside an envelope addressed to M. Schrödinger's raffle department" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Content creation insights feel more and more like a raffle.&lt;/p&gt;

&lt;p&gt;Even with significant traffic and professional, paid campaigns, it's hard to work against those external factors. Trying to use articles like this one to make up self-fulfilling metrics for marketing feels like a drop in the ocean.&lt;/p&gt;

&lt;h2&gt;
  
  
  Least Interesting
&lt;/h2&gt;

&lt;p&gt;Still, what are my most popular posts, anyway? I tried to complement numbers with my gut feeling to decide that the ones mentioned before probably belong in my top list for a good reason.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unresolved Problems Despite Tech Progress
&lt;/h3&gt;

&lt;p&gt;Wouldn't we expect technological progress, creative combination and guesswork, together with diligent fanned-out research beyond what classic search engines offer us users, will finally be able to resolve all of our open issues after all?&lt;/p&gt;

&lt;p&gt;I recently commented on &lt;a href="https://dev.to/ingosteinke/tumbleweed-content-g7"&gt;my tumbleweed post&lt;/a&gt; and linked several issues, including my erratic black screen described in a dedicated DEV post last year, a seemingly simple Twig/Vue/Symfony/Shopware customization issue, and two StackOverflow questions formally answered but still lacking satisfactory solutions meeting my usability expectations.&lt;/p&gt;

&lt;p&gt;You can guess how many views my comment got so far.&lt;/p&gt;

&lt;p&gt;P.S. Anticipating comments counting the number of posts: the tumbleweed one doesn't count, as it hasn't been popular according to any metric. I still decided that I'd want to mention and link to it. When it comes to seemingly unsolvable problems, I am always happy to be proven wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boosting Meaningful Content / Reading Recommendations
&lt;/h2&gt;

&lt;p&gt;If I counted correctly, I have to deliver three more links to reach twenty-seven. I don't care too much about numbers. Quality beats quantity, at least in my world. This reading list is quite subjective and it gets even more biased at the end. That's what human creation and curation is all about, I guess.&lt;/p&gt;

&lt;p&gt;Consequentially, my third to last reading recommendation is about how to stay human as a writer in times of generative AI. The next one is a rant, written in 2024, about AI and sustainability misused as buzzwords, amended with a 2026 update on the state of AI and the AI-generated cartoon picturing Anthropic's AI assistant, Claude, reimagined as a soldier.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft2mjua735bnx477n7zn6.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft2mjua735bnx477n7zn6.png" alt="Cartoon of Claude as a soldier, pictured as a cute robot carrying a gun in a military bootcamp and in front of a burning oil refinery, while later chilling on a lawn in front of a power plant burning fossil fuels for deep thinking" width="800" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/if-writing-still-matters-how-to-do-it-right-and-avoid-ai-suspicion-2nac"&gt;If Writing still Matters, How to Do it Right and Avoid AI Suspicion?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ingosteinke/why-ai-is-the-new-sustainable-4a09"&gt;Why "AI is the new sustainable"&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, a hopeful and pragmatic mix of optimism, imagination, and hands-on experience: Last year, for the second time, my old-but-still-working mobile phone suffered another water damage which eventually rendered it unusuable in the end, but only months after it happened.&lt;/p&gt;

&lt;p&gt;My post about &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf"&gt;Using Slightly Broken Smartphones thanks to Accessibility&lt;/a&gt; shows how I managed to save and reuse the device for a while and what my experience taught me about one-finger zoom gestures and mobile app accessibility issues.   &lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf" class="crayons-story__hidden-navigation-link"&gt;Using Slightly Broken Smartphones thanks to Accessibility&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ingosteinke" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" alt="ingosteinke profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ingosteinke" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ingo Steinke, web developer
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ingo Steinke, web developer
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-3210004" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ingosteinke" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ingo Steinke, web developer&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 2&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf" id="article-link-3210004"&gt;
          Using Slightly Broken Smartphones thanks to Accessibility
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/android"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;android&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mobile"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mobile&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;19&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ingosteinke/using-slightly-broken-smartphones-thanks-to-accessibility-28pf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            10 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>writing</category>
    </item>
    <item>
      <title>When is Shopware Really Worth it for Small Businesses? Case Studies</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Thu, 08 Oct 2026 14:02:05 +0000</pubDate>
      <link>https://dev.to/ingosteinke/when-is-shopware-really-worth-it-for-small-businesses-case-studies-22bi</link>
      <guid>https://dev.to/ingosteinke/when-is-shopware-really-worth-it-for-small-businesses-case-studies-22bi</guid>
      <description>&lt;p&gt;Moving on from technical implementation to architectural and business perspectives, my series about Shopware 6 Development comes back to a broader question: When should a business choose Shopware in the first place? In a recent case study, I have set up a small Shopware instance on an affordable host, coded a custom theme, and estimated the total cost. So, the next time a small business client asks "what will this cost?" I can offer at least a rough estimate to start with.&lt;/p&gt;

&lt;p&gt;Limitations of the study setup are obvious: a small merchandise shop without regular customers and relevant revenue is far from a real shop operation. However, it's still realistic as a minimal online shop setup. It actually processes payments and shipping. Albeit it's far from a rush putting your server's and business' performance to the test. This shop is actually one of the few unpaid side projects that I ever completely finished, apart from the blog that it is selling merch for.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations of the Study Setup
&lt;/h2&gt;

&lt;p&gt;What I didn't do is setting up a comparable A/B contender, like a Shopify or WooCommerce version with a similarly looking theme and merchant setup. You can calculate the current running costs looking at Shopify's pricing plans. WooCommerce would probably be the cheapest alternative starting from 0,- licence fees if you just need the free plugins, and a small shared server doing automatic updates for you for something like 5,- € per month. From experience, most merchants can't get by with free plugins alone. This also applies to Shopware, so my estimation of a monthly two-figure bill must be seen as an absolute minimum in 2026. It doesn't cover marketing, customer support, and regular maintenance to keep up with technical and legal changes and implement additional feature requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Vendor Lock-In becomes a Cost Trap
&lt;/h2&gt;

&lt;p&gt;However, we all knew that professional e-commerce development on a corporate level can come costly for several reasons. We also know that many startups tend to choose simple solutions with low entry costs like WordPress, Wix, SquareSpace, or Shopify. But many also regret their decision later when their business grows, their requirements become more complex, and running costs increase through higher subscription tiers. WordPress is completely open-source. You own your data and code and can move it to any server or migrate to another software platform. The same is true for Shopware as well. In general, every platform has TCO. The question is where the costs occur and whether those costs remain proportionate to the business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources: Studies and Case Studies
&lt;/h2&gt;

&lt;p&gt;Here are some studies sustaining my claims and experience and providing further reading:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ingo-steinke.com/projects/shopware-development-plugin-cost-case-study.html" rel="noopener noreferrer"&gt;Case Study: Shopware Development and Operating Costs in Practice (Ingo Steinke, 2026)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bcg.com/publications/2025/managing-dynamics-digital-platform-lock-in" rel="noopener noreferrer"&gt;Managing the Evolving Dynamics of Digital Platform Lock-In, Boston Consulting Group, 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wernerstrauch.com/en/blog/ecommerce-platform-comparison" rel="noopener noreferrer"&gt;Ecommerce Platform Comparison 2026: Shopify, Shopware, WooCommerce, Magento, Werner Strauch, 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  For What It's Worth
&lt;/h2&gt;

&lt;p&gt;So, deciding when it's worth it is a complex decision, and not only a financial one. As a creative developer, I'd rather focus on other aspects in the rest of this post.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Familiarity and learning curves:&lt;/strong&gt; How easily can your team maintain the store or onboard a new developer?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Who do you call when your shop goes down? How old is your last database backup and who will restore it?&lt;/p&gt;

&lt;p&gt;How many customers are affected by downtimes or security breaches?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creativity:&lt;/strong&gt; How do you stand out? &lt;/p&gt;

&lt;h3&gt;
  
  
  What's your USP?
&lt;/h3&gt;

&lt;p&gt;Do you have one? Do you even need one? I used to envy food stalls. Their business model seems so easy: like I'm the only sausage vendor at this venue or I'm the one at the central exit. Or the one with the spicy sauce? Once you compete online, location matters less and a spicy sauce alone is not unique anymore. But does it matter? But what does?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5bfiznmuiqyc66d2qs62.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5bfiznmuiqyc66d2qs62.jpg" alt="Hand holding a smartphone with online banking showing monthly 19.04 Euro spendings, in front of a laptop screen displaying Shopware analytics insights" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Keeping Your Online Shop in Your Own Hands
&lt;/h3&gt;

&lt;p&gt;Controlling your own shop on premise means that you can quickly change something when it doesn't feel right. You can react quickly to customer requests and implement them. In a local shop that might mean buying a new lamp, a chair, a mirror, or another payment device so nobody needs to queue up when there are many people in the room. Online, you can also implement what customers ask for. Some might send feedback or tell you in person, or you might infer their issues by looking at data insights.&lt;/p&gt;

&lt;p&gt;From my experience as a developer, Shopify and WooCommerce are more limited toward modifications, while Shopware, at least in theory, allows us to modify mostly anything, but without needing to program our own new e-commerce software from scratch. The bigger the clients and their projects, the more e-commerce projects do feel like rebuilding something from scratch though. I used to work in project where we customized Intershop, and another one where we maintained and extended individual customer shops only sharing a base framework.&lt;/p&gt;

&lt;p&gt;Shopware might be the sweet spot between customizability and standardization, if it didn't depend on one company and if it wasn't changing so quickly as it did in the past few years. Sounds familiar? That's the exact discussion about WordPress and WooCommerce, and probably for most freemium services where open source development is dominated by one company or stakeholder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;In the end, there is no general answer to all questions. It still depends on the situation.&lt;/p&gt;

&lt;p&gt;The aforementioned case study proves that Shopware can be an affordable alternative for small businesses, despite it often being presented for enterprise scale use cases.&lt;/p&gt;

&lt;p&gt;This article series focuses on Shopware, sometimes from a business perspective but mostly through the eyes of a developer.&lt;/p&gt;

&lt;p&gt;I hope you could get some valuable information from it.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>shopware</category>
    </item>
    <item>
      <title>Obtrusive Popovers</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Tue, 04 Aug 2026 09:13:54 +0000</pubDate>
      <link>https://dev.to/ingosteinke/damn-popovers-23n1</link>
      <guid>https://dev.to/ingosteinke/damn-popovers-23n1</guid>
      <description>&lt;p&gt;Cookie banners are still a nuisance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation" rel="noopener noreferrer"&gt;GDPR&lt;/a&gt;, the European privacy law, seems like a perfect example of bureaucratic disimprovement. But there is not law that forces you to implement cookie banners in a way that obscures the content and makes  it maximally inaccessible. As a professional web developer, I still don't get why so many companies and their UX designers chose to it that way, if they have UX designers at all.&lt;/p&gt;

&lt;p&gt;And if they don't use obtrusive cookie banners, sure they'll have a newsletter signup form that pops up just when you were about to click on a link or a menu entry.&lt;/p&gt;

&lt;p&gt;What's our answer as web professionals? Conceiving a better technological &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/popover" rel="noopener noreferrer"&gt;popover implementation&lt;/a&gt; so that our customers can distract and annoy their customers using native browser standards instead of custom code? Where's the real benefit?&lt;/p&gt;

&lt;h2&gt;
  
  
  Enshittification ftw? wtf! 💩
&lt;/h2&gt;

&lt;p&gt;I have been reading and researching about &lt;a href="https://en.wikipedia.org/wiki/Enshittification" rel="noopener noreferrer"&gt;enshittification&lt;/a&gt; lately.&lt;/p&gt;

&lt;p&gt;Like the &lt;a href="https://en.wikipedia.org/wiki/Dead_Internet_theory" rel="noopener noreferrer"&gt;dead internet&lt;/a&gt;, enshittification and disimprovement seem counterintutitive from a naive usability perspective. Why, just why would it make sense to distract users and prevent them from reaching their goals quickly without disturbance?&lt;/p&gt;

&lt;p&gt;I mean, can't we just show them the product or information they were looking for, make it easy to proceed to the checkout and select a suitable payment method, and then, only then, optionally, offer upselling extras?&lt;/p&gt;

&lt;p&gt;Unhelpful metrics like measuring engagement und dwelling time might be part of the problem.&lt;/p&gt;

&lt;p&gt;How would distraction help customer retention at all? Why wouldn't they eventually get so annoyed that they just leave our service and use an alternative instead?&lt;/p&gt;

&lt;p&gt;Because there are no better alternatives?&lt;/p&gt;

&lt;p&gt;Until there are. Apple and Google are often quoted as examples of disrupting established industries by introducing innovative, and more specifically, more minimal, alternatives.&lt;/p&gt;

&lt;p&gt;Now they, too, have joined the slope of slop and enshittification.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disenshittification
&lt;/h2&gt;

&lt;p&gt;This is just a quick reminder that a call to action does not necessarily need to be a modal dialog disturbing and preventing users from doing what they were doing.&lt;/p&gt;

&lt;p&gt;Obtrusive cookie banners are no necessity at all. Websites without cookies are possible. Subtle small banners and dialogs placed in the footer or at the bottom of the viewport can still be striking enough to fulfil legal requirements.&lt;/p&gt;

&lt;p&gt;Just saying.&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>ui</category>
      <category>uidesign</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Principle of Least AI</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Mon, 22 Jun 2026 09:47:15 +0000</pubDate>
      <link>https://dev.to/ingosteinke/the-principle-of-least-ai-4jc0</link>
      <guid>https://dev.to/ingosteinke/the-principle-of-least-ai-4jc0</guid>
      <description>&lt;h2&gt;
  
  
  Why AI Alternatives Matter
&lt;/h2&gt;

&lt;p&gt;AI is prone to problems affecting its output: hallucinations, incompleteness, inconsistency, and bias. AI usage is costly, and the popular free services might require expensive paid plans or downgrade to sponsored light versions at any time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't Hit Submit!
&lt;/h2&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdd2qg2cqzf6enelpe3wl.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdd2qg2cqzf6enelpe3wl.png" alt="Hacker and rubber duck and cat: don't ask leading questions" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: image created by OpenAI using Mistral's former mascot&lt;/p&gt;

&lt;p&gt;(Side node: Mistral seems to have dropped the name "le chat" , French for "the cat" and "the chat", and their fat cat mascot in favor of the generic "vibe" in 2026.)&lt;/p&gt;

&lt;p&gt;Ethical and style issues aside, lazily using AI too often and too early won't make you a better coder or more creative. And AI companies don't only take your money, they're also after your data – and your time!&lt;/p&gt;

&lt;p&gt;Techniques like &lt;a href="https://en.wikipedia.org/wiki/Rubber_duck_debugging" rel="noopener noreferrer"&gt;Rubber Duck Debugging&lt;/a&gt; (internal dialog development, preparing questions and anticipating answers without actually asking anyone) are &lt;a href="https://dev.to/ingosteinke/8-alternatives-to-ai-for-coding-and-creativity-26k3/"&gt;alternatives to AI&lt;/a&gt; for coding and creativity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't Ask Suggestive Questions
&lt;/h2&gt;

&lt;p&gt;If your question implies a certain answer, asking only makes sense for falsification. AI (and other people) will hopefully tell you when you're completely wrong. Only that AI often doesn't. Current models are trained for flattery and verbosity.&lt;/p&gt;

&lt;p&gt;What a waste of time!&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't Ask Why
&lt;/h2&gt;

&lt;p&gt;Ask open questions, and always prefer to ask "how", not "why".&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay Skeptical
&lt;/h2&gt;

&lt;p&gt;Don't believe anything without factful proof or a recent, reputable, relevant source.&lt;/p&gt;

&lt;p&gt;GEO, the AI-agent-targeting variant of search engine optimization, has already succeeded in gaslighting AI and poisoning its answers with fake sources biased towards commercial results. AI seems much more gullible than real people.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://www.linkedin.com/pulse/shape-enshittification-books-longer-get-read-internet-ryan-levesque-ih2cf/" rel="noopener noreferrer"&gt;The Shape of Enshittification: Books That No Longer Get Read, An Internet That No Longer Gets Surfed, &amp;amp; The End of Social Media As We Know It..&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Principle of Least Power
&lt;/h2&gt;

&lt;p&gt;Remember the &lt;a href="https://www.w3.org/2001/tag/doc/leastPower.html" rel="noopener noreferrer"&gt;rule of least power&lt;/a&gt;: don't rent a truck when you need a minivan. Don't use AI when you need autocomplete, web search, or a tutorial!&lt;/p&gt;

&lt;p&gt;I sketched a pyramid of thinking, creativity, and information retrieval again. As you can guess, AI assistants are "on top" as the most costly exception, while the broad basis should be traditional groundwork. Here's a cute AI-slop adaptation:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnlxtf0qpxdw5kvusl9e0.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnlxtf0qpxdw5kvusl9e0.png" alt="Coder with cute cartoon team: don't hit submit until your code actually works" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://dev.to/ingosteinke/hand-crafted-creativity-counter-culture-against-toxic-digitization-8cf"&gt;Hand-Crafted Creative Counter-Culture against Toxic Digitization&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In practice, it's more complicated. What's "AI" and what isn't?&lt;/p&gt;

&lt;h2&gt;
  
  
  I'm happy with AI ...
&lt;/h2&gt;

&lt;p&gt;I'm happy about "autocomplete on steroids", but I still don't trust agents to refactor a legacy codebase in 2026, and probably not in 2027 either.&lt;/p&gt;

&lt;p&gt;I'm happy with AI-assisted image editing, but I'm tired of all the sloppy stuff taking the place of crafted screenshot collages or authentic photography. &lt;em&gt;Update:&lt;/em&gt; I respect ambitious AI art. I experimented with it especially here on DEV using Google's Nano Banana image generator mixed with classic image editing. I even used generative AI to write large parts of my article series about &lt;a href="https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm"&gt;learning lessons from gaming&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;LLM-based chat bots aren't really "artificial intelligence" in many people's eyes, anyway. What has happened to "machine learning" (ML), "big data", and describing software without overusing hype terms? Even during the "AI winter", game developers used to call autonomous computer-controlled players "AI", following simple algorithmic instructions with a some salt of randomization.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9kjz5lwblap76he7ugpb.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9kjz5lwblap76he7ugpb.png" alt="Freeciv screenshot: number of players including AI" width="560" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm not happy about AI as an illusion of progress, working around what should have been fixed instead. I'll follow-up on the tendency towards disimprovement below. Neither am I happy with the priorities of current (mostly U.S. American) tech companies and so-called conservative politicians.&lt;/p&gt;

&lt;p&gt;But people are getting aware and annoyed of wars, enshittification, and data-centers burning fossil fuels so that devs don't have to learn coding anymore and that their Google search for Harry Styles will trigger an AI prompt in the background.&lt;/p&gt;

&lt;p&gt;It seems courageous and praiseworthy that Anthropic, the company behind Claude, has openly opposed the request from the Department of War. But that is far from solving all the problems related to AI in its current, LLM-based generative form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/ingosteinke/if-writing-still-matters-how-to-do-it-right-and-avoid-ai-suspicion-2nac#claude-as-a-soldier"&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%2F29q4jz8oheph57ehbxqq.png" alt="Claude as a cute robot drawn to war, firing a machine gun in front of burning oil refineries, thinking on a lawn in front of gas power plants, caption: Claude drafted for war, Claude burning fossil fuels for deep thinking" width="800" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This cartoon of Claude as a soldier, generated with AI &lt;a href="https://dev.to/ingosteinke/if-writing-still-matters-how-to-do-it-right-and-avoid-ai-suspicion-2nac#claude-as-a-soldier"&gt;for an earlier article&lt;/a&gt;, shows a cute robot drawn to war, firing a machine gun in front of burning oil refineries in one picture, and sitting on a flourishing lawn in front of gas power plants in another, smoking a pipe as an analogy of burning fossil fuels for deep thinking.&lt;/p&gt;

&lt;p&gt;Many people will say you should just gratefully accept where tech and our societies are heading, but others are actually building alternatives because obviously not everyone is happy with the mainstream, and when everybody had always been content about the current status quo, we'd never have gotten Linux or smartphones.&lt;/p&gt;

&lt;h2&gt;
  
  
  List of Popular and Alternative AI Providers
&lt;/h2&gt;

&lt;p&gt;Focusing on privacy and local-first pragmatism, Ecosia and Mistral's Le Chat lead my top ten, although and because I'm aware that they might not be the smartest top-notch vanguards. But they don't have to. No need to let Americans or Chinese know what I'm working on, or what I'm going to tell my doctor, when modest models are smart enough.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;127.0.0.1&lt;/code&gt; (as local as it gets)&lt;/li&gt;
&lt;li&gt;Ecosia (AI and search engine) 🇩🇪&lt;/li&gt;
&lt;li&gt;Mistral's Vibe, formerly know as Le Chat 🇫🇷&lt;/li&gt;
&lt;li&gt;Anthropic's Claude 🇺🇸&lt;/li&gt;
&lt;li&gt;specialized domain-specific AI (like legal or tax-related)&lt;/li&gt;
&lt;li&gt;Google Gemini 🇺🇸 as a free fallback for&lt;/li&gt;
&lt;li&gt;Jetbrains AI 🇨🇿 (agentic framework without its own models)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's &lt;em&gt;my&lt;/em&gt; &lt;em&gt;subjective&lt;/em&gt; top list, both pragmatic (including Google) and idealistic (topping the list with a local LM despite not having set that up yet). Ecosia's AI, Gemini Flash, and Mistral's fast mode all prioritize efficiency over deep thinking, and that's enough for many tasks, even more so when top-tier reasoning models still don't guarantee error-free quality anyway.&lt;/p&gt;

&lt;p&gt;This list is subject to change. There are Swiss (Apertus), Arabic (Thaura) and Chinese AI models, and anything coming up in 2027 and beyond, that we don't know about yet at the time of writing.&lt;/p&gt;

&lt;p&gt;I have seen so many trends come and go. I still have reasons to care So, who am I?&lt;/p&gt;

&lt;p&gt;I'm developing, designing and optimizing websites and (web) apps.&lt;/p&gt;

&lt;p&gt;I have been doing this since 1997.&lt;/p&gt;

&lt;p&gt;You can call me old.&lt;/p&gt;

&lt;p&gt;What I'm not: I'm &lt;a href="https://dev.to/ingosteinke/neither-naive-nor-nostalgic-1mmp"&gt;neither naive nor nostalgic&lt;/a&gt;, ...&lt;/p&gt;

&lt;h2&gt;
  
  
  ... no luddite, no AI-denier, but ...
&lt;/h2&gt;

&lt;p&gt;Do I sound like a grumpy patriot yelling at the sky?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fti92f08i6shfdkv75dno.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fti92f08i6shfdkv75dno.png" alt="a grumpy old white men wearing and surrounded by european cliché accessories, raising a fist and yelling at the sky." width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image generated by OpenAI, probably inspired by &lt;a href="https://en.wikipedia.org/wiki/Albert_Uderzo" rel="noopener noreferrer"&gt;Albert Uderzo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the way, if you know whose style AI has copycat to generate the cool cartoons of the hacker and its fat white cat mascot, let me know, so I can give credits to the original artist!&lt;/p&gt;

&lt;p&gt;So, what is it that I'm really angry about? It's...&lt;/p&gt;

&lt;h2&gt;
  
  
  Enshittification
&lt;/h2&gt;

&lt;p&gt;Pragmatism and capitalist logic make most companies eventually deteriorate their products on purpose until they are only slightly better than the second-best alternative, or just good enough not to lose all of their loyal customers and brand reputation.&lt;/p&gt;

&lt;p&gt;Taking the cliché further, while Europe often stands in its own way and stalls its administration in bureaucracy, China floods the world market with cheap plastic fashion, networking electronics, and surprisingly successful AI models (not in my top ten).&lt;/p&gt;

&lt;p&gt;America, or more specifically, the United States, somehow still manage to defend their position as leading exporters of "premium" hardware, software, and culture. However, the premium becomes hollow because of the aforementioned &lt;a href="https://en.wikipedia.org/wiki/Enshittification" rel="noopener noreferrer"&gt;enshittification&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You might say I'm just jealous of the Californian tech broligarchs. I mean, didn't Elon help popularize electric mobility? Isn't he the one who provides Starlink to Ukraine? Yes, he is. A great achievement still doesn't make you a saint. Just saying.&lt;/p&gt;

&lt;p&gt;Long ago, Google dropped their former "don't be evil" motto.&lt;/p&gt;

&lt;p&gt;Honestly, I often get the impression that "be evil" is what drives current tech stakeholders. And that's very bad. Are we human or are we lemmings actively creating a dystopian future?&lt;/p&gt;

&lt;p&gt;You might say, I'm just too old to understand, that I'm just pessimistic because I'm too stupid to prompt. You might say my perfectionism is &lt;a href="https://dev.to/ingosteinke/css-only-a-nerdy-hobby-17hf"&gt;just another nerdy hobby&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Update: Realistically, Google and other American companies are not evil, only greedy. It's all about making money. I only later found the iconic &lt;a href="https://www.wheresyoured.at/the-men-who-killed-google/" rel="noopener noreferrer"&gt;blog post by Ed Zitron about The Man Who Killed Google Search&lt;/a&gt;. Ed also writes about "The Enshittification Crisis" and his 2024 post, later quoted by Cory Doctorow in &lt;a href="https://doctorow.medium.com/the-specific-process-by-which-google-enshittified-its-search-1ffd3b02d205" rel="noopener noreferrer"&gt;The specific process by which Google enshittified its search&lt;/a&gt; It attributes the deterioration to a specific decision made in 2019. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In the March 2019 core update to search, which happened about a week before the end of the code yellow, was expected to be “one of the largest updates to search in a very long time. Yet when it launched, many found that the update mostly rolled back changes, and traffic was increasing to sites that had previously been suppressed by Google Search’s “Penguin” update from 2012 that specifically targeted spammy search results, as well as those hit by an update from an August 1, 2018, a few months after Gomes became Head of Search.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Google's enshittification is one of the reasons Google became the runner-up in my shitlist of AI and search providers that I'm actively trying to avoid or use less at least.&lt;/p&gt;

&lt;h3&gt;
  
  
  Subjective List of Unpopular AI and Search Providers
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;ChatGPT by OpenAI (see #quitgpt why)&lt;/li&gt;
&lt;li&gt;Google / Gemini / Google AI mode (see #degoogle)&lt;/li&gt;
&lt;li&gt;Copilot / Microsoft Bing AI&lt;/li&gt;
&lt;li&gt;Perplexity (just another hallucinating American)&lt;/li&gt;
&lt;li&gt;Meta AI (just so that they will get mentioned, too)&lt;/li&gt;
&lt;li&gt;Grok (capable, but most unethical)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In practice, I still use them. It's hard not to, when there is no major relevant search engine index yet besides Google and Microsoft's Bing, which are used by Ecosia and other alternative meta-search engines.&lt;/p&gt;

&lt;p&gt;And Google keeps offering most of its services free of charge in 2026, so you can continue to search and talk to Google AI long after every other AI provider told you to upgrade and buy even more tokens.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Hypocrites we are?
&lt;/h2&gt;

&lt;p&gt;As Giorgi Kobaidze pointed out in &lt;a href="https://dev.to/georgekobaidze/ai-psychosis-is-no-longer-fiction-3258"&gt;AI Psychosis Is No Longer Fiction&lt;/a&gt;, "people worry about AI taking their place, while at the same time actively using it in ways that make it easier for it to do so."&lt;/p&gt;

&lt;p&gt;I'm using AI nearly every day. I even use it to generate cartoons and illustrations eventually, after having claimed so many times why that's wrong for so many reasons.&lt;/p&gt;

&lt;p&gt;I'm using AI nearly every day as it has already become ubiquitous and seemingly without a practical alternative. Google search results are often so bad and irrelevant, and prepended with sponsored results, while the AI answer, currently on top of everything just seems too promising to ignore.&lt;/p&gt;

&lt;p&gt;I'm even using AI every day without noticing or without being able to opt-out. Soon, the cheap kind of AI-assistance will be so ubiquitous, we won't even notice anymore: AI-generated summaries of customer reviews, AI-corrected spelling, AI-polished grammar, AI-suggested commit messages, etc., see "autocomplete on steroids".&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix First?
&lt;/h2&gt;

&lt;p&gt;I'd prefer providers prioritized more classical products, fixed bugs and improved editors and search results. I mean, sometimes they still do. VS Code, GIMP, and Linux on Desktop prove past progress every day. Maybe AI is an important step towards more progress. But then again, Google's enshittification was a deliberate commitment towards lower quality. &lt;/p&gt;

&lt;p&gt;So, it's not the question of what is possible, but rather which goals stakeholders follow. I only hope that we, as humans, and we, as developers, can prevent stakeholders from shaping the future towards their own unethical goals thanks to the new tools they already control too much.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Meanwhile, everyone is talking about AI and trying how to best use those products for work, often driven by curiosity, desperation, or because managers ordered token-maxing to boost productivity.&lt;/p&gt;

&lt;p&gt;Here we are, experienced senior developers who used to love coding, who loved understanding, fixing and optimizing code, told to talk to chat bots and let them write code like junior coworkers whose work we should review instead of getting our hands dirty micro-managing syntax and implementation details.&lt;/p&gt;

&lt;p&gt;Coding is not an end in itself. But prompting isn't, either! &lt;/p&gt;

&lt;h2&gt;
  
  
  Too Stupid to Prompt
&lt;/h2&gt;

&lt;p&gt;I asked AI why AI often doesn't help me much fixing legacy code as a senior frontend-focused web developer. Here's the answer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I must be the only single person on the whole world "too stupid to prompt." 99% of my legacy code bugs mostly related to CSS, are not solved by AI, instead all mainstream models consistently go back and forth around misleading distractions and unhelpful suggestions, continuously apologizing telling me I was completely right to call them out, only to continue delivering garbage. In a retro or post mortem, they assure me that I did nothing wrong and that this is just one particular edge case they were not able to solve. Only that happens in 90% of all cases. Maybe just because I don't use AI for the easy stuff that I can easily fix without their help, and often more quickly anyway as a senior frontend web developer?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  The Core Issue
&lt;/h3&gt;

&lt;p&gt;You are a senior dev using AI only for your hardest 10% of legacy CSS bugs. Because AI is trained on clean, modern code, it fails at these complex cascading interactions.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Apology Loop
&lt;/h3&gt;

&lt;p&gt;When pattern-matching fails, the AI's training forces it into a loop of polite apologies and recycled, incorrect code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Misleading Research
&lt;/h2&gt;

&lt;p&gt;Viral "lazy prompting" articles don't apply to you. Your prompts fail because the AI cannot see hidden browser contexts (like an inherited parent transform affecting z-index).&lt;/p&gt;

&lt;h3&gt;
  
  
  Seems like AI Slop
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fna3rb3ut2mf8ziiehi25.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fna3rb3ut2mf8ziiehi25.png" alt="2026 seems like AI slop made with Claude Design" width="521" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2026 smelled like AI slop, 2027 might be worse.&lt;/p&gt;

&lt;p&gt;Two different kinds of anti-AI-backlash grew in 2026. When consumers got more annoyed by the abundant flood of AI slop everywhere, platforms like LinkedIn used AI against AI to detect, and even offered users a "seems like AI slop" report button. Conforming to the EU AI act, AI providers started to "watermark" their output, leading to even more unnatural "Claudish" or "claudesque" wordings. AI providers also restricted and limited their models to make them more efficient and provide less value to customers on the free plan. Allegedly, even paying pro users were unhappy seeing new AI models as a downgrade.&lt;/p&gt;

&lt;p&gt;Meanwhile, agentic swarms, orchestration and guardrails try to work around the unresolved inherent flaw of all probabilistic LLM-based generative artificial intelligence: hallucination.&lt;/p&gt;

&lt;p&gt;No provider can promise an accurate AI that makes no mistakes. All they do is announce solutions that make AI "hallucinate less".&lt;/p&gt;

&lt;p&gt;What a brave new world. &lt;/p&gt;

&lt;h2&gt;
  
  
  Constructive Criticism
&lt;/h2&gt;

&lt;p&gt;After all, my series is called "constructive criticism" and maybe I shouldn't be so negative. Then again, someone must have their say and point out flaws and fallacies of new technologies, enshittification and ethically questionable business models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further Reading
&lt;/h2&gt;

&lt;p&gt;Claude failed me, Perplexity failed me, and &lt;a href="https://dev.to/ingosteinke/if-writing-still-matters-how-to-do-it-right-and-avoid-ai-suspicion-2nac"&gt;if Writing still matters, how to do it right and avoid AI suspicion?&lt;/a&gt; That's my post with AI-generated Anti-AI memes, like Claude as a soldier, and prompt-engineering barista cartoons.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>CSS – only a Nerdy Hobby?</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Wed, 10 Jun 2026 11:11:50 +0000</pubDate>
      <link>https://dev.to/ingosteinke/css-only-a-nerdy-hobby-17hf</link>
      <guid>https://dev.to/ingosteinke/css-only-a-nerdy-hobby-17hf</guid>
      <description>&lt;p&gt;In times when people believe that "AI can code a website in 2 days", what is "coding," and why does the question matter?&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Coding?
&lt;/h2&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%2F2zhcc0x8yfmlob8padrx.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%2F2zhcc0x8yfmlob8padrx.png" alt="A private portfolio homepage on a classic personal computer in a rusty dystopian science-fiction context" width="799" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Welcome to my homepage!" – yes, even AI can do that better now.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI's Lack of Understanding of CSS
&lt;/h2&gt;

&lt;p&gt;Coding is a skill. But is &lt;a href="https://dev.to/ingosteinke/should-web-designers-learn-javascript-or-css-3j94"&gt;learning CSS&lt;/a&gt; in 2026 nothing but a nerdy hobby? I still think that understanding CSS gives us, as experienced senior web developers, an important advantage. If only to maintain and debug legacy code that AI and juniors struggle to handle.&lt;/p&gt;

&lt;p&gt;My series of CSS case studies and quirky edge case insights is definitely nerdy. Its primary audience is one person: my future self, so I can find what I will have forgotten when googling it later. That being said, my CSS posts have gotten very positive reactions in the DEV community. Parallax scrolling with accessibility in mind, parent selectors, and taking colors to the next (CSS) level – what's up next?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next? Grid-Lanes Masonry Layout?
&lt;/h2&gt;

&lt;p&gt;Well, I was planning to explore the new native grid-lane-based masonry layout with a practical example. Yet, I'll happily leave the vanguard position for somebody else and just wait until AI suggests appropriate Tailwind classes eventually.&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%2Ftkjvdl8uqjtbon0wlwgu.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%2Ftkjvdl8uqjtbon0wlwgu.png" alt="Nerdy person waiting for tailwind near a crossroads of futuristic car lanes running between skyscrapers, defined by CSS code" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;I'm still writing, extending, and debugging classic CSS in the meantime. Yet, I'll go for Tailwind, Uniwind, or whatever syntactical sugar is the most productive and maintainable choice when starting a new project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tired of the Extremes
&lt;/h2&gt;

&lt;p&gt;I'm tired of AI slop and AI arguments everywhere, but I'm even more tired of code-golf style nerd talk without practical benefit.&lt;/p&gt;

&lt;p&gt;I don't identify as a nerd. Despite my passion for creativity, writing, and productive procrastination, I also love getting things done, finishing a project, and calling it a day. I love to close my laptop, go for a walk, and turn off my mobile. I'm still working on all that, aiming to socialize more, listen better, be an ally, and sell my services.&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%2F675xhwbzauwedg4eqz2m.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%2F675xhwbzauwedg4eqz2m.png" alt="Person leaving the workplace for a park, signs quoting the text from above." width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pragmatism: Don't be a Nerd, get Things done!
&lt;/h2&gt;

&lt;p&gt;More impact, less perfectionism:&lt;/p&gt;

&lt;p&gt;Let's build products that matter. Let's stick to quality.&lt;/p&gt;

&lt;p&gt;Let's make our codebase maintainable without getting nerdy about perfect, clean code optimization. Let's use AI without blindly trusting it.&lt;/p&gt;

&lt;p&gt;Let's get a little bit less nerdy, stop talking about AI so much, and get more things done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: is CSS all but a Hobby?
&lt;/h2&gt;

&lt;p&gt;No, CSS isn't only a nerdy hobby, when it helps you get things done. It is if it doesn't. Understanding style sheets is still fundamentally important, even if you're 100% vibe coding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nothing else matters.
&lt;/h3&gt;

&lt;p&gt;By the way, this text was 100% human-written without any AI assistance, apart from Grammarly and image generation – and despite a 20% AI GPT likelihood score. Even when it comes to AI detection, AI can get it all wrong. How many of these words did I type by hand or speak in person? It doesn't matter. How much of my code is written by AI? Again, it doesn't matter. Impact matters. Nothing else matters.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>css</category>
      <category>webdev</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>No Peaceful Ruleset: What Simulations Can't Imagine</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Fri, 05 Jun 2026 15:51:26 +0000</pubDate>
      <link>https://dev.to/ingosteinke/beyond-the-tech-tree-what-games-cant-imagine-fno</link>
      <guid>https://dev.to/ingosteinke/beyond-the-tech-tree-what-games-cant-imagine-fno</guid>
      <description>&lt;p&gt;Disclaimer:&lt;/p&gt;

&lt;p&gt;This series of articles, unlike most of my other publications, was largely written and edited by AI, and so are the images. I have edited and removed some slop later, making this series even more erratic and eclectic. I hope you enjoy it nevertheless.&lt;/p&gt;

&lt;p&gt;Upcoming articles will be totally(*) hand-written again.&lt;/p&gt;

&lt;p&gt;(*) up to 99%&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Can't There Be Peace?
&lt;/h2&gt;

&lt;p&gt;One of the most overlooked modifications of most civilization games is the lack of a consistently peaceful game. Not only is it hard to achieve, if at all, but it doesn't seem to be in high demand, either. You can still do that with only human players that agree and stick to the idea without forgetting their peaceful intentions later.&lt;/p&gt;

&lt;p&gt;I don't know if it's a problem of Civilization and freeciv specifically, or with the game industry's clichés, or a lack of utopian vision in human nature or society?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Limits of Simulation
&lt;/h2&gt;

&lt;p&gt;I mentioned the "unknown unknowns". Is it truly impossible to achieve a truly peaceful and sustainable society, at least within the constraints of a game server like Civilization, FreeCiv, or SimCity, and why?&lt;/p&gt;

&lt;p&gt;Simulation games combine utopian and dystopian aspects. A sophisticated player could strive to dominate the game as a benevolent dictator, balancing freedom and happiness with strict constraints and invincible economic and military power. History has seen similar rulers praised for periods of stability, trade, and progress.&lt;/p&gt;

&lt;p&gt;However, progress might imply disruptive innovations. Rulership will eventually give rise to rivalry, at the latest, after the death of a unifying leader.&lt;/p&gt;

&lt;p&gt;That's disruptive like the literary turn I'll take, inspired by the image below that AI created based on the previous paragraph. What is this? Tron meets New York City? The mythical monolith from outer space in 2001: A Space Odyssey?&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%2Fcl8eu1l0g1gl0sc26x76.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%2Fcl8eu1l0g1gl0sc26x76.png" alt="what is it" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The monolith would be a fitting metaphor. In Arthur C. Clarke's and Stanley Kubrick's vision, it appears as an object that cannot be understood from within the cognitive framework of those who encounter it. It does not merely represent a new technology on the tech tree. It represents an entirely different tech tree or philosophy.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3vqdq69v1xfvt3zb32g9.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3vqdq69v1xfvt3zb32g9.png" alt="Peaceful ruleset discussion screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In an old forum post dating back to 2009, &lt;a href="https://apolyton.net/forum/other-games/alternative-civs/236411-peaceful-ruleset-for-freeciv" rel="noopener noreferrer"&gt;Peaceful ruleset for freeciv&lt;/a&gt;, my younger self suggested a peaceful ruleset and described what was impossible using the offline scenario editor plus editing the ruleset files on their local computer. A related &lt;a href="https://forum.freeciv.org/f/viewtopic.php?t=91159" rel="noopener noreferrer"&gt;recent discussion in the freeciv forum&lt;/a&gt; mused on how not building a defensive army makes you depend on your neighbor's behavior. Playing peacefully in a solo game without barbarians without crashing the server might be possible with recent software versions, but that's not the point. Quoting my 2009 post:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;the AI computer players will find a way to establish attacking units no matter what. I tried to set attack=0 for all units, but the AI got attack points from barracks and veteran system&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Note that "AI", back then, just meant an autonomous player character controlled by the computer.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyr7fipbjb2hi739d2vfm.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyr7fipbjb2hi739d2vfm.png" alt="Freeciv web screenshot" width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a screenshot of a freeciv web session with two AI civilizations and random barbarians against a single human player getting caught into a foreseeable narrow-minded gameplay forcing them to focus on military build-up and defence spending, neglecting what we could only imagine building with a similar game engine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peace isn't Boring
&lt;/h3&gt;

&lt;p&gt;I thought it must be self-evident that a peaceful world is not boring. There can still be competition, and there can be creativity for sure. &lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;there are aspects besides military strength that can be used to still have interesting and different units: firepower (== working power for workers and engineers as well), range of vision, speed of movement, special flags and roles like Diplomat, SuperSpy, IgZOC (ignore Zone of Control), IgTer (ignore terrain) etc&lt;/li&gt;
&lt;li&gt;aspects for civil research, trade, flight, diplomacy that were neglected in classical military gameplay - change the rules to emphasize these aspects ...&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;The biggest issue with those kinds of changes were that too unexpected changes made the engine crash eventually. There were implicit requirements and assumptions, thus invisible limits, of how substantially a ruleset is allowed to change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simulating Future as an Extension of Our Present
&lt;/h2&gt;

&lt;p&gt;Most strategy and simulation games are built around the assumption that the future is an extension of the present. New discoveries unlock predictable branches of development. Bronze leads to iron. Steam leads to electricity. Literacy leads to democracy. The player is invited to optimize, accelerate, and prioritize, but rarely to question the structure itself.&lt;/p&gt;

&lt;p&gt;This reveals a deeper limitation of simulation. A game can model uncertainty, but only uncertainty anticipated by its designers. Every possible future already exists somewhere in the code, waiting to be unlocked. Even random events are predefined categories selected from a finite set of possibilities. The truly unknown cannot appear because it has never been encoded.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjykqefqm6qahs6rxhdiy.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjykqefqm6qahs6rxhdiy.png" alt="Solarpunk futurist scenario based on an older lincity-ng screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1256 years later, still the same (tourist?) horse carriage in front of the same university, the same containers at the port, and still exactly 12.9% garbage (afval): Based on the fictitious year 670 scenario shown in the previous article, this implausible AI image perfectly illustrates machine's lack of imagination.&lt;/p&gt;

&lt;p&gt;And their unquestioning acceptance of false assumptions. Like in a mixed toy collection assembled by a little child, the scale of the buildings and figures did not match in the original image and in the simple graphics of the game it was inspired by: gigantic windmills overshadowing the historical university campus, a larger than life factory next to a small modern port with miniature oversea containers, all crammed together in a village center that is rather a symbolic data visualization than a realistic city simulation. That's part of the fun, however. &lt;/p&gt;

&lt;h3&gt;
  
  
  Unforeseen Glitches
&lt;/h3&gt;

&lt;p&gt;Enter &lt;em&gt;the glitch&lt;/em&gt;: some classic games weren't remembered for their original intent alone, but for accidental features and glitches that added surprise, chaos, and creativity.&lt;/p&gt;

&lt;p&gt;As with LLM-based AI, we're trying to contain the chaos and undesirable side effects of a system that already feels out of control. While it's still too restricted and predictable in some ways, it's already going beyond what we, as human designers, can foresee.&lt;/p&gt;

&lt;p&gt;Columbus never found the route to India he was looking for. What he started instead was a permanent exchange of plants, animals, people, and disease across two hemispheres, and the genocide, empires, and global capitalism that followed from it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Errors of Mass Destruction
&lt;/h3&gt;

&lt;p&gt;Ironically, colonization wasn't only unintended; it might have been unnecessary after all, even though it might have stabilized Europe's economic situation. By the time Christopher Columbus initiated the Columbian Exchange in 1492, the foundational shifts of the Early Renaissance, led by figures like Dante, Petrarch, Giotto, and Brunelleschi, had already taken place.&lt;/p&gt;

&lt;p&gt;In the Civilization series, this historical trajectory is explicitly mechanized through the interaction of the Tech Tree, Great People, and Cultural Wonders. A civilization can lead the world in cultural and scientific advancement—much like the Islamic Golden Age—but if its infrastructure is pillaged by external invasions (such as barbarian hordes, crusaders, or rival military empires) or if it lacks the economic capital to fund universities and labs, its technological lead evaporates.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the Technology Tree fails to fit
&lt;/h2&gt;

&lt;p&gt;A civilization game can simulate the invention of gunpowder because the designers know gunpowder exists. It can add a cure for cancer and deep space travel, because scientists are currently working on it. It cannot simulate the equivalent of an invention that neither the designers nor the players can imagine.&lt;/p&gt;

&lt;p&gt;Perhaps this is why every technology tree eventually feels artificial. It transforms history into a sequence of expected upgrades, while many of the most transformative shifts in human history were not upgrades at all. They changed the rules, the goals, or even the definition of progress itself. &lt;/p&gt;

&lt;p&gt;I still like the idea of obsoletion, although it lacks accuracy. Cars might have obsoleted horseback riding. But if AI obsoletes literacy, then what will we do when we no longer have access to our commodity?&lt;/p&gt;

&lt;p&gt;What I liked most about science fiction though, at least when I was young, is the possibility of total surprise. Deus ex machina obsoleting every expectation. A spaceship passing a black hole to apparate where no human has been before. &lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond the End of the Map
&lt;/h2&gt;

&lt;p&gt;Real progress begins where that process ends: at the edge of the map, beyond the tech tree, facing questions for which there is no walkthrough, no wiki, and no prompt that can tell us what comes next.&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%2F9yojbasoi4h9rlmyul6m.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%2F9yojbasoi4h9rlmyul6m.png" alt="abstract image with question marks symbolizing an unknown future" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The future belongs to those who stay curious and don't rely on the fast answers that they already found.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Dystopian Civilization Scenarios</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Fri, 05 Jun 2026 14:58:17 +0000</pubDate>
      <link>https://dev.to/ingosteinke/dystopian-civilization-scenarios-4422</link>
      <guid>https://dev.to/ingosteinke/dystopian-civilization-scenarios-4422</guid>
      <description>&lt;p&gt;Gaming, like AI, is far from what fascinates me most about technology and creative development. Still, that's what many fellow developers talk about these days, and what makes for good, controversial topics for further nerdy small talk. &lt;/p&gt;

&lt;p&gt;This post continues the ideas from my earlier article, &lt;a href="https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm"&gt;Learning Lessons from Gaming&lt;/a&gt;. As an experiment, some of the concepts below were developed in conversation with AI. Later articles, besides this series, will return to a more traditional, human-authored approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deliberately Dystopian Civilization Game Ruleset
&lt;/h2&gt;

&lt;p&gt;An idea that came to my mind was a deliberately dystopian Civilization-style ruleset: a future society in which AI has made Literacy obsolete, while a hidden, initially inaccessible branch of the technology tree contains potential biological threats. Instead of discovering advanced technologies in ancient ruins, players might accidentally unlock viruses such as Ebola, Hantaan virus, or COVID by exploring a remote village or an abandoned research facility.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Hidden Tech Tree Branch: "Biological Anomalies"&lt;/li&gt;
&lt;li&gt;The Trigger: Entering a Tribal Village (Goody Hut) post-industrial era.&lt;/li&gt;
&lt;li&gt;The Mutation: High-tech ruins contain preserved pre-collapse pathogens.&lt;/li&gt;
&lt;li&gt;The Risk: 5% base chance per unmapped ancient ruin.
The Consequences: Immediate global pandemic notification with no text, just warning symbols.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wonder what could make this fail in practice, like coding a peaceful civ ruleset but still either getting veterans and pirate barbarians or a game crash?&lt;/p&gt;

&lt;h3&gt;
  
  
  What would break first?
&lt;/h3&gt;

&lt;p&gt;The history of Civilization modding suggests that highly complex systems often fail in surprising ways. Minor code changes can have major consequences. A famous example from Civilization VI (&lt;a href="https://www.reddit.com/r/civ/comments/oe4yqg/3_lines_of_code_in_april_patch_that_shot_the_ai/" rel="noopener noreferrer"&gt;3 lines of code in April patch that shot the AI through the head&lt;/a&gt;) involved only a few lines of code that dramatically altered AI priorities, leaving computer-controlled civilizations unable to pursue basic expansion and military strategies. Small assumptions embedded deep in a system can reshape the entire simulation.&lt;/p&gt;

&lt;p&gt;The same applies to hypothetical "peaceful civilization" rule sets. You can disable wars, reduce aggression, and encourage cooperation, yet veteran barbarians still appear. Pirate raids still happen. Unexpected conflicts emerge. Sometimes the game crashes entirely, as I experienced when using the ruleset editor and a local FreeCiv server long ago. Even if current FreeCiv updates are more stable, the fundamental issue remains.&lt;/p&gt;

&lt;h3&gt;
  
  
  The "Peaceful Ruleset" Barbarian Paradox
&lt;/h3&gt;

&lt;p&gt;Coding a peaceful ruleset while still getting veterans or aggressive pirate barbarians is a classic engine-priority conflict. Bye, bye, Utopia!&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4mhnqseyutp5ujhqdh5y.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4mhnqseyutp5ujhqdh5y.png" alt="Our pseudo-hand-drawn solarpunk utopia raided by barbarians" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turning off aggressive AI parameters or checking "No Barbarians" did not always prevent the game engine bypassing a peaceful ruleset. Eventually, my frustration gave way to curiosity. The fact that the mod failed became more interesting than the original concept.&lt;/p&gt;

&lt;p&gt;Perhaps simulations teach us most when they resist our intentions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impossible Sustainable Circular Economy?
&lt;/h2&gt;

&lt;p&gt;SimCity offered a similar lesson. Building a resilient, circular economy based on recycling and local sustainability is possible, but considerably harder than pursuing growth through mining and trade. The game's systems reward some strategies more naturally than others because they encode assumptions about economics, infrastructure, and human behavior.&lt;/p&gt;

&lt;p&gt;Even in a game without warfare, friction seems like a necessity.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbr764nncd39sihk25wx.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbr764nncd39sihk25wx.png" alt="Utopian and dystopian aspects of civilization simulation" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why is it so difficult to construct a functioning civilization simulator based solely on peaceful cooperation? Why do conflict, competition, scarcity, and disruption keep reappearing as fallback states? Is that merely a limitation of the game engine, or does it reflect assumptions inherited from the historical realities the simulation was built to represent?&lt;/p&gt;

&lt;p&gt;Civilization and construction simulation games usually start in a distant past giving you as a player the chance to strive and improve withing the limits of known history. That's hard hard enough, and it's even harder to try to rewrite history.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpqzhiwkn89o6dxcdxdl5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpqzhiwkn89o6dxcdxdl5.png" alt="AI-modified screenshot of a lincity-ng city simulation depicting historical industry, farming, and a university" width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, isn't it quite unlikely to think that history would repeat itself when so many decisive turns seem to have taken place by accident? Maybe that's what those games are teaching after all.&lt;/p&gt;

&lt;p&gt;SimCity taught that, while a resilient recycling economy is hard to achieve, betting on growth and international trade alone isn't sustainable either, unless you believe space travel will open up unlimited additional growth opportunities. Lincity offers trade, import and export, without caring to show what's happening beyond our small world where our wealth is accumulated. War, slavery, and famine might just happen out of sight, while we enjoy a latte in our picturesque port city university cafeteria.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Constraints Implications
&lt;/h3&gt;

&lt;p&gt;Reflecting on games can teach us about the constraints of the real world their scenarios were modeled after. That raises questions extending far beyond games.&lt;/p&gt;

&lt;p&gt;Artificial intelligence systems, like LLM-based AI, exhibit comparable constraints. They can remix existing knowledge with astonishing speed, but they remain bounded by the material they were trained on. They are exceptionally good at exploring the known space of possibilities. Exploring genuinely unknown territory might be fundamentally impossible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unknown Unknowns
&lt;/h2&gt;

&lt;p&gt;"There are unknown unknowns," a great philosopher once said. Turns out that what I would ascribe to Luhmann, Habermas, or Plato, or a thought experiment that you might think you'd learn about in &lt;a href="https://civilization.fandom.com/wiki/Sun_Tzu%27s_War_Academy_(Civ2)" rel="noopener noreferrer"&gt;Sun Tzu's War Academy&lt;/a&gt;, is allegedly &lt;a href="https://en.wikipedia.org/wiki/There_are_unknown_unknowns" rel="noopener noreferrer"&gt;attributed to a controversial American politician&lt;/a&gt; quoting a common military and NASA space agency saying, inspired by prior psychological research.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A related 2x2 grid was created in 1955 by two American psychologists, Joseph Luft and Harrington Ingham, in their development of the Johari window, a "graphic model of interpersonal behavior.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Similar wisdom has "been widely quoted since the 19th century as anonymous ancient knowledge, or alternatively attributed to authors ranging from Confucius to Bruce Lee," according to the same Wikipedia article.&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%2Fqersk54uvwqnlq32fwlx.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%2Fqersk54uvwqnlq32fwlx.png" alt="Unknown unknowns" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are our tools just holding up a mirror to the limitations of human cognition and its limitations?&lt;/p&gt;

&lt;p&gt;Note that this article, unlike most of my other publications, was mostly written and edited by AI, based on my original scribbles, and so are the images. Later articles, besides this series, will return to a more traditional, human-authored approach.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Learning Lessons from Gaming</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Tue, 02 Jun 2026 14:00:58 +0000</pubDate>
      <link>https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm</link>
      <guid>https://dev.to/ingosteinke/learning-lessons-from-gaming-1jgm</guid>
      <description>&lt;p&gt;I don't identify as a gamer. I occasionally participate in board games or an amateur football match, and I rarely spend time playing computer games. But I used to.&lt;/p&gt;

&lt;p&gt;One remnant of that time is Civilization, or its open-source spin-off, &lt;a href="https://en.wikipedia.org/wiki/Freeciv" rel="noopener noreferrer"&gt;FreeCiv&lt;/a&gt;, which you can also play online for free. I already tried and failed to use the FreeCiv game engine to illustrate the concept of Astro's Islands Architecture.&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a" class="crayons-story__hidden-navigation-link"&gt;React Recap, years later, thanks to Astro&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ingosteinke" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" alt="ingosteinke profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ingosteinke" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ingo Steinke, web developer
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ingo Steinke, web developer
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-2817005" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ingosteinke" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ingo Steinke, web developer&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 3 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a" id="article-link-2817005"&gt;
          React Recap, years later, thanks to Astro
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/astro"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;astro&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/typescript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;typescript&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;29&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;I then used AI for my &lt;a href="https://dev.to/ingosteinke/react-recap-years-later-thanks-to-astro-2b4a"&gt;React recap post&lt;/a&gt; last year, to generate a pseudo drawing inspired by my civilization idea and the visual style of my hand-written sketches.&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%2Fmo4a6234oqo2jqadx7yn.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%2Fmo4a6234oqo2jqadx7yn.png" alt="islands mock up" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is another illustration that looks much more like the actual game.&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%2Fzufvcvbvxzvp8pevsdsc.jpg" 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%2Fzufvcvbvxzvp8pevsdsc.jpg" alt="mock freeciv islands scenario" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What made me want to write another article is yet another aspect of that game: the technology tree. &lt;br&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%2Fa08c4bm6khdif9f4bxdy.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%2Fa08c4bm6khdif9f4bxdy.png" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remotely inspired by historic civilizations, there are different alternative and interdependent paths of technical progress. Achieved by active research, via the Great Library, by conquering more sophisticated contenders or creating alliances. &lt;/p&gt;
&lt;h3&gt;
  
  
  The Technology Tree and its False Promises
&lt;/h3&gt;

&lt;p&gt;Those achievements promise to give you an advantage, but using them can actually hinder your progress, especially when wasting resources striving for disadvantageous achievements, even more so as technology becomes obsolete by newer alternatives.&lt;/p&gt;

&lt;p&gt;Developers know that feeling from software engineering, &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln"&gt;legacy code maintenance&lt;/a&gt; and education.&lt;/p&gt;
&lt;h2&gt;
  
  
  Trade-Offs
&lt;/h2&gt;

&lt;p&gt;We need to make decisions and compromise and decide where to steer our limited resources and efforts like time, money and mental capacity.&lt;/p&gt;

&lt;p&gt;AI makes some things easier, while others get harder. AI is one of those technologies that many might wish we hadn't invented at all. But we had for fear of missing out and falling behind. &lt;/p&gt;
&lt;h3&gt;
  
  
  FOMO and Sunk Cost Fallacies
&lt;/h3&gt;

&lt;p&gt;While we can't turn back time, we can still change our goals and adapt our strategies. Unlike the sunk cost fallacy feeling that previous effort is lost, it isn't.&lt;/p&gt;

&lt;p&gt;Learning and problem-solving always have an intrinsic value, training our mind. Even if we just wasted time and effort learning the wrong (spoken or programming) language or an outdated software framework, we have still practiced. And many concepts remain the same throughout information technology, design and marketing.&lt;/p&gt;
&lt;h3&gt;
  
  
  Repurposing
&lt;/h3&gt;

&lt;p&gt;Much like in the civ game, we should constantly question and adjust our (tech) goals and priorities, like abandoning a started project and repurposing the allocated invested effort into building something similar. In the game, you can just switch from building one world wonder like The Pyramids and repurpose previous investment taken into account for starting to build The Great Library. It's not that easy in real life, but still those can be mental models that help.&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%2Fo71ltjas9b3ggrocwcbq.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%2Fo71ltjas9b3ggrocwcbq.png" alt="Repurposing building effort in the freeciv game" width="277" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dealing with scarcity is one crucial aspect of those kinds of civilization-building games, while in real life, we tend to deceive ourselves, acting like we have infinite time. Then we're getting hectical, distracted and frustrated, or ideally at least hyper-focused, when a deadline's near.&lt;/p&gt;
&lt;h3&gt;
  
  
  Productive Procrastination
&lt;/h3&gt;

&lt;p&gt;Procrastination becomes dangerous when it prevents us from starting or finishing what we intended to do. Starting is especially important because it quickly dispels illusions. Once you begin, you discover what actually works, where the difficulties are, and what mistakes you've made in your assumptions. You can also identify problems that require external support. For example, if you don't have permission to access a required file, asking for access too late can cost valuable time and jeopardize the entire project.&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd" class="crayons-story__hidden-navigation-link"&gt;Productive Procrastination vs. Apparent Productivity&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ingosteinke" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" alt="ingosteinke profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ingosteinke" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ingo Steinke, web developer
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ingo Steinke, web developer
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-970648" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ingosteinke" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ingo Steinke, web developer&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 21 '22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd" id="article-link-970648"&gt;
          Productive Procrastination vs. Apparent Productivity
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/watercooler"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;watercooler&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/creativity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;creativity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/motivation"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;motivation&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;63&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ingosteinke/productive-procrastination-vs-apparent-productivity-fbd#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              2&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;h2&gt;
  
  
  Definition of Done
&lt;/h2&gt;

&lt;p&gt;Often, we think we're finished too early. While the 80/20 principle can help prevent perfectionism, the opposite trap is stopping before the work is truly complete.&lt;/p&gt;

&lt;p&gt;Implementation is more than simply building something. It includes testing, deployment, communication, and verification that the intended outcome has been achieved. Depending on the context, "done" may mean that the feature is live, the document has been delivered, the client has approved the work, the message has been received, or the invoice has been paid.&lt;/p&gt;

&lt;p&gt;Choose a clear definition of done before you begin. Otherwise, you risk mistaking activity for progress and completion for success.&lt;/p&gt;

&lt;h2&gt;
  
  
  Focus
&lt;/h2&gt;

&lt;p&gt;Reality is more complex than a hidden object picture, yet even that exceeds our mental capacity. No suprise senior software developers used to dream about becoming a farmer or spending a sabatticl on a lonely island to overcome overwhelmed burnout. Getting back into the zone of focus is something that we can learn from real hardship or artificial scarcity within the context of a game.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foxj2oktzh9qmkh0q0chy.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foxj2oktzh9qmkh0q0chy.png" alt="Image of a small island with a lighthouse, a boat, a few sheep, and a cottage " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maybe this is what a focused mind might look like.&lt;/p&gt;

&lt;p&gt;But developers know, the simplest design can turn into a highly complicated system, and gamers know a small island can become the center of huge empire.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Friq7kflxq1p5favhj2ts.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Friq7kflxq1p5favhj2ts.png" alt="illustration of a futuristic coastal city built around sustainability and renewable energy" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So much for some utopian islands architecture from a developer's perpective.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>learning</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>What AI can do for you as a client, vs. where it fails</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Tue, 12 May 2026 06:25:54 +0000</pubDate>
      <link>https://dev.to/ingosteinke/leverage-ai-as-a-customer-2pp</link>
      <guid>https://dev.to/ingosteinke/leverage-ai-as-a-customer-2pp</guid>
      <description>&lt;p&gt;Using AI can prevent friction and save and money, when used wisely. AI won't replace experts and craftspeople though. Here is why (not how, though, that would be another post) and how to explain to our customers what AI can do and what it can't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can AI make a Website in 2 Days?
&lt;/h2&gt;

&lt;p&gt;"AI can do a website in two days" isn't web design and development. It's called prototyping. Web designers, project managers, and web developers fear those customers who don't know what they want, but who'll tell you what they didn't want only after their work has been done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are you that type of Client?
&lt;/h2&gt;

&lt;p&gt;If you're that type of customer, you can leverage AI to sort your thoughts and do some sketches and click dummy mock ups. AI isn't great at producing quality code or taking responsibility, but it's good at producing anything that you can look at and talk about. AI won't get tired and doesn't charge you hourly rates (at least not yet at the time of writing) for discussing over and over verbosely and trying to answer the most basic questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hallucination, Stubbornness and Alternative "Facts"
&lt;/h2&gt;

&lt;p&gt;As ChatGPT, Claude, and other AI services tell you in their fine print, AI can make mistakes. AI is quite likely to make mistakes. AI is known to hallucinate, tell you what you want to hear or else insist on a made up random claim not sustained by any facts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Too long, too often
&lt;/h2&gt;

&lt;p&gt;When AI says "often", it &lt;em&gt;often&lt;/em&gt; means "always" or "never" or "maybe, I don't know". When you see a word like "often" or "many", take it as a guess or ask to elaborate and research, if it matters. Often, it doesn't. AI often makes too many words and you don't have to read it all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cliffhangers
&lt;/h2&gt;

&lt;p&gt;AI tends to ends its wordy answers with cliffhangers offering additional things it can do for you. That's a trap. Even when it's free or paid with a flat rate plan, you still pay with your time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Limits
&lt;/h2&gt;

&lt;p&gt;You don't need to understand AI any more than you need to understand the inner workings of your car or your smartphone. But you should know how to use it and what it can do and what it can't. &lt;/p&gt;

&lt;h2&gt;
  
  
  AI is neither Creative nor a Craftsperson
&lt;/h2&gt;

&lt;p&gt;AI is no creative, but a remixer. AI is no craftsperson, it's only well-read. AI has likely read 90% of everything relevant that has been published in recent years, including everything that's outdated now.   &lt;/p&gt;

&lt;h2&gt;
  
  
  Prototyping as Basic Preparation
&lt;/h2&gt;

&lt;p&gt;Using AI is like discussing an idea with your brother or reading a book from your local library to understand some basic concepts. Not bad for a start. You'll get an idea, proceed on your creative path and have smarter questions to ask when you meet with a real expert. &lt;/p&gt;

&lt;p&gt;That can save everyone a lot of time, friction and money.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discussing AI with Coworkers and Customers
&lt;/h2&gt;

&lt;p&gt;AI can be helpful in certain situations. Accepting that as a fact can help us clarify what it can do and what not and why. AI can't replace creative professionals (unless for basic requirements) but telling customers and coworkers how to use (and not overuse) it, can give us back more time to focus on the real work that requires human expertise.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8tu302x0rivkrb50da9i.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8tu302x0rivkrb50da9i.jpg" alt="AI cost projections screenshot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Cost Projections
&lt;/h2&gt;

&lt;p&gt;Asking Claude AI about the total cost of using AI, it starts with a a forecast of the obvious pricing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For individual users: prices are largely stable or declining&lt;/li&gt;
&lt;li&gt;For businesses: total spend is rising fast ...&lt;/li&gt;
&lt;li&gt;A looming risk: the end of subsidies&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;According to &lt;a href="https://zylo.com/blog/ai-cost" rel="noopener noreferrer"&gt;Zylo's 2026 SaaS Management Index&lt;/a&gt;, organizations spent an average of $1.2 million on AI-native apps — a 108% year-over-year increase. A big reason is the shift away from flat fees: unlike traditional software where the cost to serve an additional user is near zero, AI involves significant variable costs including GPU compute, token processing, and data transfer, which vendors increasingly pass through to customers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that's not the total cost of ownership yet.&lt;/p&gt;

&lt;p&gt;Maintenance issues, already known as &lt;a href="https://en.wikipedia.org/wiki/Technical_debt" rel="noopener noreferrer"&gt;technical debt&lt;/a&gt; in traditional software development (exact coding), are compounded in AI systems. Models drift, outputs degrade, prompts need constant tuning, and integrations break with every model update, all of which require ongoing human time and expertise that rarely appears in vendor pricing sheets.&lt;/p&gt;

&lt;h2&gt;
  
  
  The True Cost of AI
&lt;/h2&gt;

&lt;p&gt;The true cost of AI is the sum of compute costs, integration work, maintenance overhead, staff time, and the strategic risk of building on foundations that may shift when subsidies dry up.&lt;/p&gt;

&lt;p&gt;Last, but not least, there's the rising risk of low-quality "vibe code" only superficially reviewed by human engineers or other AI agents, making a large codebase inconsistent, violate established principles of software engineering, and introduce security risks that might may go undetected until it is far too late to address them cheaply.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Human in the Loop
&lt;/h2&gt;

&lt;p&gt;Another poorly worded business buzzword, "the human in the loop" is the necesseary supervisor: an experienced software engineer skilled in coding, debugging, thinking outside the box, and communicating. Such a person acts like a translator between machine logical and what human stakeholders (business owners, founders, CTOs, designers) and their clients actually need.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Who's Al and Where's Webfont Legibility?</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Wed, 08 Apr 2026 11:17:13 +0000</pubDate>
      <link>https://dev.to/ingosteinke/whos-al-and-wheres-webfont-legibility-4h7n</link>
      <guid>https://dev.to/ingosteinke/whos-al-and-wheres-webfont-legibility-4h7n</guid>
      <description>&lt;p&gt;Have you heard about Al? Al is literally everywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who's Al?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Al Guidance - How Al uses Al as a Senior Developer&lt;/li&gt;
&lt;li&gt;Al site builder, real time collaboration and more&lt;/li&gt;
&lt;li&gt;How AI (not Al) Remembers and Why It Forgets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So who is this Al guy?&lt;/p&gt;

&lt;p&gt;Joke aside, here are some screenshots about ...&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%2Feyco2fhfc16l96gt5gc9.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%2Feyco2fhfc16l96gt5gc9.png" alt="screenshot with text: Al Guidance - How Al uses Al as a Senior Developer" width="635" height="185"&gt;&lt;/a&gt;&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%2Fuhgaekozc2yy8j5iz43t.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%2Fuhgaekozc2yy8j5iz43t.png" alt="screenshot with text: Al site builder, real time collaboration and more" width="455" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;... "AI" not "Al" of course, but in most web fonts you can't visually tell the difference. You still can't. In 2026. Despite decades of accessibility awareness advocacy and legislation. We've made &lt;a href="https://en.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines" rel="noopener noreferrer"&gt;WCAG&lt;/a&gt; criteria mandatory, at least in theory. The 2025 European Accessibility Act followed prior US legislation. We await WCAG 3 and its APCA algorithm, but we still fail to use legible web fonts?&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%2Fwab0wvfr5ljd3ixaw32b.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%2Fwab0wvfr5ljd3ixaw32b.png" alt="font preview text: You can call me Al. Al uses AI. All AI Al's been using." width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can call me Al. Al uses AI. All AI Al's been using.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just in case you haven't heard of &lt;a href="https://en.wikipedia.org/wiki/Atkinson_Hyperlegible" rel="noopener noreferrer"&gt;Atkinson Hyperlegible&lt;/a&gt;. It's not a proof of concept but a popular webfont:&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%2Fca5l1oqqvto9eue55m0o.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%2Fca5l1oqqvto9eue55m0o.png" alt="font preview text: You can call me Al. Al uses AI. All AI Al's been using." width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ubuntu's default &lt;a href="https://en.wikipedia.org/wiki/Ubuntu_(typeface)" rel="noopener noreferrer"&gt;"Ubuntu" font&lt;/a&gt; provides slightly more subtle and elegant legibility. Here is an example where I added "(not Al)" to the original website for the sake of my point:&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%2Fof8v8mxpbdgc5iy1797a.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%2Fof8v8mxpbdgc5iy1797a.png" alt="screenshot text: How AI (not Al) Remembers and Why It Forgets: Part 1. The Context Problem" width="760" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, &lt;a href="https://www.developerway.com/posts/how-ai-remembers-and-forgets-part1" rel="noopener noreferrer"&gt;Nadia Makarevich's post about AI&lt;/a&gt; is already legible and unambiguous, unless my mobile mail box on Android displays it out of its original context:&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%2F9s03yseu2i5oa548racq.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%2F9s03yseu2i5oa548racq.png" alt="screenshot text: How AI Remembers" width="429" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>typography</category>
      <category>webdesign</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Balancing CMS, Custom Code and Business Logic</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Fri, 03 Apr 2026 13:37:18 +0000</pubDate>
      <link>https://dev.to/ingosteinke/balancing-cms-custom-code-and-business-logic-1bd8</link>
      <guid>https://dev.to/ingosteinke/balancing-cms-custom-code-and-business-logic-1bd8</guid>
      <description>&lt;p&gt;Software-as-a-service reminds me of fast fashion or flat-pack furniture. Simple solutions often don't live up to their promise. Call it AI, no-code, or building blocks, but a bespoke website or online shop is always more than a one-click installation. The reason is simple. It's called owning your business.&lt;/p&gt;

&lt;p&gt;Even when we, as developers, design a dashboard that feels like a cool DJ device, you'll still have to choose the music, to stick with this comparison.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7i7fviqlhy1rjod3jnk1.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7i7fviqlhy1rjod3jnk1.png" alt="Futuristic neon variation of a Shopware admin interface photographed behind a lined notepad" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Action Speaks Louder than Words
&lt;/h2&gt;

&lt;p&gt;Action speaks louder than words. Apart from my portfolio website as a professional web developer, I released open-source software, including plugins for Shopware, npm and code editors. My blog, &lt;a href="https://www.open-mind-culture.org/" rel="noopener noreferrer"&gt;Open-Mind-Culture.org&lt;/a&gt;, started as a technical demonstration and testing environment for WordPress development. Likewise, the &lt;a href="https://shop.open-mind-culture.org/" rel="noopener noreferrer"&gt;Open Mind Culture fan shop&lt;/a&gt; runs my own Shopware theme and extensions. So I know e-commerce from a real shop owner's perspective and have up-to-date first-hand experience about hosting, payment and fulfilment beyond theme and web development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Balancing Specialized Skills and Broad Knowledge
&lt;/h2&gt;

&lt;p&gt;I don't do all of this alone. Well, there's a lot that I can and will do alone. I'm part of a network of professional partners, working together with designers, developers, data scientists, admins, copywriters, and financial, legal and marketing experts. &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%2Fdq493sk7s5t16lqlzdtl.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%2Fdq493sk7s5t16lqlzdtl.png" alt="Open Mind Culture blog screenshot" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Small side project demos like my Open Mind Culture blog and fan shop featured in developer discussions are far from scalable big business projects, but that's where I have 100% control as a developer.&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%2F3waac2r2drphsftfgbn3.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%2F3waac2r2drphsftfgbn3.png" alt="Projects screenshots: native web themes, design system, React web app" width="800" height="243"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I did work on corporate projects. As a freelance lead developer, I oversaw and coded a new career portal for an international construction company. I developed a highly configurable native WordPress theme reusable by thousands of sites in a Kubernetes cluster. I worked with Shopware, Intershop, Xsite and WooCommerce, for fashion retailers, online pharmacies, and ethical startups.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Business Values as a Developer
&lt;/h2&gt;

&lt;p&gt;Finding the right balance between content, custom code and business logic also implies finding the right experts to work with, a responsible contact person, but without avoidable overengineering and overhead that large corporate agencies often offer. If you know what you need, hiring a freelancer directly can be quick and cost-effective. An experienced senior will know and tell you if they can do it or if your requirements are too big or small for them.&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%2Fn7xcn8r7jiquvrl6bqt3.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%2Fn7xcn8r7jiquvrl6bqt3.png" alt="Laptop with website storefront and source code next to fresh fruit sold in the online shop" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First-hand experience: eating the fruit sold in my client's online shop that I was working on. 🍋🍊&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing CMS and E-Commerce Systems
&lt;/h2&gt;

&lt;p&gt;When it comes to choosing content management and e-commerce systems, I obviously prefer what I already know as a developer, but that still includes several alternatives. You probably heard about WordPress, WooCommerce, and Shopify. Maybe you also heard about Astro, Gatsby, or Hugo. And what about Typo3, Drupal, Magento and Shopware? Can you still follow me?&lt;/p&gt;

&lt;p&gt;Technical details aside, crucial aspects for choosing a software include&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;features (does it do what I need?)&lt;/li&gt;
&lt;li&gt;support (will this still work in five years?)&lt;/li&gt;
&lt;li&gt;maintenance (is it easy to change?)&lt;/li&gt;
&lt;li&gt;cost (inital and running costs)&lt;/li&gt;
&lt;li&gt;integration (does this fit my workflow?)&lt;/li&gt;
&lt;li&gt;performance (see above)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Software as a Service
&lt;/h3&gt;

&lt;p&gt;Software as a service sounds promisingly easy: register, pay, import your data, customize, and wait for the customers to come. Still enough work, but focused on your key skills as a merchant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Self-Hosted but Managed
&lt;/h3&gt;

&lt;p&gt;A "self-hosting" solution does not necessarily mean that you need to learn technical skills and install software updates. But it usually means more control, often for a lower total cost of ownership. Instead of pricing plans that often grow enormously as soon as it becomes hard to switch to an alternative provider, a self-hosted server and a long-term maintenance agreement with a professional web developer can reduce the total cost of ownership in the long term, despite additional costs for the initial setup that you pay only once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software Choice as a Case for Control and Ownership
&lt;/h3&gt;

&lt;p&gt;I chose Shopware and WordPress for my Open Mind Culture demo for several reasons. Both are provided on a freemium basis, which means that there is a free open-source software core maintained by a non-profit community, but driven by a commercial company and their official partners, offering optional paid add-ons and services.&lt;/p&gt;

&lt;p&gt;Shopware and WordPress can be customized and extended, and, thanks to decades of technical progress, the latest software versions are valid choices for business-level use cases. WordPress also has WooCommerce as an integrated e-commerce extension, and Shopware has content management (CMS) options, but I'd rather let each software do what it's best at.&lt;/p&gt;

&lt;h2&gt;
  
  
  Balancing Customization and Standardization
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Configuration vs Custom Code
&lt;/h3&gt;

&lt;p&gt;Hard-coded content and design limits and guides editors, preventing accidentally changing settings or violating design decisions. Settings can look overwhelming to non-technical users. Consider this example.&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%2Ftbtnv4i3uxx12i2qr18s.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%2Ftbtnv4i3uxx12i2qr18s.png" alt="Shopware settings screenshot" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I want to empower editors and site owners to update content and adjust simple settings that they don't need an expert for. Here is a CMS dashboard balancing visual preview with useful restrictions. &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%2F26wpzbqelyn7v683cmez.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%2F26wpzbqelyn7v683cmez.png" alt="Customized CMS collage" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fixing settings and output with custom code can prevent undesirable changes caused by updates or unwise content editing. Restricting customization too rigidly limits content creation control and might make merchants miss out on future features from upcoming updates.&lt;/p&gt;

&lt;p&gt;Thus, there is a trade-off, and maintenance is inevitable in the long run. Maintenance means accepting the need to change anything at all in the future, and to plan ahead for regular checks and possible improvements. Like bringing a car to an inspection or have your body checked by a doctor, prevention is better than cure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Customization Challenges and Strategies
&lt;/h3&gt;

&lt;p&gt;Often, there are different possible ways to implement a technical customization. Simpler, quicker coding might come with trade-offs in speed, cost or maintenance in the long run, while striving for perfect coding can also become perfectionist overoptimization that doesn't pay off either. AI-assisted and agentic vibe coding doesn't even consider the choice and just use any solution that works. &lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Debt Prevention
&lt;/h2&gt;

&lt;p&gt;Regular check points are chances to question prior architecture decisions and business strategies and check if the goals are still correct and we are moving in the right direction.&lt;/p&gt;

&lt;p&gt;Technical debt does not only stem from unfinished work or over-customization, but since 2026, so-called vibe coding promised to produce more code more quickly thanks to AI. What sounds promising and might work at first glance, might not perform so well in the long run.&lt;/p&gt;

&lt;p&gt;That's what audits and metrics are for. Even without consequently adopting test-driven-development, we can measure accessibility, code quality, and web performance at least to a certain extent. Tools like linters, Lighthouse, PageSpeed Insights and various SEO services can pinpoint weak spots that need optimization. We can even use AI to check AI recommendations. Just don't trust anything blindly. If something sounds too good to be true, then it probably is.&lt;/p&gt;

&lt;h3&gt;
  
  
  Aspects and Meanings of Web Performance
&lt;/h3&gt;

&lt;p&gt;As a senior web developer working at the intersection of business, UX/web design, and technology, my partners and I often hear questions about&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;business logic&lt;/li&gt;
&lt;li&gt;customer retention&lt;/li&gt;
&lt;li&gt;design decisions&lt;/li&gt;
&lt;li&gt;domain concepts&lt;/li&gt;
&lt;li&gt;marketing&lt;/li&gt;
&lt;li&gt;multi-language domain decision&lt;/li&gt;
&lt;li&gt;payment problems&lt;/li&gt;
&lt;li&gt;security issues&lt;/li&gt;
&lt;li&gt;search engine optimization&lt;/li&gt;
&lt;li&gt;web performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"Web performance" is one of those terms one of the terms whose official definition competes with more obvious ideas. While web performance technically means making loading times faster and ensure usability, there are synergies with load time optimization and web performance optimization in an economic sense as in making more potential customers buy your products or services.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmu06vyb0vbf1gtkvmm8h.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmu06vyb0vbf1gtkvmm8h.png" alt="Photograph of a sketched note saying: max. 3 clicks max 3 hrs. per week make it work, in front of a neon-colored code editor on a laptop screen" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or in other words: smart developer, happy shopper, happy revenue&lt;/p&gt;

&lt;p&gt;Further reading: &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln"&gt;Legacy Code Maintenance: Keeping your Website Up To Date&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln" class="crayons-story__hidden-navigation-link"&gt;Maintenance is how you avoid paying for technical debt&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ingosteinke" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" alt="ingosteinke profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ingosteinke" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ingo Steinke, web developer
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ingo Steinke, web developer
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-3284621" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ingosteinke" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F233697%2Fc55514eb-8ec3-47cf-8f65-5be0ef2b1849.jpg" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ingo Steinke, web developer&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Feb 25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln" id="article-link-3284621"&gt;
          Maintenance is how you avoid paying for technical debt
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;7&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ingosteinke/legacy-code-maintenance-keeping-your-website-up-to-date-beyond-2026-4cln#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>showdev</category>
      <category>shopware</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>An Unfiltered Slop Era?!</title>
      <dc:creator>Ingo Steinke, web developer</dc:creator>
      <pubDate>Thu, 19 Mar 2026 08:53:29 +0000</pubDate>
      <link>https://dev.to/ingosteinke/unfiltered-slop-era-7a7</link>
      <guid>https://dev.to/ingosteinke/unfiltered-slop-era-7a7</guid>
      <description>&lt;p&gt;Recently, many meta discussions mock and condemn content trends on DEV and everywhere else. I already regret recently writing about &lt;a href="https://dev.to/ingosteinke/online-community-demise-and-why-dev-is-different-16km"&gt;online community demise and why DEV is different (at least a little bit, I hope)&lt;/a&gt;, as the little bit seems to get smaller.&lt;/p&gt;

&lt;p&gt;DEV's setting to hide tags, isn't working well anymore, if it ever did. Or it does, but only as a negative following priority. When there is too much spam, slop and fad shitposting, there's not much left to prioritize against.&lt;/p&gt;

&lt;p&gt;My recommendations, sidebar, trends, discussions, and, not much of a surprise, the latest recent posts feed is full of crap, although I have already put #codingwithai, #claudecode, #cryptocurrency and #ai and several other hype hashtags on my hiding list.&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%2Fpmlmljjh27e31lr63z9s.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%2Fpmlmljjh27e31lr63z9s.png" alt="Hidden tags list screenshot" width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how DEV typically presents itself to me recently when I open the front page: AI and trope titles.&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%2Fnqlpe8ics5ahhd1ilpob.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%2Fnqlpe8ics5ahhd1ilpob.png" alt="DEV front page screenshot" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The trends have changed. No more listicles, no more emoji overload, instead, five out of ten posts contain an em dash character, that long hyphen, hard to find on international developer keyboards, popular with American scholars—and with AI chatbots.&lt;/p&gt;

&lt;h2&gt;
  
  
  "Here is what I learned"
&lt;/h2&gt;

&lt;p&gt;Other telltale signs that smell of sloppy writing assistance: "here is what I learned". Intended to signal authenticity, they have become red flags for the opposite, at least in most cases. The current year, 2026 right now, is one of the few evergreen attempts that might be legitimate, but adds negative points to my gut feeling heuristics. Similarly, I couldn't care less about the best dentists in Jaipur or posts in a language that I can't even read.&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%2F64kj7vov63p05y4cc2o9.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%2F64kj7vov63p05y4cc2o9.png" alt="Latest posts feed with spammy, Chinese and unreadable titles" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maybe DEV and their productive AI community can vibe-code a spam filter that actually works? I will check back in a few weeks and see if things improved.&lt;/p&gt;

&lt;p&gt;What I learned in the past years, writing and ranting on DEV, devrant, blogs and forums about work culture and society is that a single voice rarely changes anything, unless amplified or already popular. I'm far from being an influencer, despite being recommended every now and then.&lt;/p&gt;

&lt;p&gt;I'm really getting bored about AI art and vibe coding discussions and how we're getting or not getting replaced by AI as developers. Maybe I should have chosen a different career path and become a    physical therapist. I might have contributed more value to society and spared myself our industry's self-absorbed intellectual overhead that usually leads nowhere, or at least nowhere good. I will not digress into political topics here, although it's hard not to when, apart from some medical advancements, technological progress has failed to solve any of humanity's most important problems so far.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dead Internet "Discussions"
&lt;/h3&gt;

&lt;p&gt;As of late 2025, over 51% of all internet traffic was generated by bots, passing human activity for the first time.&lt;/p&gt;

&lt;p&gt;Even most comments look like AI-generated now. The dead internet is real. &lt;/p&gt;

&lt;h2&gt;
  
  
  Write-only
&lt;/h2&gt;

&lt;p&gt;I might just treat DEV like LinkedIn and medium, as a write-only platform to dump my marketing content. I really hope that's not where DEV is going.&lt;/p&gt;

&lt;p&gt;I will keep sharing some of my thoughts and practical takeaways anyway. But reading and scrolling social media is no fun anymore.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>watercooler</category>
    </item>
  </channel>
</rss>
