<?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: Felix Helleckes</title>
    <description>The latest articles on DEV Community by Felix Helleckes (@felix-helleckes).</description>
    <link>https://dev.to/felix-helleckes</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%2F3865542%2Fea401fc3-e0ad-4023-8261-0ff2871dcaca.jpeg</url>
      <title>DEV Community: Felix Helleckes</title>
      <link>https://dev.to/felix-helleckes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/felix-helleckes"/>
    <language>en</language>
    <item>
      <title>Rebuilding Battle Network's Combat for a Touchscreen (and with a lot of new online features)</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Thu, 13 Aug 2026 15:48:17 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/rebuilding-battle-networks-combat-for-a-touchscreen-and-with-a-lot-of-new-online-features-2594</link>
      <guid>https://dev.to/felix-helleckes/rebuilding-battle-networks-combat-for-a-touchscreen-and-with-a-lot-of-new-online-features-2594</guid>
      <description>&lt;p&gt;It looks like an action game. You control a character called MegaMan.EXE on a 3×6 grid of panels, three rows deep, split down the middle — your side, their side. Viruses move and shoot in real time. You dodge along rows and fire back.&lt;/p&gt;

&lt;p&gt;But you're not playing an action game. You're playing a deck.&lt;/p&gt;

&lt;p&gt;Before the fight you build a folder of Battle Chips. During the fight, every few seconds, a Custom gauge fills and the game stops dead to deal you a random hand from that folder — five chips, and you can only select the ones that share a letter code or a name. Pick your combination, unpause, and now you have a sword, a cannon and nothing else until the gauge fills again.&lt;/p&gt;

&lt;p&gt;That tension is the whole design. Real-time positioning on a grid, turn-based resource management layered on top, and a deck you assembled hours ago deciding what options you get right now.&lt;/p&gt;

&lt;p&gt;I've been rebuilding that system for phones. It's out now, it's free, and it's called &lt;a href="https://mega-man-advanced-pet.vercel.app/" rel="noopener noreferrer"&gt;Mega Man: Advanced PET&lt;/a&gt;. This is a post about the design problems, because they turned out to be more interesting than the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The input problem
&lt;/h2&gt;

&lt;p&gt;The GBA had a d-pad. This matters more than it sounds.&lt;/p&gt;

&lt;p&gt;Battle Network's combat assumes you can move exactly one panel, in a chosen direction, at a moment of your choosing, while a projectile is already travelling toward you. The d-pad gives you that for free. Four discrete directions, tactile, no ambiguity, no visual occlusion.&lt;/p&gt;

&lt;p&gt;A touchscreen gives you none of it. Every option is a compromise:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A virtual d-pad&lt;/strong&gt; puts a fake control under a thumb that has no way to feel where it is. Players drift off it constantly, and they only notice when an input doesn't register — which is exactly the moment they were dodging something.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Swipe gestures&lt;/strong&gt; read cleanly when you swipe deliberately. They read terribly when you're panicking. Fast repeated swipes get merged, misinterpreted, or eaten by the gesture recogniser's timing window.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tap-the-destination-panel&lt;/strong&gt; is precise and unambiguous. It also puts your thumb directly on top of the six panels you most need to see.&lt;/p&gt;

&lt;p&gt;There isn't a clean answer here. Every touch control scheme for a real-time grid game is choosing which failure mode you can live with. That's worth saying plainly, because a lot of mobile ports pretend the problem doesn't exist and ship a virtual d-pad without comment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Custom screen is the part that survives translation
&lt;/h2&gt;

&lt;p&gt;Here's the good news: the half of Battle Network that's a card game ports beautifully.&lt;/p&gt;

&lt;p&gt;The Custom screen is already a menu. It already pauses the action. It already expects deliberate, considered input rather than reflexes. Touch is &lt;em&gt;better&lt;/em&gt; at this than a d-pad — you tap the chips you want instead of cursoring across a grid of them.&lt;/p&gt;

&lt;p&gt;Advanced PET has 273 chips, and they fuse the way they should: by matching code letters or matching names, chaining into Program Advances. The &lt;a href="https://mega-man-advanced-pet.vercel.app/chips.html" rel="noopener noreferrer"&gt;full chip library is browsable on the web&lt;/a&gt;, searchable by element, power and rarity, if you want to look at the numbers without installing anything.&lt;/p&gt;

