<?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>Forem: Felix Helleckes</title>
    <description>The latest articles on Forem by Felix Helleckes (@felix-helleckes).</description>
    <link>https://forem.com/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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3865542%2Fea401fc3-e0ad-4023-8261-0ff2871dcaca.jpeg</url>
      <title>Forem: Felix Helleckes</title>
      <link>https://forem.com/felix-helleckes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/felix-helleckes"/>
    <language>en</language>
    <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://forem.com/felix-helleckes/from-manual-testing-to-cloud-native-playwright-automation-an-8-year-qa-journey-2d6o</link>
      <guid>https://forem.com/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://forem.com/felix-helleckes/i-built-a-star-wars-mandalorian-movie-countdown-site-with-react-vite-3f4i</link>
      <guid>https://forem.com/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://forem.com/felix-helleckes/i-built-a-self-improving-ai-crypto-bot-with-python-and-kraken-full-architecture-25bl</link>
      <guid>https://forem.com/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>
