<?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: Pavlo Lykhovyd</title>
    <description>The latest articles on DEV Community by Pavlo Lykhovyd (@pavloicsa).</description>
    <link>https://dev.to/pavloicsa</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%2F3470723%2Fdb67406f-075e-45e1-a263-52122e90ee36.jpg</url>
      <title>DEV Community: Pavlo Lykhovyd</title>
      <link>https://dev.to/pavloicsa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pavloicsa"/>
    <language>en</language>
    <item>
      <title>Kiroween Hackathon: Resurrecting Punch Cards and Discovering Exciting New Experiences with My Old Friend, Kiro IDE</title>
      <dc:creator>Pavlo Lykhovyd</dc:creator>
      <pubDate>Thu, 06 Nov 2025 07:35:42 +0000</pubDate>
      <link>https://dev.to/pavloicsa/kiroween-hackathon-resurrecting-punch-cards-and-discovering-exciting-new-experiences-with-my-old-4h3</link>
      <guid>https://dev.to/pavloicsa/kiroween-hackathon-resurrecting-punch-cards-and-discovering-exciting-new-experiences-with-my-old-4h3</guid>
      <description>&lt;p&gt;To begin with, I must admit that my acquaintance with &lt;strong&gt;Kiro&lt;/strong&gt; started earlier this year during the &lt;strong&gt;Code with Kiro&lt;/strong&gt; hackathon. Being skeptical of this freshly released AI-driven IDE, I completely changed my mind by the end of my journey. Every update made &lt;strong&gt;Kiro&lt;/strong&gt; better, and I felt that it is transforming from somewhat buggish and slow-to-react coding assistant into a powerful and smart coding environment. Today, to be honest, I use &lt;strong&gt;Kiro&lt;/strong&gt; IDE instead of my first love – VS Code. Thank God, &lt;strong&gt;Kiro&lt;/strong&gt; has almost the same user-friendly interface as it is a fork of VS Code! But let’s move to the main topic – my participation in &lt;strong&gt;Kiroween&lt;/strong&gt; hackathon.&lt;br&gt;