&lt;p&gt;What makes chip fusion interesting as a design object is that it makes folder-building a constraint puzzle rather than a power calculation. A folder of thirty individually excellent chips with thirty different codes is worse than a folder of mediocre chips that all share the letter B, because the second one actually combines when it's dealt to you. You're not optimising for chip strength. You're optimising for the probability that your random hand contains a legal combination.&lt;/p&gt;

&lt;p&gt;That's a genuinely good system, and it survives the platform change completely intact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making a fan game feel occupied
&lt;/h2&gt;

&lt;p&gt;Battle Network had hub areas — cyberspace plazas where other NetNavis stood around. In the originals they were NPCs with two lines of dialogue each.&lt;/p&gt;

&lt;p&gt;Advanced PET has The Square, which is the same idea with actual people in it: a shared real-time space where players walk around as their own Navis, with name plates, live chat, a trade bazaar, and community goals. It runs on Supabase.&lt;/p&gt;

&lt;p&gt;The design constraint that shaped this most was that event viruses spawn &lt;strong&gt;deterministically&lt;/strong&gt; — every client computes the same spawns at the same time from shared state, rather than a server telling each client what appeared. That's a meaningful architectural choice for a project without dedicated game servers, and it's what makes a shared world possible at all when the thing coordinating it is a database with a realtime channel rather than an authoritative simulation.&lt;/p&gt;

&lt;p&gt;The trade-off is that determinism has to hold under bad mobile connectivity, which is a harder guarantee than it sounds.&lt;/p&gt;

&lt;p&gt;Co-op raids sit on top of the same social layer. You invite people from your BrotherBand friend list, the boss scales to how many of you turn up, and rewards are shared across everyone who joined. There's also local Bluetooth NetBattling, which exists purely because sitting next to someone and linking up was a real part of what the GBA games were.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some smaller decisions worth defending
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Your step count charges the Cyber-Meter.&lt;/strong&gt; Real-world walking fuels battles. This could easily be a gimmick, and in a monetised game it would be — but here it's the thing that gets you to open the app when you're not already playing it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No pay-to-win, no ads.&lt;/strong&gt; The game is free and there's no monetisation at all. This isn't generosity, it's the only defensible position for a fan project built on someone else's IP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Colour-blind-friendly UI and adjustable text.&lt;/strong&gt; Battle Network leans heavily on elemental colour matching — fire beats wood, wood beats electric — and a game that encodes core mechanics in colour alone is unplayable for a meaningful chunk of players. Haptics and text scaling are in for the same reason.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The website doesn't load YouTube until you press play.&lt;/strong&gt; No Google content, no cookies, until you actively ask for the trailer. Small thing, but it's the difference between claiming to care about privacy and implementing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  On the legal question, because someone always asks
&lt;/h2&gt;

&lt;p&gt;It's a fan game. It's free, there's no monetisation of any kind, and it isn't affiliated with or endorsed by Capcom. Mega Man is their trademark.&lt;/p&gt;

&lt;p&gt;Fan projects on active IP live at the owner's discretion, and everyone building one knows it. The only honest position is to not monetise, not pretend it's official, and accept that the calculus belongs to Capcom rather than to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it is
&lt;/h2&gt;

&lt;p&gt;Out now on &lt;a href="https://apps.apple.com/app/id6787106134" rel="noopener noreferrer"&gt;the App Store&lt;/a&gt; and &lt;a href="https://play.google.com/store/apps/details?id=com.megaman.advancedpet" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;, free, in English, German and French.&lt;/p&gt;

&lt;p&gt;Sixty seconds of actual gameplay:&lt;/p&gt;


&lt;div&gt;
    &lt;iframe src="https://www.youtube.com/embed/K4S1KJexcIY"&gt;
    &lt;/iframe&gt;
  &lt;/div&gt;


&lt;p&gt;If you played the originals and have opinions about what I got wrong — particularly on the input scheme, which is the part I'm least settled on — &lt;a href="https://discord.gg/2kGC69ugXP" rel="noopener noreferrer"&gt;the Discord&lt;/a&gt; is where that conversation happens.&lt;/p&gt;

&lt;p&gt;I'd genuinely rather hear that the controls don't feel right than not hear it.&lt;/p&gt;

