<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai on Flowing Code</title><link>https://www.flowingcode.com/en/tag/ai/</link><description>Recent content in Ai on Flowing Code</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 21 Jul 2026 13:41:49 +0000</lastBuildDate><atom:link href="https://www.flowingcode.com/en/tag/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Vaadin Add-on in Record Time with Claude AI</title><link>https://www.flowingcode.com/en/building-a-vaadin-add-on-in-record-time-with-claude-ai/</link><pubDate>Tue, 21 Jul 2026 13:39:02 +0000</pubDate><guid>https://www.flowingcode.com/en/building-a-vaadin-add-on-in-record-time-with-claude-ai/</guid><description>&lt;figure class="wp-block-image size-large">&lt;img alt="" class="wp-image-2391" height="559" loading="lazy" src="https://www.flowingcode.com/images/uploads/2026/06/relative-time-blog-post-1024x559.jpg" width="1024"/>&lt;/figure>
&lt;p class="wp-block-paragraph">Not long ago, I shared my experience on &lt;a href="https://www.flowingcode.com/en/vaadin-10-to-25-migrating-a-8-year-old-app-with-claude-ai/">how to migrate a legacy Vaadin application with the help of Claude AI&lt;/a>. That experience proved that AI is fantastic for untangling legacy code, but it left me with a new question: &lt;strong>What happens when we start from scratch?&lt;/strong> Recently, my team at Flowing Code proposed creating a new add-on: a Vaadin wrapper around the &lt;code>&lt;a href="https://github.com/github/relative-time-element">@github/relative-time-element&lt;/a>&lt;/code> component. This time, I decided to keep Claude in the loop from minute zero, not just as a code generator, but as an architectural design partner.&lt;/p></description></item><item><title>Vaadin 10 to 25: Migrating a 8-Year-Old App with Claude AI</title><link>https://www.flowingcode.com/en/vaadin-10-to-25-migrating-a-8-year-old-app-with-claude-ai/</link><pubDate>Thu, 18 Jun 2026 19:49:25 +0000</pubDate><guid>https://www.flowingcode.com/en/vaadin-10-to-25-migrating-a-8-year-old-app-with-claude-ai/</guid><description>&lt;figure class="wp-block-image size-large">&lt;img alt="" class="wp-image-2281" height="572" loading="lazy" src="https://www.flowingcode.com/images/uploads/2026/06/global-stats-2026-1024x572.jpg" width="1024"/>&lt;/figure>
&lt;p class="wp-block-paragraph">Back in 2018, &lt;a href="https://www.flowingcode.com/en/vaadin-10-spring-demo-application-world-cup-rusia-2018-stats/">our team at Flowing Code built a quick, scrappy demo to show off the then-brand-new Vaadin 10&lt;/a>. It was a hackathon project built around the major global football tournament happening in Russia at the time. The app was designed as a live dashboard tracking match fixtures, real-time scores, and group standings.&lt;/p></description></item><item><title>Improving Code Reviews with AI: Our Experience with CodeRabbit</title><link>https://www.flowingcode.com/en/improving-code-reviews-with-ai-our-experience-with-coderabbit/</link><pubDate>Thu, 13 Nov 2025 12:42:55 +0000</pubDate><guid>https://www.flowingcode.com/en/improving-code-reviews-with-ai-our-experience-with-coderabbit/</guid><description>&lt;figure class="wp-block-image size-large">&lt;img alt="" class="wp-image-2110" height="576" loading="lazy" src="https://www.flowingcode.com/images/uploads/2025/10/review-2-1024x576.jpg" width="1024"/>&lt;/figure>
&lt;p class="wp-block-paragraph">It seems like everyone is using &lt;strong>AI&lt;/strong> these days. From chatbots to code generators, the wave of tools promising to make developers’ lives easier keeps growing. At Flowing Code, we wanted to see how AI could actually help in our day-to-day work, not just in theory, but in practice. After some investigations and considerations on what could be improved in our daily tasks, we decided to dive into the AI world with &lt;a href="https://www.coderabbit.ai/">CodeRabbit&lt;/a>, a tool designed to help &lt;strong>review Pull Requests&lt;/strong>.&lt;/p></description></item></channel></rss>