When the hackathon was announced on October 31st, I was excited to join as a participant. This hackathon, in my opinion, is much more difficult than the first one. The tasks provide less freedom for ideas and require a more robust approach and greater knowledge. Besides, you must have good imagination to come up with fascinating ideas about resurrecting some obsolete tech, or creating a spooky app with beautiful designs, or combine several unrelated technologies, etc. I spent almost the entire day trying to come up with an idea for this hackathon. Finally, my choice fell upon resurrecting the punch cards. Most young people may not even know what they are. But I was born in the early 90s, and I remember playing with punch cards when my mother brought them home from work. Later I learned that these tricky-looking cards contained program codes that were used in the factory to control machines. Nostalgic memories made me feel that it would be a good idea to bring this technology back to life. So, the decision was made. Now the main task – to implement the resurrection process using &lt;strong&gt;Kiro’s&lt;/strong&gt; capabilities.&lt;br&gt;
First of all, I changed the model to Claude Sonnet 4.5, which is my go-to model for coding (&lt;strong&gt;Img. 1&lt;/strong&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%2Fl1ksluxsmu1fqdlp90oe.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%2Fl1ksluxsmu1fqdlp90oe.png" alt=" " width="720" height="189"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 1. Claude Sonnet 4.5 - my strong recommendation to get the best results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then I started asking &lt;strong&gt;Kiro&lt;/strong&gt; if it knew what a punch card is (&lt;strong&gt;Img. 2&lt;/strong&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%2Fnjh5uoe42wgrtcbzn7bq.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%2Fnjh5uoe42wgrtcbzn7bq.png" alt=" " width="714" height="869"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 2. Dialogue with Kiro about punch cards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Surprisingly, &lt;strong&gt;Kiro&lt;/strong&gt; knew much about the technology 😉.&lt;br&gt;
Therefore, my next step was to give &lt;strong&gt;Kiro&lt;/strong&gt; the hackathon task in the resurrection category. &lt;strong&gt;Kiro&lt;/strong&gt; thought for a few seconds and provided me with a well-structured response, suggesting the brilliant idea of building a VS Code extension called &lt;em&gt;PunchCard Studio&lt;/em&gt; to bring this technology back to life.&lt;br&gt;
After making some corrections, I asked &lt;strong&gt;Kiro&lt;/strong&gt; to create specifications for building our extension (&lt;strong&gt;Img. 3&lt;/strong&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%2Fnjgdg3xy4b6e9a16v90b.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%2Fnjgdg3xy4b6e9a16v90b.png" alt=" " width="705" height="186"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 3. Creating specs for our VS Code extension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kiro&lt;/strong&gt; provided a detailed &lt;em&gt;requirements.md&lt;/em&gt; file. After some minor edits, it satisfied me perfectly, and we moved on to the design and task formation steps (&lt;strong&gt;Img. 4&lt;/strong&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%2Fzow5ry8jkrf0cf5mx9lo.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%2Fzow5ry8jkrf0cf5mx9lo.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 4. Specs for &lt;em&gt;PunchCard Studio&lt;/em&gt; VS Code extension development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When the tasks were ready and task 1 (in which &lt;strong&gt;Kiro&lt;/strong&gt; set up the project) was completed, I asked &lt;strong&gt;Kiro&lt;/strong&gt; to create steering documents to enhance the building process (&lt;strong&gt;Img. 5&lt;/strong&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%2F7bvza0t5vc008k3bjma2.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%2F7bvza0t5vc008k3bjma2.png" alt=" " width="439" height="377"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 5. Creating steering documents&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I strongly recommend not neglecting the creation of steering documentation— it will save you time, effort, and tokens later during development. Then we started building, and step by step, &lt;strong&gt;Kiro&lt;/strong&gt; solved the tasks one by one. Sometimes, to be honest, my own developer knowledge was required to resolve complex issues that &lt;strong&gt;Kiro&lt;/strong&gt; couldn’t handle on its own (&lt;strong&gt;Img. 6&lt;/strong&gt;). But in general, 90% of the work was performed by &lt;strong&gt;Kiro&lt;/strong&gt; without my manual intervention, and I must admit that this is a significant improvement, considering that other IDEs and earlier versions of &lt;strong&gt;Kiro&lt;/strong&gt; solved only about 60–70% of tasks without manual coding.&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%2Fzmqg79uoogcxio7xoviw.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%2Fzmqg79uoogcxio7xoviw.png" alt=" " width="800" height="245"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 6. Sometimes, Kiro failed to resolve complex issues. But that was extremely rare&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As a result, we built a beautiful, professional-looking extension for VS Code, which was successfully installed and tested in &lt;strong&gt;Kiro&lt;/strong&gt; IDE right away (&lt;strong&gt;Img. 7&lt;/strong&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%2Fc4mwv1l3y6h1ey7drfc2.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%2Fc4mwv1l3y6h1ey7drfc2.png" alt=" " width="800" height="352"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 7. Welcome screen of the &lt;em&gt;PunchCard Studio&lt;/em&gt; extension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During the testing period, I found several bugs in the extension and I told &lt;strong&gt;Kiro&lt;/strong&gt; to fix them. After several fixes, the extension finally worked as expected. Then we improved the extension’s computational efficiency by simplifying the punch card viewer, making it run faster and more smoothly.&lt;br&gt;
The next (and final) step was to publish the extension in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=PavloLykhovyd.punchcard-studio" rel="noopener noreferrer"&gt;VS Code marketplace&lt;/a&gt; and on &lt;a href="https://github.com/PavloICSA/punchcardstudio" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, so that everyone could learn about punch card technology and gain a unique personal experience with this outdated, but extremely important, technology.&lt;br&gt;
&lt;strong&gt;Kiro&lt;/strong&gt; helped me push my repo to &lt;em&gt;GitHub&lt;/em&gt;, and then I manually published my extension in the &lt;em&gt;VS Code&lt;/em&gt; marketplace without any trouble (&lt;strong&gt;Img. 8&lt;/strong&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%2Fwupre0lke3uypjw3k6qv.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%2Fwupre0lke3uypjw3k6qv.png" alt=" " width="768" height="756"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Img. 8. &lt;em&gt;PunchCard Studio&lt;/em&gt; in the VS Code marketplace&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope this extension will be highly useful for programmers and learners, and that &lt;strong&gt;Kiro&lt;/strong&gt; will continue to delight developers with its functionality!&lt;/p&gt;

</description>
      <category>kiro</category>
    </item>
    <item>
      <title>How Kiro Replaced a Team of Developers: Building a Client-Side ML Platform with an AI-Driven IDE</title>
      <dc:creator>Pavlo Lykhovyd</dc:creator>
      <pubDate>Sun, 31 Aug 2025 08:26:43 +0000</pubDate>
      <link>https://dev.to/pavloicsa/how-kiro-replaced-a-team-of-developers-building-a-client-side-ml-platform-with-an-ai-driven-ide-2h5a</link>
      <guid>https://dev.to/pavloicsa/how-kiro-replaced-a-team-of-developers-building-a-client-side-ml-platform-with-an-ai-driven-ide-2h5a</guid>
      <description>&lt;p&gt;My journey with Kiro started when I first saw the announcement on DevPost that Amazon had launched a new low/no-code hackathon. I am new to such events, but I was interested in participating because, as a beginner self-taught developer, I was curious to gain experience, especially in the field of AI-driven software and web development. At that time, I knew almost nothing about Kiro itself, but I had some experience with so-called ‘vibe coding’ using other tools and VS Code forks. However, using AI coding assistants mainly satisfied me in terms of code autocomplete. I always failed to build something meaningful without manual intervention in the AI-generated code. This challenge, which foresaw the usage of Kiro as the main driving force of product development from scratch, aroused an intriguing question: Can Kiro offer something better, something more solid and production-ready, or is it just another representative of coding assistants, suitable only for autocomplete and primitive tasks?&lt;/p&gt;

&lt;p&gt;Having these questions in my mind, I applied for the hackathon and, with great curiosity, I went to Kiro’s website to download and install the IDE. How surprised I was when I received the message that I was unable to start using Kiro and was added to the waitlist! It was somewhat frustrating, as I was eager to start my journey with Kiro instantly. But I had to wait. And the longer I waited, the greater my anxiety rose. Finally, after a couple of weeks or so, my access code arrived, and I got full access to the IDE.&lt;/p&gt;

&lt;p&gt;First of all, I liked the UI of Kiro (Fig. 1). To be honest, I was so happy to see that Kiro was built as a VS Code fork because the latter has been my primary IDE for the last year. It was extremely helpful that Kiro kindly asked me whether I would like to import all my preferences and extensions from VS Code, and I happily clicked ‘Yes’! Now, I was done with setting Kiro up and was ready to build.&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%2Fpnlyc3q1f6hlb8w0twcu.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%2Fpnlyc3q1f6hlb8w0twcu.png" alt=" " width="775" height="419"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Fig. 1. Kiro’s UI is extremely familiar and native for all VS Code users&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But what shall I build?&lt;br&gt;
I did not want to create something just for the hackathon. I wanted to create a product that would be meaningful and of great use. Looking through the main categories of the hackathon, I decided to go for a wildcard/freestyle development. Finally, an idea came to my mind: I will develop a client-side web platform for machine learning (ML) data analysis.&lt;br&gt;
As a scientist, I am well aware of how most of my colleagues struggle with data analysis using artificial neural networks, time series forecasting, or performing clusterization, etc. As they are not familiar with mathematical statistics and programming, it is difficult for them to perform ML using R or Python. MS Excel is a good option only for simple statistics, while robust packages like SAS or SPSS require a license purchase and time for mastering. Therefore, the idea was clear – deliver machine learning capabilities through a simple and intuitive client-side web application so that everyone could perform robust neural network-based prediction, clusterization, or time series analysis and forecasting in just a few clicks.&lt;br&gt;
After deciding on the idea, I began my interaction with Kiro to bring it to life. Honestly, I skipped reading Kiro’s documentation. I was familiar with AI coding assistants like Windsurf and thought Kiro was not very different. In general, I was right, but when I started working on web app development, I realized how mistaken I was.&lt;br&gt;
Initially, it took me a lot of time to clearly distinguish between vibe, spec, and hook requests. The concept was clear immediately, but efficient use came only after a week’s experience with Kiro. My first attempt at building the client-side web ML platform failed. I built it, and the functionality was generally alright, but then I decided to improve the app’s UI/UX. The prompts I used in vibe mode for this task broke the entire app. I failed to correct the errors and resurrect my app (the revert feature was not available at that time), so I started from scratch.&lt;br&gt;
Now I have learned the major differences in use cases between vibe and spec requests. I used an initial vibe prompt, extremely detailed and comprehensive, to build a skeleton of my ML app. Using the prompt with extremely detailed information on implementation, including the tech stack and script examples, helped me a lot at this step. The app was functioning, but now I had to do the main work – make it beautiful, smooth, clear, extend its functionality, and add Ukrainian localization for my colleagues from Ukraine.&lt;br&gt;
Before polishing the app, I asked Kiro to create steering documentation, and it performed this task well. After that, I created a spec for the app's rebranding. Generally, I tended to use vibe requests, but now I know that Kiro performs better with comprehensive tasks that require an all-around rebuilding of the app, using specs. So, I used specs to successfully implement the tasks of adding time series forecasting and random forest algorithms to my app, as well as thorough Ukrainian localization. As for hooks, I used just a few to automatically update documentation and clean up the project (Fig. 2).&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%2Fq7eddxxdofe7syzy334n.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%2Fq7eddxxdofe7syzy334n.png" alt=" " width="747" height="1134"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Fig. 2. Specs, hooks and steering of my NetCraft AI application&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the things I liked best was that Kiro allowed editing requirements, design, and task lists in specs. Besides, I was really satisfied with its performance in QA testing of the application, as Kiro built reasonable and robust verification tests at each step of new code implementation.&lt;br&gt;
Finally, several days were spent with vibes to improve the application quality and fix minor bugs and UI/UX issues. Then, a robust QA assessment took place. The NetCraft AI app I have built performs great, in my opinion, and I hope it will be of use and assistance to my colleagues-scientists (Fig. 3). You may also try it if you like by following this link &lt;a href="https://netcraft-ai-aa274.web.app/" rel="noopener noreferrer"&gt;&lt;em&gt;NetCraft AI&lt;/em&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%2F76i6evsqt8rb3jodfrqy.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%2F76i6evsqt8rb3jodfrqy.png" alt=" " width="800" height="398"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Fig. 3. Landing page of NetCraft AI web app built with Kiro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To sum up, it was a great experience to use Kiro for building the ML web app from scratch using minimal manual coding. My skepticism about Kiro transformed into admiration, and I really liked this IDE. I hope that further updates will only improve Kiro’s performance and extend its functionality! Kiro has the power to replace a whole crew of developers by itself!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>kiro</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