</description>
      <category>capcom</category>
      <category>android</category>
      <category>ios</category>
      <category>indidev</category>
    </item>
    <item>
      <title>"Uh-Oh!” 🌼 Who else still hears this sound in their sleep?</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Tue, 12 May 2026 08:16:25 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/uh-oh-who-else-still-hears-this-sound-in-their-sleep-4ehi</link>
      <guid>https://dev.to/felix-helleckes/uh-oh-who-else-still-hears-this-sound-in-their-sleep-4ehi</guid>
      <description>&lt;p&gt;Let’s be honest: Modern messaging is efficient, but it’s become… soulless. Everything is clean, minimal, and predictable. That’s why I spent the last few weeks turning back the clock—while keeping the tech firmly in 2026.&lt;/p&gt;

&lt;p&gt;I built ICQ &lt;a href="https://github.com/felix-helleckes/ICQ" rel="noopener noreferrer"&gt;Retrogram&lt;/a&gt;. 💻✨&lt;/p&gt;

&lt;p&gt;It’s a fully functional multi-messenger for WhatsApp and Telegram, but with the exact look and feel of the legendary ICQ 5.&lt;/p&gt;

&lt;p&gt;What’s under the hood?&lt;/p&gt;

&lt;p&gt;Frontend: Pure retro vibes, including the original status icons, window skins, and that iconic lime-green flower.&lt;/p&gt;

&lt;p&gt;Backend: Seamless integration of modern messenger APIs, making sure the nostalgia actually works in your daily life.&lt;/p&gt;

&lt;p&gt;The "Why": Because chatting should be fun again. UI design can be more than just "white space and sans-serif fonts."&lt;/p&gt;

&lt;p&gt;I’ve documented the entire journey—from the initial spark to the technical hurdles—in a new Medium article.&lt;/p&gt;

&lt;p&gt;👉 Read it here: &lt;a href="https://felix-helleckes.medium.com/i-built-a-retro-icq-messenger-for-whatsapp-telegram-and-suddenly-chatting-is-fun-again-ad01fc6df8b7" rel="noopener noreferrer"&gt;https://felix-helleckes.medium.com/i-built-a-retro-icq-messenger-for-whatsapp-telegram-and-suddenly-chatting-is-fun-again-ad01fc6df8b7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m curious: Which old-school feature do you miss the most? The "Invisible" mode? The "Nudge"? Or just the thrill of someone coming online?&lt;/p&gt;

&lt;p&gt;Let me know in the comments! 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  RetroTech #WebDevelopment #Nostalgia #ICQ #SoftwareEngineering #UIUX #BuildInPublic #RetroComputing
&lt;/h1&gt;

</description>
      <category>icq</category>
      <category>retro</category>
      <category>whatsapp</category>
      <category>telegram</category>
    </item>
    <item>
      <title>The Rise of the Machine Employees: OpenClaw vs. Paperclip.ing vs. Hermes Agent — A QA Reality Check</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Wed, 06 May 2026 20:13:12 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/the-rise-of-the-machine-employees-openclaw-vs-papercliping-vs-hermes-agent-a-qa-reality-check-2jpn</link>
      <guid>https://dev.to/felix-helleckes/the-rise-of-the-machine-employees-openclaw-vs-papercliping-vs-hermes-agent-a-qa-reality-check-2jpn</guid>
      <description>&lt;p&gt;We are rushing toward autonomous agents, but are we building resilient software or just expensive prompt-looping machines?&lt;/p&gt;

&lt;p&gt;Hi, my Name is Felix Helleckes. I’m a Senior QA Engineer and Fullstack Developer with a passion for building autonomous systems. Currently, I’m focusing on the intersection of AI and data at SteamRoast.ai.&lt;/p&gt;

&lt;p&gt;Let’s connect: LinkedIn&lt;br&gt;
See my Hobby Projects here: GitHub&lt;br&gt;
Read More&lt;/p&gt;

&lt;p&gt;In the last six months, the “Agent” hype has shifted from experimental Python scripts to polished, production-ready frameworks. We are no longer just chatting with LLMs; we are giving them hands, eyes, and — scarily enough — access to our file systems.&lt;/p&gt;

&lt;p&gt;Today, three names are dominating the conversation: OpenClaw, Paperclip.ing, and Hermes Agent. At first glance, they all promise the same: “Let the AI do the work.”&lt;/p&gt;

&lt;p&gt;But as a Senior QA Engineer, I don’t care about promises. I care about determinism, reliability, and edge cases. Here is how these three stack up when you strip away the marketing fluff.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Contenders: A High-Level Breakdown
OpenClaw: The “Swiss Army Knife”
OpenClaw positions itself as the open-source alternative to proprietary operator frameworks. It’s designed to bridge the gap between “thinking” and “doing.” It’s highly modular and thrives in environments where you need custom tool-calling.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Paperclip.ing: The “Productivity Specialist”&lt;br&gt;
Paperclip feels like the “Apple” approach to agents. It’s sleek, web-integrated, and focused on automating browser-based workflows. If you want to automate your SaaS-ops, Paperclip is the frontrunner.&lt;/p&gt;

&lt;p&gt;Hermes Agent (Nous Research): The “Brain-First” Approach&lt;br&gt;
Coming from the legendary Nous Research team, Hermes isn’t just a wrapper; it’s built around the Hermes 3 model. It’s an agentic framework that leverages the model’s native ability to follow complex, long-form instructions without “losing the plot.”&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Why They Are Similar (The “Agentic Blueprint”)
From a structural perspective, all three follow the ReAct (Reason + Act) pattern:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Input: User gives a goal.&lt;br&gt;
Observation: The agent looks at its environment (DOM, Terminal, API).&lt;br&gt;
Thought: The LLM decides what to do next.&lt;br&gt;
Action: The tool is called.&lt;br&gt;
They all suffer from the same “Infinite Loop” risk and the “Hallucination of Capability” (where the agent thinks it clicked a button that doesn’t exist).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Critical QA Lens: Why They Are Different
FeatureOpenClawPaperclip.ingHermes AgentPrimary StrengthTool VersatilityBrowser AutomationReasoning DepthReliability BugConfiguration DriftDOM FlakinessModel LatencyQA ChallengeInfinite Tool LoopsVisual RegressionNon-Deterministic Logic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The “Flakiness” Factor&lt;br&gt;
As a QA, Paperclip.ing keeps me up at night. Web-based agents are notoriously fragile. A 10px shift in a UI or a dynamic ClassName change can break a Paperclip workflow. It’s powerful, but the “Test Stability” is low.&lt;/p&gt;

&lt;p&gt;Write on Medium&lt;br&gt;
OpenClaw is more robust because it’s closer to the API layer, but it requires massive “Guardrail Testing.” Without strict schemas, OpenClaw can easily hallucinate tool parameters, leading to “Silent Failures.”&lt;/p&gt;

&lt;p&gt;Hermes Agent is the most interesting from a logic perspective. Because it’s fine-tuned for agentic tasks, it handles edge-case recovery better than the others. If a step fails, Hermes is more likely to “realize” it and pivot, whereas the others might just retry the same failing action until your API credits hit zero.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Verdict: Innovation vs. Reliability
We are currently in the “Move Fast and Break Things” phase of AI Agents.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Use OpenClaw if you are building a custom internal tool and need full control over the “hands.”&lt;br&gt;
Use Paperclip.ing if you need to automate tedious browser tasks today and don’t mind a bit of maintenance.&lt;br&gt;
Use Hermes Agent if you are building a system where the “Thinking” is more important than the “Clicking.”&lt;br&gt;
My QA Take: None of these are “Set and Forget.” The industry is missing a unified Agent Testing Framework. We are deploying agents faster than we can validate their decision-making trees.&lt;/p&gt;

&lt;p&gt;As we move toward “100k missions” and AI-driven startups, the winner won’t be the agent with the coolest features — it will be the one that is the most observable and testable.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Final Thoughts
The line between OpenClaw, Paperclip, and Hermes is blurring. Soon, the “Agent” will just be a commodity. The real value lies in the Environment we build for them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What’s your experience? Have you let an agent touch your production codebase yet? Let’s discuss in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openclaw</category>
      <category>n8n</category>
      <category>programming</category>
    </item>
    <item>
      <title>The USB-C Paradox: Why the EU Standard is a Mess and Apple is Charging You for 20-Year-Old Tech</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Mon, 27 Apr 2026 08:27:08 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/the-usb-c-paradox-why-the-eu-standard-is-a-mess-and-apple-is-charging-you-for-20-year-old-tech-39hn</link>
      <guid>https://dev.to/felix-helleckes/the-usb-c-paradox-why-the-eu-standard-is-a-mess-and-apple-is-charging-you-for-20-year-old-tech-39hn</guid>
      <description>&lt;p&gt;Think all USB-C cables are the same? Think again. From “USB 2.0” speeds in €35 cables to the EU’s half-baked standardization, here is why your tech is slower than it should be.&lt;br&gt;
As a Senior QA Engineer, I spend my life looking for single points of failure. Usually, these are in code or cloud infrastructures. But lately, the biggest failure in the tech ecosystem is sitting right on our desks, disguised as a “universal” connector: USB-C.&lt;/p&gt;

&lt;p&gt;Hi, my Name is Felix Helleckes. I’m a Senior QA Engineer and Fullstack Developer with a passion for building autonomous systems. Currently, I’m focusing on the intersection of AI and data at SteamRoast.ai.&lt;/p&gt;

&lt;p&gt;Let’s connect: LinkedIn&lt;br&gt;
See my Hobby Projects here: GitHub&lt;br&gt;
Read More&lt;br&gt;
The European Union recently forced a “Common Charger” mandate. Great for the environment, right? In theory, yes. In practice, it created a Kabelchaos (cable chaos) that is more confusing than ever.&lt;/p&gt;

&lt;p&gt;Here is the breakdown of why “USB-C” is just a shape, not a standard, and why you should be careful what you plug into your devices.&lt;/p&gt;

&lt;p&gt;Press enter or click to view image in full size&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The EU’s Half-Baked Victory: Shapes vs. Standards
The EU mandate forced every smartphone manufacturer (yes, looking at you, Apple) to adopt the USB-C port. The goal was simple: one cable for everything.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Problem: The EU only standardized the physical connector, not the internals of the cable.&lt;/p&gt;

&lt;p&gt;No performance requirements: The law doesn’t dictate how fast a cable must transfer data or how much power it must deliver.&lt;br&gt;
The result: You can have two cables that look identical, but one can charge a laptop at 240W and stream 8K video, while the other can barely charge a phone and transfers data at the speed of a 2004 MP3 player.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Apple’s €35 Time Machine: USB 2.0 in 2026?
This is where it gets frustrating for consumers. Apple now sells official USB-C cables for around €35. You would expect high-end performance for that price, right?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Become a Medium member&lt;br&gt;
The Reality: Many of these “official” cables are limited to USB 2.0 speeds (480 Mbps).&lt;/p&gt;

&lt;p&gt;The Math: USB 2.0 is a standard from the year 2000.&lt;br&gt;
The Irony: You are using a cutting-edge iPhone or iPad, connected via a “modern” USB-C port, but your data is moving through a pipeline designed over two decades ago.&lt;br&gt;
Why? Because it’s cheaper to manufacture, and most users only care about charging (where these cables do deliver up to 240W). But for professionals transferring large video files, it’s a massive bottleneck.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to Spot a “Good” Cable (The QA Perspective)
To survive this chaos, you need to look past the connector. Here is what I look for to ensure “System Integrity” in my setup:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thunderbolt 4 / 5: These are the “All-in-One” kings. If you see the lightning bolt icon, it usually supports high-speed data, power, and video signals simultaneously.&lt;br&gt;
USB4 Gen 3 / Gen 4: These are the non-Intel equivalents. A “USB 80Gbps” cable is roughly equivalent to Thunderbolt 5 and is often much cheaper than Apple’s offerings.&lt;br&gt;
DisplayPort Alt Mode: If you want to connect a monitor, your cable must support this. Many “charging cables” simply lack the internal wiring for video.&lt;br&gt;
The Senior QA Verdict: Visibility is Everything&lt;br&gt;
In software testing, we say: “If you can’t measure it, you don’t know if it works.” The same applies to your hardware.&lt;/p&gt;

&lt;p&gt;The USB-C market currently lacks transparency. We have a universal plug but a fragmented brain. If you find your phone charging slowly or your SSD transfer taking hours, don’t blame the device — blame the “dumb” cable in the middle.&lt;/p&gt;

&lt;p&gt;My Advice: Stop buying “official” basic cables. Look for certified USB4 or Thunderbolt alternatives. It might cost you €20 instead of €15, but it saves you from the 20-year-old speed trap.&lt;/p&gt;

&lt;p&gt;What’s in your drawer? I recently used a cable tester and realized 40% of my “USB-C” collection was actually e-waste in disguise. Check your cables, or they will become the silent bottleneck of your career.&lt;/p&gt;

&lt;p&gt;Catch me on LinkedIn or checkout my Github Portfolio for more deep dives into tech architecture and quality standards.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cryptocurrency</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>From Manual Testing to Cloud-Native Playwright Automation: An 8-Year QA Journey</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Fri, 10 Apr 2026 10:42:24 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/from-manual-testing-to-cloud-native-playwright-automation-an-8-year-qa-journey-2d6o</link>
      <guid>https://dev.to/felix-helleckes/from-manual-testing-to-cloud-native-playwright-automation-an-8-year-qa-journey-2d6o</guid>
      <description>&lt;p&gt;How the role of Quality Assurance has evolved, and why "Shift-Left" is no longer just a buzzword.&lt;/p&gt;

&lt;p&gt;When I look back at the last decade of software development, the transformation of Quality Assurance is nothing short of revolutionary. We have moved from being the "gatekeepers at the end of the pipeline" to becoming integral automation architects right at the core of the development lifecycle.&lt;/p&gt;

&lt;p&gt;Hi, I am Felix Florian Helleckes, a Senior Quality Assurance Engineer. Over the past eight years, I’ve navigated the shifting landscapes of manual testing, IoT integrations, and highly scalable cloud environments. Here are my key takeaways from transitioning through different eras of QA.&lt;/p&gt;

&lt;p&gt;🎮 The Foundation: Gaming and Legacy Enterprise Systems&lt;br&gt;
Every automation expert needs to understand the fundamentals of manual testing first. My career started back in 2015 as an independent tester, where I had the opportunity to conduct manual testing for global players in the gaming industry, including Blizzard Entertainment. Testing games teaches you a vital lesson: user experience is everything, and edge cases are where the worst bugs hide.&lt;/p&gt;

&lt;p&gt;As I transitioned into the enterprise sector with ampada GmbH in Cologne, the focus shifted toward robust End-to-End (E2E) test automation. Here, I worked heavily with Javascript and Webdriver.io, but also tackled legacy desktop applications using VisualBasic and Microfocus UFT. It taught me how to build reliable safety nets for complex systems.&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;The Mobile and IoT Era&lt;/strong&gt;&lt;br&gt;
By 2018, the industry was heavily pivoting toward mobile and the Internet of Things (IoT). Joining grandcentrix GmbH, a leading agency for IoT and App development, forced me to rethink test coverage.&lt;/p&gt;

&lt;p&gt;Testing hardware-software integrations is a completely different beast. I focused on building comprehensive test concepts using Jira and Testrail, automating mobile applications with Appium, and driving API integration tests via Postman.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Scaling Up: E-Commerce, Kubernetes, and Playwright&lt;/strong&gt;&lt;br&gt;
The real paradigm shift in my career happened when I took on the role of QA Manager and Automation Lead at Fashion Digital GmbH (the IT backbone of Peek &amp;amp; Cloppenburg).&lt;/p&gt;

&lt;p&gt;In enterprise-level e-commerce, downtime or performance bottlenecks cost real money. Here, the QA role expanded significantly:&lt;/p&gt;

&lt;p&gt;Modernizing the Stack: We moved to Playwright.dev, which drastically improved our E2E testing speed and reliability compared to older Selenium-based frameworks.&lt;/p&gt;

&lt;p&gt;Performance Testing: Functional testing isn't enough. I implemented performance and stress test automation using Python and Locust.io to ensure the web architecture could withstand heavy traffic events like Black Friday.&lt;/p&gt;

&lt;p&gt;Cloud-Native QA: The most significant step was managing and configuring test environments directly within Kubernetes clusters. QA engineers today need a solid understanding of Docker and Kubernetes to seamlessly integrate quality gates into the CI/CD pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚲 High-Performance Retail&lt;/strong&gt;&lt;br&gt;
Recently, I’ve been refining these high-performance QA strategies in the fast-paced retail sector at Bike24 GmbH. As a Senior Quality Assurance Engineer, my goal remains the same: ensuring that complex web architectures remain scalable, robust, and entirely bug-free upon deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 My QA Philosophy for 2026 and Beyond&lt;/strong&gt;&lt;br&gt;
If my journey from manual gaming tests to configuring Kubernetes test environments has taught me anything, it is this: Quality is a feature, not an afterthought.&lt;/p&gt;

&lt;p&gt;To succeed in modern software development, we must embrace "Shift-Left Testing." This means bringing QA into the architectural discussions from day one. As the lines between DevOps, Development, and QA continue to blur, those who understand the entire lifecycle—from the first line of Typescript to the final Docker container—will drive the industry forward.&lt;/p&gt;

&lt;p&gt;Let’s connect and discuss the future of test automation!&lt;/p&gt;

&lt;p&gt;Portfolio: &lt;a href="//felix-helleckes.github.io"&gt;felix-helleckes.github.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/felix-helleckes-758529202/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Felix Florian Helleckes is a Cologne-based Senior QA Engineer specializing in Playwright, E2E Automation, and Cloud Infrastructure.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>testing</category>
    </item>
    <item>
      <title>I Built a Star Wars Mandalorian Movie Countdown Site with React + Vite</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Wed, 08 Apr 2026 06:12:29 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/i-built-a-star-wars-mandalorian-movie-countdown-site-with-react-vite-3f4i</link>
      <guid>https://dev.to/felix-helleckes/i-built-a-star-wars-mandalorian-movie-countdown-site-with-react-vite-3f4i</guid>
      <description>&lt;p&gt;I'm a huge Star Wars fan, and with The Mandalorian &amp;amp; Grogu hitting theaters on May 22, 2026, I couldn't just sit and wait — I had to build something.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;So I created a countdown website: &lt;a href="//mando-countdown.netlify.app"&gt;Mandalorian Cinema Countdown&lt;/a&gt;&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
What's on the site?&lt;br&gt;
⏳ Live countdown timer (days, hours, minutes, seconds)&lt;br&gt;
🌟 Animated starfield background&lt;br&gt;
🎬 Embedded official trailer&lt;br&gt;
👤 Character cards for Din Djarin &amp;amp; Grogu&lt;br&gt;
📱 Fully responsive design&lt;br&gt;
Tech Stack&lt;br&gt;
React 18 with Vite&lt;br&gt;
Pure CSS (no UI framework) — custom Star Wars-inspired dark theme with gold accents&lt;br&gt;
Deployed on Netlify (free tier, zero config)&lt;br&gt;
The Fun Part: Pure CSS Starfield&lt;br&gt;
Instead of a canvas library, I went with a pure CSS animated starfield using layered box-shadow on pseudo-elements. It's lightweight and looks great:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.stars&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="c"&gt;/* 200 random positions generated */&lt;/span&gt; &lt;span class="p"&gt;...;&lt;/span&gt;
  &lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;twinkle&lt;/span&gt; &lt;span class="m"&gt;4s&lt;/span&gt; &lt;span class="n"&gt;infinite&lt;/span&gt; &lt;span class="n"&gt;alternate&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What I learned&lt;br&gt;
Vite is ridiculously fast for React projects&lt;br&gt;
Netlify deploys a Vite build in under 30 seconds&lt;br&gt;
A well-chosen color palette (#C9A84C gold + near-black) carries a whole theme without needing images&lt;/p&gt;

</description>
      <category>css</category>
      <category>react</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built a Self-Improving AI Crypto Bot with Python and Kraken (Full Architecture)</title>
      <dc:creator>Felix Helleckes</dc:creator>
      <pubDate>Tue, 07 Apr 2026 10:10:37 +0000</pubDate>
      <link>https://dev.to/felix-helleckes/i-built-a-self-improving-ai-crypto-bot-with-python-and-kraken-full-architecture-25bl</link>
      <guid>https://dev.to/felix-helleckes/i-built-a-self-improving-ai-crypto-bot-with-python-and-kraken-full-architecture-25bl</guid>
      <description>&lt;p&gt;The Dream: A Bot That Learns from Its Mistakes&lt;br&gt;
Most trading bots are static. You program a strategy (like RSI or MACD), and it executes until the market regime changes and you lose money. On my channel The Efficient Dev, I wanted to solve this.&lt;/p&gt;

&lt;p&gt;I built a system that doesn't just trade—it reflects. It uses AI agents to analyze its own P&amp;amp;L and suggest optimizations. Here’s how I did it.&lt;/p&gt;

&lt;p&gt;🛠️ The Tech Stack&lt;br&gt;
To keep it "efficient" and 24/7 capable, I chose:&lt;/p&gt;

&lt;p&gt;Language: Python 3.11+&lt;/p&gt;

&lt;p&gt;Exchange: Kraken API (Robust and dev-friendly)&lt;/p&gt;

&lt;p&gt;Brain: AI Agents (Analyzing trade history)&lt;/p&gt;

&lt;p&gt;Environment: Raspberry Pi (Low power, high uptime)&lt;/p&gt;

&lt;p&gt;🏗️ The System Architecture&lt;br&gt;
The bot operates in a continuous loop, but with a twist. Instead of just Market Data -&amp;gt; Trade, it follows a Reflective Loop:&lt;/p&gt;

&lt;p&gt;Ingestion: Pulling real-time OHLCV data from Kraken.&lt;/p&gt;

&lt;p&gt;Strategy Execution: A technical analysis layer triggers potential entries.&lt;/p&gt;

&lt;p&gt;The "Agent" Layer: This is the secret sauce. An AI agent reviews the last 24 hours of trades.&lt;/p&gt;

&lt;p&gt;Question: "Why did we lose 2% on that ETH long?"&lt;/p&gt;

&lt;p&gt;Action: Adjusts the volatility threshold for the next trade.&lt;/p&gt;

&lt;p&gt;Autonomous Deployment: Running on a Raspberry Pi via a systemd service.&lt;/p&gt;

&lt;p&gt;💻 Code Snippet: Connecting to Kraken&lt;br&gt;
Here is a simplified look at how I handle the authenticated client:&lt;/p&gt;

&lt;p&gt;Python&lt;br&gt;
import krakenex&lt;br&gt;
from pykrakenapi import KrakenAPI&lt;/p&gt;

&lt;p&gt;def get_kraken_connection():&lt;br&gt;
    api = krakenex.API()&lt;br&gt;
    api.load_key('kraken.key') # Keep your keys safe!&lt;br&gt;
    return KrakenAPI(api)&lt;/p&gt;

&lt;h1&gt;
  
  
  The bot then uses this to fetch balances and execute trades
&lt;/h1&gt;

&lt;p&gt;kraken = get_kraken_connection()&lt;br&gt;
print(kraken.get_account_balance())&lt;br&gt;
🧠 Why "Self-Improving"?&lt;br&gt;
The core problem with algorithmic trading is Overfitting. By using an AI reflection layer, the bot identifies if a strategy is failing because of "bad luck" or because the "market logic" has shifted.&lt;/p&gt;

&lt;p&gt;In the full video, I show the logs where the bot actually decides to stay out of the market because the AI agent detected high-frequency noise that the standard RSI couldn't see.&lt;/p&gt;

&lt;p&gt;📺 Full Technical Walkthrough&lt;br&gt;
I’ve documented the entire build process, the challenges with the Kraken API, and the exact logic of the AI agents in this video:&lt;/p&gt;

&lt;p&gt;WATCH THE VIDEO HERE: &lt;a href="https://youtu.be/nTXojkvskGM" rel="noopener noreferrer"&gt;https://youtu.be/nTXojkvskGM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀 Get the Source Code&lt;br&gt;
I’m a big believer in open source. You can find the repository for this project on my GitHub. Feel free to star it or fork it to build your own version!&lt;/p&gt;

&lt;p&gt;👉 GitHub Repo: irgendwasmitfelix/TradingBot&lt;/p&gt;

&lt;p&gt;Let's Discuss!&lt;br&gt;
How do you handle risk management in your bots?&lt;/p&gt;

&lt;p&gt;Do you think AI agents are the future of retail trading, or just hype?&lt;/p&gt;

&lt;p&gt;I'll be in the comments answering questions!&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>raspberrypi</category>
      <category>cryptocurrency</category>
    </item>
  </channel>
</rss>
