<?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: Girish Bhatia</title>
    <description>The latest articles on DEV Community by Girish Bhatia (@bhatiagirish).</description>
    <link>https://dev.to/bhatiagirish</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%2F1139817%2F2522ebfb-4043-4871-b5ab-f3a761acdb22.jpeg</url>
      <title>DEV Community: Girish Bhatia</title>
      <link>https://dev.to/bhatiagirish</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bhatiagirish"/>
    <language>en</language>
    <item>
      <title>Kiro Did It: Build a Simple Portfolio Website with Kiro IDE | From Prompt to HTML Prototype</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Mon, 25 May 2026 02:04:05 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-build-a-simple-portfolio-website-with-kiro-ide-from-prompt-to-html-prototype-18kc</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-build-a-simple-portfolio-website-with-kiro-ide-from-prompt-to-html-prototype-18kc</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Technology Enthusiast with expertise in delivering customer-focused, business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous articles, I’ve explored several powerful features of Kiro IDE and how it is transforming the way developers build software using agentic AI workflows.&lt;/p&gt;

&lt;p&gt;Some of the areas I’ve covered include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vibe Coding for rapid idea-to-code prototyping&lt;/li&gt;
&lt;li&gt;Spec-Driven Development using structured requirements, design, and task workflows&lt;/li&gt;
&lt;li&gt;Hooks and Steering Documents to guide consistent code generation and developer workflows&lt;/li&gt;
&lt;li&gt;Building real-world applications such as a Customer Lookup API powered by Amazon API Gateway, AWS Lambda, Amazon DynamoDB, and AWS SAM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Through these examples, I’ve demonstrated how developers can build meaningful solutions simply by providing prompts and leveraging Kiro’s intelligent code generation capabilities while still maintaining full control over review, refinement, and deployment.&lt;/p&gt;

&lt;p&gt;Since AI governance is equally important—especially for enterprise adoption, I’ve also shared content on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secure enterprise rollout of Kiro IDE using AWS IAM Identity Center&lt;/li&gt;
&lt;li&gt;AI model, policy, and MCP governance using the Kiro administrative dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this article, I take a simpler but very practical use case:&lt;br&gt;
Using Kiro IDE to build a simple portfolio website using only HTML and CSS, starting from a simple prompt and following Kiro’s spec-driven workflow from requirements to final prototype.&lt;/p&gt;

&lt;p&gt;In this hands-on walkthrough, I used Kiro to create a simple personal portfolio website from a natural language prompt then iteratively refined it using follow-up prompts.&lt;/p&gt;

&lt;p&gt;This is a great beginner-friendly example that demonstrates how Kiro uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requirements.md for understanding intent&lt;/li&gt;
&lt;li&gt;Design.md for defining technical design&lt;/li&gt;
&lt;li&gt;Task.md for execution planning&lt;/li&gt;
&lt;li&gt;Iterative prompts for incremental improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s walk through it.&lt;/p&gt;
&lt;h2&gt;
  
  
  What We Will Build
&lt;/h2&gt;

&lt;p&gt;For this hands-on example, let’s use a simple and practical real-world scenario.&lt;/p&gt;

&lt;p&gt;Imagine you are a software engineer who wants to create a lightweight personal portfolio website to showcase your professional journey and technical work online.&lt;/p&gt;

&lt;p&gt;The goal is to build a simple website that highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Professional Experience — a brief summary of your career journey and domain expertise&lt;/li&gt;
&lt;li&gt;Key Projects — selected projects that demonstrate your technical skills and business impact&lt;/li&gt;
&lt;li&gt;Contact Information — an easy way for recruiters, peers, or collaborators to reach you&lt;/li&gt;
&lt;li&gt;GitHub and Technical Blogs — links to your public code repositories and technical writing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than manually creating HTML and CSS from scratch, I will ask Kiro IDE to generate the entire website prototype using a natural language prompt.&lt;/p&gt;

&lt;p&gt;This makes it a perfect beginner-friendly use case to demonstrate how spec-driven development in Kiro can transform a simple idea into a working website by progressing through:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt → Requirements → Design → Tasks → Code → Review → Refinement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s build it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Start with the Initial Prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As with most workflows in Kiro IDE, everything begins with a natural language prompt.&lt;/p&gt;

&lt;p&gt;The goal here is not to provide detailed technical implementation steps upfront, instead, I clearly describe the business need, expected website structure, and a few technical constraints, then allow Kiro to interpret and translate that into a structured development workflow.&lt;/p&gt;

&lt;p&gt;Here is the initial &lt;strong&gt;prompt&lt;/strong&gt; I provided to Kiro:&lt;/p&gt;

&lt;p&gt;I am a software engineer with 5 years of experience in the financial/banking industry.&lt;/p&gt;

&lt;p&gt;My projects included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creating a customer serving banking website&lt;/li&gt;
&lt;li&gt;a credit card launch project&lt;/li&gt;
&lt;li&gt;a regulatory requirement project&lt;/li&gt;
&lt;li&gt;currently working on a Generative AI customer service chatbot integrated with company knowledge base.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would like to create a portfolio website to showcase my job experience.&lt;/p&gt;

&lt;p&gt;Create a simple website only using HTML.&lt;/p&gt;

&lt;p&gt;Requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Four tabs: About Me, Projects, Contact, and a section to link my GitHub and Technical blogs&lt;/li&gt;
&lt;li&gt;single page website&lt;/li&gt;
&lt;li&gt;no JavaScript&lt;/li&gt;
&lt;li&gt;simple CSS allowed&lt;/li&gt;
&lt;li&gt;no testing framework required&lt;/li&gt;
&lt;li&gt;simple prototype only&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why this prompt works well&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This prompt gives Kiro enough context to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who the user is → a software engineer with banking and AI experience&lt;/li&gt;
&lt;li&gt;What needs to be built → a portfolio website&lt;/li&gt;
&lt;li&gt;How it should look → single-page layout with defined sections&lt;/li&gt;
&lt;li&gt;Technology constraints → HTML + simple CSS only, no JavaScript&lt;/li&gt;
&lt;li&gt;Expected complexity → simple prototype, not a production-grade application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an important concept when working with Kiro: better prompts lead to better specs and cleaner generated code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Confirm if This Is a New Feature or a Bug&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the initial prompt is submitted, Kiro IDE begins by asking an important clarifying question:&lt;/p&gt;

&lt;p&gt;“Is this a new feature or a bug?”&lt;/p&gt;

&lt;p&gt;For this use case, the answer is straightforward:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New Feature&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%2Fc03bvsjilxs9hiszs85a.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%2Fc03bvsjilxs9hiszs85a.png" alt="Image feature" width="797" height="57"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This small step is important because it helps Kiro determine the appropriate workflow path.&lt;/p&gt;

&lt;p&gt;By selecting New Feature, Kiro activates its structured spec-driven development workflow, which guides the implementation through: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements → Design → Tasks → Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This ensures development starts with intent and structure not just immediate code generation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Generate Requirements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The next step is to ask Kiro to begin with requirements.&lt;/p&gt;

&lt;p&gt;Kiro automatically generates a file named:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Example output:&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%2Fjvslg8juqit5io50g6za.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%2Fjvslg8juqit5io50g6za.png" alt="Image reqs" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This step converts a plain English prompt into structured product requirements.&lt;/p&gt;

&lt;p&gt;Instead of immediately jumping to code, Kiro first defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what must be built &lt;/li&gt;
&lt;li&gt;what functionality is required &lt;/li&gt;
&lt;li&gt;what technical boundaries exist &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is one of the biggest strengths of spec-driven development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Generate Technical Design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the requirements are approved, Kiro  moves to the next step in the workflow using the approved requirements as context to generate the technical design.&lt;/p&gt;

&lt;p&gt;Kiro generates:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Example output:&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%2Fyiihch0jyd27t29rlkbb.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%2Fyiihch0jyd27t29rlkbb.png" alt="Image design" width="642" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happened here?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kiro translated business requirements into an implementation blueprint.&lt;/p&gt;

&lt;p&gt;At this stage, we now know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the overall architecture &lt;/li&gt;
&lt;li&gt;the technologies being used &lt;/li&gt;
&lt;li&gt;the major UI components &lt;/li&gt;
&lt;li&gt;expected styling principles &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps reduce ambiguity before code generation begins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Generate Tasks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the technical design is approved, Kiro automatically moves to the next step using the design and requirements as context to generate an implementation plan.&lt;/p&gt;

&lt;p&gt;Kiro produced:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Example output:&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%2Fhcw5r1lxrg0v2xb05nno.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%2Fhcw5r1lxrg0v2xb05nno.png" alt="Image task" width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this is useful&lt;/strong&gt;&lt;br&gt;
This becomes the execution plan.&lt;/p&gt;

&lt;p&gt;Instead of one large generation step, Kiro breaks implementation into manageable tasks making it easier to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;review progress &lt;/li&gt;
&lt;li&gt;adjust individual tasks &lt;/li&gt;
&lt;li&gt;iterate safely
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Kiro Creates the Files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once requirements, design, and tasks are approved, Kiro starts execution.&lt;/p&gt;

&lt;p&gt;Generated specification files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;requirements.md&lt;/li&gt;
&lt;li&gt;design.md&lt;/li&gt;
&lt;li&gt;task.md&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.amazonaws.com%2Fuploads%2Farticles%2Fvvz5acocp05i1vbucnwp.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%2Fvvz5acocp05i1vbucnwp.png" alt="Image threefiles" width="799" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Kiro executes the tasks and creates the actual website files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;index.html&lt;/li&gt;
&lt;li&gt;style.css&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.amazonaws.com%2Fuploads%2Farticles%2Fw585la9rhrefs70umgja.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%2Fw585la9rhrefs70umgja.png" alt="Image twooutputfiles" width="800" height="93"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this point, the first working prototype is complete.&lt;/p&gt;

&lt;p&gt;Without manually writing a single line of code, we now have a functional single-page portfolio website generated directly from a prompt. &lt;/p&gt;

&lt;p&gt;That’s the power of agentic development with Kiro IDE.&lt;/p&gt;

&lt;p&gt;At this stage, the prototype is complete.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initial Website Layout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once Kiro completed the implementation tasks, the first version of the portfolio website was generated.&lt;/p&gt;

&lt;p&gt;The initial prototype included the following sections:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Me&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A concise summary highlighting professional experience in the banking and software industry, along with recent work in Generative AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A dedicated section showcasing key projects, including:&lt;/li&gt;
&lt;li&gt;Customer banking website &lt;/li&gt;
&lt;li&gt;Credit card launch initiative&lt;/li&gt;
&lt;li&gt;Regulatory requirements project &lt;/li&gt;
&lt;li&gt;Generative AI customer service chatbot &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Contact&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A simple contact section containing an email address and a LinkedIn placeholder for future updates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A section with external links to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub profile &lt;/li&gt;
&lt;li&gt;Technical blog site &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below is the initial website generated by Kiro IDE:&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%2Fz8is5yozuz6f1uv5663q.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%2Fz8is5yozuz6f1uv5663q.png" alt="Image createdwebsite" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Iterative Improvements Using Follow-Up Prompts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where Kiro IDE  acts as your coding partner. &lt;/p&gt;

&lt;p&gt;Once the initial prototype is generated, you can continue refining the application using simple follow-up prompts—without manually editing files or searching through code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update #1: Change Email Address&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt:&lt;/strong&gt; update email under contact section to &lt;a href="mailto:xxxxxx@cloudwithgirish.com"&gt;xxxxxx@cloudwithgirish.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro identifies the relevant section and updates only the Contact section.&lt;/p&gt;

&lt;p&gt;No manual file search or code edits required, just a simple prompt-driven change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update #2: Convert Vertical Skills to Horizontal Layout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the initial design, the Key Skills section used vertical bullet points, which consumed too much screen space.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt:&lt;/strong&gt; key skills taking too much space, rather than vertical bullets, make it horizontal bullets &lt;/p&gt;

&lt;p&gt;Kiro automatically updated both the HTML structure and CSS styling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before &amp;amp; After&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%2Fpl6ie7muww5vqyvlh2ef.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%2Fpl6ie7muww5vqyvlh2ef.png" alt="Image beforeandafter" width="799" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This small update significantly improved the layout by making the skills section cleaner, more compact, and visually easier to scan.&lt;/p&gt;

&lt;p&gt;This demonstrates the real value of iterative development with Kiro: small prompt, targeted change, immediate improvement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this article, we used Kiro IDE to build a simple portfolio website and demonstrated how spec-driven development can transform a plain English prompt into a working HTML prototype.&lt;/p&gt;

&lt;p&gt;By combining structured requirements, technical design, task-driven execution, and iterative follow-up prompts, we moved seamlessly from idea to implementation without manually writing the initial code.&lt;/p&gt;

&lt;p&gt;This example highlights the power of agentic development workflows, where AI moves beyond simple code generation and becomes an active participant in the software development lifecycle helping define requirements, design solutions, execute tasks, and support iterative refinement.&lt;/p&gt;

&lt;p&gt;Whether you are building simple websites, prototyping internal tools, or developing enterprise applications, Kiro IDE provides a practical and structured way to accelerate development while keeping developers in control.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this article insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

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

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;/p&gt;

&lt;p&gt;𝘈𝘞𝘚 𝘊𝘰𝘮𝘮𝘶𝘯𝘪𝘵𝘺 𝘉𝘶𝘪𝘭𝘥𝘦𝘳 | 𝘈𝘐 𝘌𝘯𝘨𝘪𝘯𝘦𝘦𝘳𝘪𝘯𝘨&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘊𝘭𝘰𝘶𝘥 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>aws</category>
      <category>kiro</category>
    </item>
    <item>
      <title>Deploying Kiro IDE Securely in the Enterprise: Identity, Feature Controls, and AI Governance!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sat, 14 Mar 2026 02:50:02 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/deploying-kiro-ide-securely-in-the-enterprise-identity-feature-controls-and-ai-governance-ehp</link>
      <guid>https://dev.to/bhatiagirish/deploying-kiro-ide-securely-in-the-enterprise-identity-feature-controls-and-ai-governance-ehp</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast with expertise in delivering customer-focused, business-impacting cloud transformation programs of high complexity.&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%2F09sz6r2r5ij70iowk385.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%2F09sz6r2r5ij70iowk385.png" alt="Image gbkiro" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my previous articles, I’ve shared many features of Kiro IDE, such as vibe coding, spec-driven development, hooks, steering documents, and building CRUD APIs like a Customer Lookup API powered by Amazon API Gateway, AWS Lambda, Amazon DynamoDB, and AWS SAM. I’ve also shown how you can build solutions by simply providing prompts and letting Kiro’s code generation capabilities generate the code while you control the reviews and deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On March 12, 2026,&lt;/strong&gt; AWS Kiro announced additional enterprise capabilities that further secure Kiro rollouts. These new features allow administrators to control which AI models are available to developers and manage which MCP integrations are allowed in enterprise environments.&lt;/p&gt;

&lt;p&gt;While I was already using AWS Kiro through AWS IAM Identity Center and was familiar with many existing controls such as disabling web search, disabling MCP entirely, and enabling user activity reports, these new features encouraged me to write this article about secure enterprise deployment of Kiro.&lt;/p&gt;

&lt;p&gt;A key question I often hear is: &lt;strong&gt;How do we securely deploy Kiro at scale?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The answer lies in combining identity governance, feature hardening, monitoring, and human oversight.&lt;/p&gt;

&lt;p&gt;In this article, I will walk through key security controls available in the Kiro administrative dashboard and the AWS ecosystem that help organizations deploy Kiro safely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Identity First: Secure Kiro Access with IAM Provisioning
&lt;/h2&gt;

&lt;p&gt;The foundation of any enterprise deployment is controlled access.&lt;br&gt;
Organizations should provision Kiro access through AWS IAM Identity Center or an enterprise identity provider such as Okta.&lt;/p&gt;

&lt;p&gt;Provisioning Kiro via AWS IAM Identity Center or Okta ensures that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single Sign-On (SSO) is enforced&lt;/li&gt;
&lt;li&gt;Multi-Factor Authentication (MFA) is enabled&lt;/li&gt;
&lt;li&gt;Least-privilege permission sets are applied&lt;/li&gt;
&lt;li&gt;Only approved AWS roles and accounts have access to Kiro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This approach provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Centralized user subscription management&lt;/li&gt;
&lt;li&gt;Controlled onboarding and offboarding&lt;/li&gt;
&lt;li&gt;Consistent enforcement of enterprise access policies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, identity-based access ensures that AI development tools remain secure and governed across the organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disable Code Reference Suggestions
&lt;/h2&gt;

&lt;p&gt;By default, AI suggestions may reference external code patterns.&lt;br&gt;
Enterprises often choose to disable this feature to avoid:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source licensing concerns&lt;/li&gt;
&lt;li&gt;External code ingestion risks&lt;/li&gt;
&lt;li&gt;Potential intellectual property exposure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kiro’s enterprise settings allow administrators to disable code reference suggestions, ensuring that generated code is produced internally rather than referencing external codebases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disable Model Context Protocol (MCP)
&lt;/h2&gt;

&lt;p&gt;The Model Context Protocol (MCP) allows AI agents to connect with external tools and contextual data sources.&lt;br&gt;
While powerful, it may introduce risks such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unapproved integrations&lt;/li&gt;
&lt;li&gt;Data leakage to external systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kiro enterprise settings allow administrators to disable MCP completely.&lt;/p&gt;

&lt;p&gt;However, with the March 12, 2026 update, enterprises now have more flexibility. Instead of fully disabling MCP, administrators can control which MCP integrations are allowed through Kiro admin settings.&lt;/p&gt;

&lt;p&gt;This provides fine-grained governance over external tool integrations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disable Web Search and Web Fetch Tools
&lt;/h2&gt;

&lt;p&gt;Kiro agents can optionally access real-time internet tools.&lt;br&gt;
For enterprises operating under strict compliance frameworks, this may be undesirable.&lt;/p&gt;

&lt;p&gt;Kiro admin settings allow organizations to disable web search and web fetch tools.&lt;/p&gt;

&lt;p&gt;By disabling these features, enterprises can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prevent external data access&lt;/li&gt;
&lt;li&gt;Reduce potential data leakage&lt;/li&gt;
&lt;li&gt;Maintain regulatory compliance boundaries&lt;/li&gt;
&lt;li&gt;Model Availability Governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kiro administrators can control which AI models are available to developers.&lt;/p&gt;

&lt;p&gt;This capability announced on March 12, 2026 is an important governance feature that allows organizations to restrict model usage to an approved list of models.&lt;/p&gt;

&lt;p&gt;This helps ensure that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers only use approved enterprise models&lt;/li&gt;
&lt;li&gt;Experimental or unapproved models are not used in production environments&lt;/li&gt;
&lt;li&gt;AI usage aligns with internal governance policies&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Disable Overage Usage
&lt;/h2&gt;

&lt;p&gt;If not properly controlled, AI usage can scale rapidly across teams.&lt;br&gt;
Kiro includes a safeguard that prevents usage from exceeding defined limits.&lt;/p&gt;

&lt;p&gt;Organizations can protect their AI budget by disabling overage usage, ensuring that developers cannot continue using Kiro after reaching the configured monthly limits.&lt;/p&gt;

&lt;p&gt;This provides predictable cost management and financial governance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitor with CloudTrail and CloudWatch
&lt;/h2&gt;

&lt;p&gt;In addition to Kiro dashboard controls, AWS-native monitoring should also be enabled.&lt;/p&gt;

&lt;p&gt;Services such as AWS CloudTrail and Amazon CloudWatch provide tracking and operational monitoring for Kiro usage.&lt;/p&gt;

&lt;p&gt;These services can help track:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Administrative configuration changes&lt;/li&gt;
&lt;li&gt;Access activity&lt;/li&gt;
&lt;li&gt;Usage patterns&lt;/li&gt;
&lt;li&gt;Operational events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they create a complete visibility layer for Kiro operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Governance Features
&lt;/h2&gt;

&lt;p&gt;There are several additional features that organizations can configure to strengthen governance, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User activity reports&lt;/li&gt;
&lt;li&gt;Exporting activity reports to an Amazon S3 bucket&lt;/li&gt;
&lt;li&gt;Prompt logging for auditing and security analysis&lt;/li&gt;
&lt;li&gt;Establishing internal policies for Supervised Mode usage within Kiro IDE&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These capabilities help organizations maintain auditability, compliance, and responsible AI usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  See It in Action
&lt;/h2&gt;

&lt;p&gt;From my own Kiro account provisioned through AWS IAM Identity Center, here is a view of how some of these administrative settings appear.&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%2Fbz4ib2btyw566rfgpv2y.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%2Fbz4ib2btyw566rfgpv2y.jpg" alt="Image kirosettings" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, many of these controls are simple to configure using on/off toggles within the Kiro administrative dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I explored how enterprises can deploy Kiro IDE securely at scale by combining identity governance, feature controls, monitoring, and operational guardrails.&lt;/p&gt;

&lt;p&gt;Using AWS IAM Identity Center with Kiro enables secure, centralized team subscriptions and scalable access management across your organization. This approach removes the burden of individual account management from developers and IT teams, allowing them to focus on building, collaborating, and delivering high-value solutions.&lt;/p&gt;

&lt;p&gt;Whether you’re provisioning users, organizing groups, assigning subscriptions, or enforcing MFA, IAM Identity Center acts as an enterprise-grade access manager, ensuring that every team member has the right permissions without manual overhead.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this article insightful.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘊𝘭𝘰𝘶𝘥 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
    </item>
    <item>
      <title>How to Set Up a Kiro Team Subscription Using AWS IAM Identity Center!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Wed, 18 Feb 2026 02:20:41 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/how-to-set-up-a-kiro-team-subscription-using-aws-iam-identity-center-22hk</link>
      <guid>https://dev.to/bhatiagirish/how-to-set-up-a-kiro-team-subscription-using-aws-iam-identity-center-22hk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Quick Update:&lt;/strong&gt; &lt;em&gt;Since publishing this article, AWS has expanded Kiro SSO capabilities. Beginning with Kiro IDE version 0.9.40 (released February 12, 2026), organizations can now integrate external identity providers such as Okta and Microsoft Entra ID, in addition to AWS IAM Identity Center. This allows developers to sign in using their existing corporate credentials while giving enterprises more flexibility in identity management. The walkthrough below continues to focus on IAM Identity Center, but organizations now have additional SSO options depending on their enterprise identity platform.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast with expertise in delivering customer-focused, business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous article, I shared how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by Amazon API Gateway, AWS Lambda, Amazon DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;In another article, I explored Kiro hooks using a simple HelloWorld Python program. I demonstrated how hooks can automatically update a README.md file whenever the Python code is modified.&lt;/p&gt;

&lt;p&gt;There is so much more you can do with Kiro. However, first things first, you need to log in to Kiro to start building creative, GenAI-assisted solutions.&lt;/p&gt;

&lt;p&gt;Kiro provides multiple ways to log in and set up a subscription:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log in / subscribe using Google&lt;/li&gt;
&lt;li&gt;Log in / subscribe using GitHub&lt;/li&gt;
&lt;li&gt;Log in / subscribe using AWS Builder ID&lt;/li&gt;
&lt;li&gt;Log in / subscribe using your organization’s Single Sign-On (SSO)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first three options are individual subscription models. This means you sign up independently and pay monthly based on the plan you select.&lt;/p&gt;

&lt;p&gt;The Organization Single Sign-On option is designed for team-based access. In this model, your account is provisioned by your cloud administrator, and you are provided with a dedicated login URL. This enables centralized access management and consolidated billing.&lt;/p&gt;

&lt;p&gt;In this article, I will walk you through the step-by-step process of configuring Kiro using a Team subscription, enabled through AWS IAM Identity Center.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an Organization (Team / Enterprise) Subscription?
&lt;/h2&gt;

&lt;p&gt;This option is used when your company centrally manages access using AWS IAM Identity Center. In this model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kiro subscriptions are managed at the organizational level&lt;/li&gt;
&lt;li&gt;Users and groups are provisioned in advance&lt;/li&gt;
&lt;li&gt;You must sign in using a company-specific URL&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Is AWS IAM Identity Center?
&lt;/h2&gt;

&lt;p&gt;AWS IAM Identity Center is a centralized identity management service that enables organizations to manage workforce access to AWS accounts and cloud applications.&lt;/p&gt;

&lt;p&gt;It allows administrators to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create or connect user identities&lt;/li&gt;
&lt;li&gt;Organize users into groups&lt;/li&gt;
&lt;li&gt;Assign permissions across multiple AWS accounts&lt;/li&gt;
&lt;li&gt;Enable Single Sign-On (SSO) for supported applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the context of Kiro, AWS IAM Identity Center enables secure, centralized access management and subscription control for teams and enterprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  Individual vs Team / Organization Subscription
&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%2F9io2oyqe6ksopeosy20v.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%2F9io2oyqe6ksopeosy20v.png" alt="Image individualteam"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture/Design
&lt;/h2&gt;

&lt;p&gt;At a high level, the architecture/Flow diagram as below:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AWS IAM Identity Center --&amp;gt; Kiro Team Subscription --&amp;gt; Kiro Login using org SSO&lt;/em&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%2Fh1puth5ximqs69yw3z8g.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%2Fh1puth5ximqs69yw3z8g.png" alt="Image archdesign"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step: Configuring Kiro Team Subscription
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enable IAM Identity Center&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search for IAM Identity Center&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the AWS Management Console, type IAM Identity Center and open the service.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Faol9xiag28aa6do2v9de.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%2Faol9xiag28aa6do2v9de.png" alt="Image iamservice"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Enable Identity Center&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Enable to activate IAM Identity Center.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Fvjr5nmxza3i73fmrxr06.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%2Fvjr5nmxza3i73fmrxr06.png" alt="Image enableiam"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose a Region&lt;/li&gt;
&lt;li&gt;Select the AWS region where Identity Center will be managed.&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.amazonaws.com%2Fuploads%2Farticles%2F4wepgvvadrkoce37o495.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%2F4wepgvvadrkoce37o495.png" alt="Image iamregion"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a Group for Kiro Users&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to Groups&lt;/li&gt;
&lt;li&gt;Click Create group&lt;/li&gt;
&lt;li&gt;Enter group name:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will name it as kiro_dev_group&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%2Fk5erbqmg1hcjk27isc6y.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%2Fk5erbqmg1hcjk27isc6y.png" alt="Image creategroup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create a User and Assign to the Group&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create the User&lt;/p&gt;

&lt;p&gt;Go to Users → Add user&lt;/p&gt;

&lt;p&gt;Enter Username, Email, First &amp;amp; Last Name&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign User to Group&lt;/li&gt;
&lt;li&gt;Assign to kiro_dev_group&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.amazonaws.com%2Fuploads%2Farticles%2Frhh5j3sk9bbvc8c1p7m5.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%2Frhh5j3sk9bbvc8c1p7m5.png" alt="Image adduser"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review and Create&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confirm details and create the user&lt;/li&gt;
&lt;li&gt;Review confirmation message&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.amazonaws.com%2Fuploads%2Farticles%2F002sciymeg4jk853xb6p.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%2F002sciymeg4jk853xb6p.png" alt="Image msg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Review Email and Complete User Setup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check Invitation Email&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%2F64s89k08ljlgiq6bwltm.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%2F64s89k08ljlgiq6bwltm.png" alt="Image reademail"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set Password and Configure MFA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Click the email link, set password, and configure MFA&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%2Fslxkt0vqe9mfx53gv4ug.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%2Fslxkt0vqe9mfx53gv4ug.png" alt="Image mfa"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ User and group setup complete&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Enable Kiro Subscription&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the Kiro Subscription Page&lt;br&gt;
Open the Kiro admin or subscription page.&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%2F2430kvgzr14537a8m2n6.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%2F2430kvgzr14537a8m2n6.png" alt="Image kiropage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review Pricing and Select Plan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For this walkthrough:&lt;br&gt;
Select Pro (or Enterprise based on your org)&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%2Fkrguzn0lrnyg2fhxo7ym.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%2Fkrguzn0lrnyg2fhxo7ym.png" alt="Image kiropricing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enable Kiro&lt;/p&gt;

&lt;p&gt;Activate Kiro for your organization.&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%2F6w362dj8la71f3uzstbl.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%2F6w362dj8la71f3uzstbl.png" alt="Image welcomekiro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Assign Users or Groups to Kiro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of individual users, assign the group.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click Add users or groups&lt;/li&gt;
&lt;li&gt;Select the subscription plan&lt;/li&gt;
&lt;li&gt;Choose: kiro_dev_group&lt;/li&gt;
&lt;li&gt;Assign the group&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.amazonaws.com%2Fuploads%2Farticles%2F7ee4dso0w0j9s7be1r2u.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%2F7ee4dso0w0j9s7be1r2u.png" alt="Image assigntokiro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Review Organization Sign-In URL&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After configuration, note the IAM Identity Center sign-in URL:&lt;br&gt;
&lt;a href="https://xxxxxxxxxx.awsapps.com/start" rel="noopener noreferrer"&gt;https://xxxxxxxxxx.awsapps.com/start&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%2F7a7ulpw9nwmctpi784gp.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%2F7a7ulpw9nwmctpi784gp.png" alt="Image signinurl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Sign In to Kiro Using Organization Login&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Kiro IDE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the login screen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select Sign in with your organization&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.amazonaws.com%2Fuploads%2Farticles%2Fqfgmdi2yzv888b08x9qx.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%2Fqfgmdi2yzv888b08x9qx.png" alt="Image kirologin"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enter Organization URL&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Paste your Identity Center URL and continue.&lt;br&gt;
Confirm Access&lt;br&gt;
Authenticate using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IAM Identity Center credentials&lt;/li&gt;
&lt;li&gt;MFA (if prompted)&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.amazonaws.com%2Fuploads%2Farticles%2Fnnm0347n4hzgpjr7dpv2.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%2Fnnm0347n4hzgpjr7dpv2.png" alt="Image kiroaccess"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You are logged in and now part of the Kiro Enterprise Plan&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%2Fgd4cpwxccid0dfl3iwa4.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%2Fgd4cpwxccid0dfl3iwa4.png" alt="Image inkiro"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how using AWS IAM Identity Center with Kiro enables secure, centralized team subscriptions, providing scalable access management for your organization. This setup shifts the burden of individual account management away from developers and IT, allowing teams to focus on building, collaborating, and delivering high-value solutions.&lt;/p&gt;

&lt;p&gt;Whether you’re provisioning users, organizing groups, assigning subscriptions, or configuring MFA, IAM Identity Center acts as your enterprise-grade access manager, ensuring every team member has the right permissions without manual overhead.&lt;/p&gt;

&lt;p&gt;By starting with a single group and gradually scaling to include multiple teams and subscription plans, you can establish a streamlined environment where onboarding, access control, and billing are automated and consistent across your organization.&lt;br&gt;
Experiment with these steps and see how Kiro, combined with IAM Identity Center, transforms team development workflows and simplifies GenAI-assisted coding at scale.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way development happens, and tools like Kiro make this process faster and more collaborative. While managing multiple users and subscriptions may seem complex, IAM Identity Center provides the governance and security your organization needs.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this walkthrough insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
    </item>
    <item>
      <title>Kiro did it: Building a Credit Card Account Status Check Lambda Using the Kiro IDE!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sun, 25 Jan 2026 15:46:33 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-building-a-credit-card-account-status-check-lambda-using-the-kiro-ide-1cjg</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-building-a-credit-card-account-status-check-lambda-using-the-kiro-ide-1cjg</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous articles, I shared various Kiro features like vibe coding, specs driven development, steering docs and hooks.&lt;/p&gt;

&lt;p&gt;I also demonstrated various examples of Kiro use cases like creating a CRUD API, using Kiro to modernize my portfolio web site and using Kiro Powers to create postman collection.&lt;/p&gt;

&lt;p&gt;In this article, I’ll demonstrate how I used the Kiro IDE to build a real-world banking Lambda function - a Credit Card Account Status Check Lambda - and how Kiro’s context-aware, agentic approach helped me go from idea to a clean, test ready implementation for enterprise workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Build and Why?
&lt;/h2&gt;

&lt;p&gt;In my prior posts, I demonstrated various other uses cases of Kiro like creating APIs, UI, Modernize my portfolio website and using Kiro Powers. This time I wanted to build a serverless function that contains business logic and does not integrate with any database. The intent of this function is to have a business function that can be triggered by other events and services as needed by the workflow.&lt;/p&gt;

&lt;p&gt;With this use case in consideration, I build a credit card account status check Lambda function as account status check is a common patter in banking and credit card platforms.&lt;/p&gt;

&lt;p&gt;This Lambda is responsible for determining whether a card account is eligible to process transactions based on signals such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Account status (active vs closed)&lt;/li&gt;
&lt;li&gt;Temporary freezes&lt;/li&gt;
&lt;li&gt;Fraud blocks&lt;/li&gt;
&lt;li&gt;Delinquency thresholds&lt;/li&gt;
&lt;li&gt;Card expiration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This type of logic is typically part of authorization or decisioning workflows, and it’s a great example of pure business logic that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does not require DynamoDB&lt;/li&gt;
&lt;li&gt;Does not require API Gateway&lt;/li&gt;
&lt;li&gt;Can be triggered via events or scheduled checks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I chose this use case intentionally because it allows us to focus on decision logic and architecture, not infrastructure plumbing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Kiro for This?
&lt;/h2&gt;

&lt;p&gt;What makes this exercise interesting is not just &lt;em&gt;&lt;strong&gt;what we’re building&lt;/strong&gt;&lt;/em&gt;, but &lt;em&gt;&lt;strong&gt;how we’re building it&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Instead of starting with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boilerplate SAM templates&lt;/li&gt;
&lt;li&gt;Manual handler code writing&lt;/li&gt;
&lt;li&gt;Trial-and-error refactoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I let Kiro act as my peer engineer, guiding the implementation through prompts, reasoning about the workspace, and generating code that aligned with real-world banking patterns. Kiro not only generated a fully functional code but also create an Infra as Code template to build and deploy the Lambda function using AWS SAM. In addition, it created specs and design for the function as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;At a high level, the architecture is intentionally simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Lambda (Python) for business logic&lt;/li&gt;
&lt;li&gt;AWS SAM for infrastructure as code&lt;/li&gt;
&lt;li&gt;Event-driven invocation (local testing or scheduled execution)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reference Architecture Diagram&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%2Fn2yxbfccpkfyudxf1d3e.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%2Fn2yxbfccpkfyudxf1d3e.png" alt="Image arc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How Kiro and I Built the Lambda
&lt;/h2&gt;

&lt;p&gt;I started by providing Kiro a prompt.&lt;/p&gt;

&lt;p&gt;I explained in detail to Kira the intent of what the Lambda should do and why!&lt;/p&gt;

&lt;p&gt;Here is the exact prompt I used:&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%2F1psz05bc4hltk8ubzpfw.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%2F1psz05bc4hltk8ubzpfw.png" alt="Image prompt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro responded by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evaluating the existing workspace&lt;/li&gt;
&lt;li&gt;Suggesting a clean project structure&lt;/li&gt;
&lt;li&gt;Generating a Python-based Lambda handler&lt;/li&gt;
&lt;li&gt;Creating a SAM template aligned with best practices&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.amazonaws.com%2Fuploads%2Farticles%2Fcsdchq94rw2f91x32pu1.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%2Fcsdchq94rw2f91x32pu1.png" alt="Image res1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What stood out immediately was that Kiro did not blindly generate code.&lt;/p&gt;

&lt;p&gt;It reasoned about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business rules&lt;/li&gt;
&lt;li&gt;Decision paths&lt;/li&gt;
&lt;li&gt;Environment-based configuration&lt;/li&gt;
&lt;li&gt;Security and clarity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The entire experience felt like pair programming with a senior engineer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Business Logic in Action
&lt;/h2&gt;

&lt;p&gt;The Card Account Status Check Lambda evaluates multiple conditions and produces a clear decision outcome:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Approved&lt;/li&gt;
&lt;li&gt;Declined&lt;/li&gt;
&lt;li&gt;Review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kiro created a detailed specs in the form of requirements file. An example shown below:&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%2Fj6i3rypqi9mhmqz2ht7k.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%2Fj6i3rypqi9mhmqz2ht7k.png" alt="Image res"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These specs clearly outline the requirements used by Kiro to build the business function.&lt;/p&gt;

&lt;p&gt;Here is an example of AWS SAM template generated by Kiro:&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%2Fqefq1ur8zbevx1oy6ya0.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%2Fqefq1ur8zbevx1oy6ya0.png" alt="Image template"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the sample function code generated by Kiro:&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%2Fzwqipk7mm00woo4wzmsd.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%2Fzwqipk7mm00woo4wzmsd.png" alt="Image lambda"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the Lambda Locally
&lt;/h2&gt;

&lt;p&gt;Thanks to Kiro as it generated a SAM template. Using SAM, I can test this Lambda function locally by passing multiple test events and Yes, those test JSON was also created by Kiro!&lt;/p&gt;

&lt;p&gt;Multiple JSON test files created by Kiro allowed me to test below scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Active account&lt;/li&gt;
&lt;li&gt;Frozen account&lt;/li&gt;
&lt;li&gt;Fraud-blocked account&lt;/li&gt;
&lt;li&gt;Delinquent account&lt;/li&gt;
&lt;li&gt;Expired card&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example of test case run locally using AWS SAM.&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%2Fyic9sbxy2lfbnwb4llrd.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%2Fyic9sbxy2lfbnwb4llrd.png" alt="Image test"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once fully built, Kiro provided me final status message of the build process confirming and summarizing what all have been built.&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%2Fkyiqt0uk8p04o68trd64.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%2Fkyiqt0uk8p04o68trd64.png" alt="Image msg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The full function build, including test file generation, was completed in about 60 minutes through peer-style prompt refinement with Kiro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how the Kiro IDE can be used to build a real-world Credit Card Account Status Check Lambda—not as a proof of concept, but as a practical, enterprise-aligned implementation.&lt;/p&gt;

&lt;p&gt;What stood out most was the quality of collaboration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kiro reasoned about business intent&lt;/li&gt;
&lt;li&gt;Generated clean, explainable code&lt;/li&gt;
&lt;li&gt;Adapted as requirements evolved&lt;/li&gt;
&lt;li&gt;Responded like a true peer programmer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generative AI isn’t replacing good coding, design or testing practices; it’s enhancing them. And with tools like Kiro, building business functions can feel like working alongside an experienced software engineer who understands your workspace.&lt;/p&gt;

&lt;p&gt;As agentic AI tools continue to mature, capabilities like specs driven development, context-aware reasoning, and explainable outputs will become essential especially in regulated domains like banking.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and tools like Kiro will continue to redefine how we design &amp;amp; build cloud-native systems.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and stay tuned for more hands-on AWS and Kiro content!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Watch the video here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
    </item>
    <item>
      <title>Kiro Did It: Using Powers to Test Your APIs in Postman!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Wed, 17 Dec 2025 02:47:22 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-using-powers-to-test-your-apis-in-postman-2mef</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-using-powers-to-test-your-apis-in-postman-2mef</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous articles, I shared various Kiro features like vibe coding, specs driven development, steering docs and hooks. All these features were available prior to reinvent 2025.&lt;/p&gt;

&lt;p&gt;This time, I am writing about a feature of Kiro that was announced during reinvent 2025. This feature is Kiro Powers!&lt;/p&gt;

&lt;p&gt;I will use Postman Power in Kiro to demonstrate how you can use agentic AI to create API test collection and then use it in Postman to validate your API endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Build and Why?
&lt;/h2&gt;

&lt;p&gt;A few weeks back, I built a CRUD API for customer look up using AWS Kiro. Based on my prompt, Kiro created multiple API endpoints to lookup, create, update and delete customer information. It created a tech stack including API Gateway, Lambda and Dynamo DB. An IaC code using AWS SAM was created as well to build and deploy this solution to AWS Cloud. At that time, I used Postman to validate the API endpoints and created the needed postman collection manually.&lt;/p&gt;

&lt;p&gt;Fast Forward to December, post reinvent 2025, now Kiro supports Powers and one of the powers is Postman Power for which Postman, the creator of the tool, is the creator of this power.&lt;/p&gt;

&lt;p&gt;I decided to try out this Postman power and used the same API endpoints to validate this. With this Postman power in action, Kiro created the entire collection in minutes.&lt;/p&gt;

&lt;p&gt;This wasn’t just a prototype or proof of concept, it was an opportunity to see how Kiro’s AI-driven coding capabilities could help me automate the repetitive tasks of API validation collection creation, thus saving the time and allowing me to focus on ensuring that APIs are built correctly and to the specs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&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%2Fp85uijbjxslh0jmf278o.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%2Fp85uijbjxslh0jmf278o.png" alt="Image arch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Kiro Powers
&lt;/h2&gt;

&lt;p&gt;Kiro Powers are modules created in partnership with developer tool providers to supply tool-specific context and expertise to agentic AI–based development workflows. In simple terms, Powers combine tool-specific MCPs and steering documentation into a single unit that guides the agentic AI with the right context resulting in more accurate responses and higher-quality code or artifact generation.&lt;br&gt;
There are many different Powers available today, including Postman, Figma, Terraform, Stripe, and more.&lt;/p&gt;

&lt;p&gt;In this article, I’ll be using the Postman Power with Kiro to demonstrate how it can generate a complete API collection.&lt;/p&gt;
&lt;h2&gt;
  
  
  How Kiro and I Did It!
&lt;/h2&gt;

&lt;p&gt;I started by providing Kiro a prompt.&lt;/p&gt;

&lt;p&gt;Here’s the exact prompt I used:&lt;/p&gt;

&lt;p&gt;“I have a customer lookup API. Using Postman Powers, create a collection for getCustomer API.”&lt;/p&gt;

&lt;p&gt;That’s it. No schema definitions. No OpenAPI spec. No manual instructions.&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%2Fd4wa0c0qr9lbvfk93t80.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%2Fd4wa0c0qr9lbvfk93t80.png" alt="Image firstresponse"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I found interesting that instead of blindly creating something new, Kiro responded by evaluating my existing workspace. As part of this assessment, it found the Customer Lookup API and confirmed that it will be building the API collection for this Customer Lookup API.&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%2Fax8cm7eow29um779e8sh.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%2Fax8cm7eow29um779e8sh.png" alt="Image secondresponse"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Full CRUD Collection in Minutes
&lt;/h2&gt;

&lt;p&gt;Kiro recognized that my Customer Lookup API includes multiple endpoints such as Get Customer, List Customers, Create Customer, Update Customer, and Delete Customer. It automatically created a Postman API collection for these endpoints, ensuring that each request includes the appropriate parameters and is ready to run.&lt;br&gt;
Here are the API endpoints Kiro created the collection for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get Customer – Retrieve a customer by ID&lt;/li&gt;
&lt;li&gt;List All Customers – Retrieve all customers&lt;/li&gt;
&lt;li&gt;Create Customer – Add a new customer&lt;/li&gt;
&lt;li&gt;Update Customer – Modify an existing customer&lt;/li&gt;
&lt;li&gt;Delete Customer – Remove a customer&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.amazonaws.com%2Fuploads%2Farticles%2Fna02po0jvb344y01icsf.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%2Fna02po0jvb344y01icsf.png" alt="Image collection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro, not only created the collection but also included Environment variables for endpoint portability, it also added API key–based authentication headers.&lt;/p&gt;
&lt;h2&gt;
  
  
  Testing the Collection with Postman
&lt;/h2&gt;

&lt;p&gt;Once Kiro confirmed that the collection had been created, I wanted to test it using Postman.&lt;/p&gt;

&lt;p&gt;However, I couldn’t initially find the collection in my local workspace. Since Kiro was acting as my peer programmer, I decided to ask where the collection had been saved.&lt;/p&gt;

&lt;p&gt;As shown in the screenshot below, Kiro responded just like a true peer programmer, explaining that the collection was saved directly in my Postman environment. This eliminated the extra step of manually importing the collection into Postman and allowed me to start testing immediately.&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%2F7v50wq35ipj1q255i6vw.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%2F7v50wq35ipj1q255i6vw.png" alt="Image collectionlocation "&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  View from the Postman
&lt;/h2&gt;

&lt;p&gt;Here is the view in my Postman environment. I can see this collection in there, it was added by Kiro.&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%2Fk0ymt0a51c8z8nke5jxs.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%2Fk0ymt0a51c8z8nke5jxs.png" alt="Image postmancoll"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get Customer Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the result from Get Customer API invoked using the collection.&lt;/p&gt;

&lt;p&gt;![Image getcust(&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4wpqq3inzh4mabhcb7il.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4wpqq3inzh4mabhcb7il.png&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create Customer Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the result from Create Customer API invoked using the collection.&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%2Fkwjhhspot021h5c8fc83.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%2Fkwjhhspot021h5c8fc83.png" alt="Image createcust"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I run the Get Customer again, I get the updated list including the one customer, I just created.&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%2F678e6v7bfwxvx04r73lt.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%2F678e6v7bfwxvx04r73lt.png" alt="Image allcust"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how Kiro Powers, combined with Postman Powers, can accelerate API development and testing by eliminating repetitive setup work. Instead of spending hours manually creating requests and configuring environments, Kiro evaluated my existing workspace and generated a complete Customer API collection with all required endpoints ready to use.&lt;/p&gt;

&lt;p&gt;The real magic was in the feedback loop. Kiro didn’t just create requests—it understood the context of the existing API, generated a well-structured Postman collection, and clearly explained what was created and why. It felt less like a tool and more like a technical partner supporting the API testing workflow.&lt;/p&gt;

&lt;p&gt;What started as a simple request to generate a Postman collection quickly became a practical demonstration of how agentic AI can improve everyday developer workflows. With automated tests, environment variables, authentication headers, and validation already in place, the result was a fully usable Postman collection that could be tested immediately.&lt;/p&gt;

&lt;p&gt;Whether you’re building a new API, refining an existing one, or standardizing collections across teams, Kiro’s blend of AI-assisted automation and contextual understanding makes it easier than ever to move from idea to tested implementation—fast, accurate, and reliable.&lt;/p&gt;

&lt;p&gt;Generative AI isn’t replacing good API design or testing practices; it’s enhancing them. And with tools like Kiro, even routine tasks like creating Postman collections can feel like working alongside an experienced API engineer who understands your workspace.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming how APIs are built and tested, and tools like Kiro are making that transformation practical. While increased AI-generated artifacts can introduce new challenges, features like context awareness, spec-driven workflows, and automated validation help maintain quality and consistency.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/Ec1_eA-dMa4"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br&gt;
𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
    </item>
    <item>
      <title>Kiro Did It! : How Kiro Helped Me Modernize My Portfolio Website!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Thu, 11 Dec 2025 03:58:27 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-how-kiro-helped-me-modernize-my-portfolio-website-1oj9</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-how-kiro-helped-me-modernize-my-portfolio-website-1oj9</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous article, I shared how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by API Gateway, Lambda, DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;This time, I wanted to take on something more personal, updating my portfolio website. And once again, Kiro became my co-developer for the job.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Build and Why?
&lt;/h2&gt;

&lt;p&gt;A few years ago, I built my personal portfolio website using AWS services such as S3, CloudFront, ACM, and Route 53. It worked great for hosting and showcasing my work, but the navigation always felt like an area that could be improved, more animated, more responsive, and more user-friendly.&lt;/p&gt;

&lt;p&gt;Between managing large-scale cloud initiatives and exploring new AWS features, I never got the time to redesign it. But with Kiro and Generative AI in my toolkit this year, I finally decided to revisit the site and bring it up to modern design standards.&lt;/p&gt;

&lt;p&gt;My goal was simple, make the navigation intuitive, engaging, and mobile-friendly, while experimenting with how far AI-assisted coding could go in enhancing a static site’s front-end.&lt;/p&gt;

&lt;p&gt;This wasn’t just a design refresh, it was an opportunity to see how Kiro’s AI-driven coding capabilities could help me test, modify, and visualize design ideas in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Kiro and I Did It!
&lt;/h2&gt;

&lt;p&gt;I started by asking Kiro a few questions, such as:&lt;/p&gt;

&lt;p&gt;“Can I run my portfolio site in Kiro before hosting it on AWS, so I can make and preview changes locally?”&lt;/p&gt;

&lt;p&gt;Once Kiro helped me run the static site locally, I moved on to the main goal: upgrading the navigation. I asked Kiro to provide multiple design options and then review the site’s mobile responsiveness, ensuring it looked great across iPhone, iPad, and other devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before &amp;amp; After: Website Upgrade
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Old Navigation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s how the navigation on my portfolio website looked before the update. It was functional but static and plain, with minimal visual cues and limited interactivity. Scrolling and mobile responsiveness were also basic, leaving room for improvement.&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%2Fc2cv4vc6q80477mhm3qk.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%2Fc2cv4vc6q80477mhm3qk.jpg" alt="Image oldnavigation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New Navigation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After Kiro helped me transform the website, the navigation is now modern, interactive, and visually engaging. It features smooth animations, clear section highlighting, and improved mobile responsiveness, making it easier and more enjoyable to navigate. The overall look feels fresh, professional, and aligned with a contemporary portfolio design.&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%2F085vs6aixcvn636w0v09.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%2F085vs6aixcvn636w0v09.jpg" alt="Image newnavigation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kiro in Action
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Prompt 1 – Preview the Site Locally&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“How can I run this static website in Kiro to preview?”&lt;/p&gt;

&lt;p&gt;Kiro response:&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%2F1p1yqpudjw673l1992js.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%2F1p1yqpudjw673l1992js.png" alt="Image res1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt 2 – Update the Navigation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“I would like to update the profile.html to include navigation for Home, About Me, etc.”&lt;/p&gt;

&lt;p&gt;Kiro response:&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%2F1hmqon0iaowdq0gk4214.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%2F1hmqon0iaowdq0gk4214.png" alt="Image res3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt 3 – Color and Icon Enhancements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“Can you keep the orange color for the icons but change the blue to better match the page background?”&lt;/p&gt;

&lt;p&gt;Kiro response:&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%2Fwd9n2hvsvh79l21v99oa.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%2Fwd9n2hvsvh79l21v99oa.png" alt="Image res4"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt 4 – Add My AWS Community Builder Badge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, I asked Kiro to add my AWS Community Builder image, and it placed it perfectly!&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%2Fua7r2dm6050kxrnilyl6.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%2Fua7r2dm6050kxrnilyl6.png" alt="Image cwg_banner"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kiro’s Feedback Loop
&lt;/h2&gt;

&lt;p&gt;One of the powerful features of Kiro is its feedback loop, which keeps you informed about every change it makes. After implementing the updates, Kiro summarized the enhancements in detail, explaining what was modified and why. This helped me understand how each visual tweak, animation, or layout adjustment contributed to a better user experience. It felt almost like having a co-developer reviewing and guiding the improvements in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Navigation Enhancements Made
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Visual Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed header bar with gradient background and blur effect&lt;/li&gt;
&lt;li&gt;Icons for each section (Home, About, Projects, etc.)&lt;/li&gt;
&lt;li&gt;Hover animations&lt;/li&gt;
&lt;li&gt;Active section highlighting with animation&lt;/li&gt;
&lt;li&gt;Clear separation between main navigation and external links&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;User Experience&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smooth scrolling between sections&lt;/li&gt;
&lt;li&gt;Active section tracking while scrolling&lt;/li&gt;
&lt;li&gt;Better mobile responsiveness with vertical stacking&lt;/li&gt;
&lt;li&gt;Improved accessibility with focus and hover states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Glass-morphism style with backdrop blur&lt;/li&gt;
&lt;li&gt;Dynamic background opacity on scroll&lt;/li&gt;
&lt;li&gt;Proper scroll offset handling for fixed navigation&lt;/li&gt;
&lt;li&gt;Enhanced CSS transitions and transforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result? A modern, professional, and responsive navigation that feels alive, stays visible as you scroll, and clearly indicates your current section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;p&gt;This upgrade experience with Kiro taught me several important lessons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kiro accelerates development — it makes quick design and UI improvements easier without heavy manual coding.&lt;/li&gt;
&lt;li&gt;Local previewing through Kiro allows safe experimentation before deployment to AWS.&lt;/li&gt;
&lt;li&gt;Generative AI guidance helps refine color schemes, layout, and responsiveness interactively, making design iterations faster and more precise.&lt;/li&gt;
&lt;li&gt;Kiro’s feedback loop keeps you in control, summarizing updates clearly and ensuring transparency throughout the process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Beyond these points, I realized how AI-assisted development can enhance creativity rather than replace it. By handling repetitive or technical tasks, Kiro lets you focus on design, user experience, and experimentation, bridging the best of automation and human creativity. I combined it with AWS Services to create a finished product!&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how Kiro can accelerate development, save time and allow you to focus on end goal as oppose to spending hours adjusting layouts, colors, and animations manually, Kiro helped me prototype, iterate, and visualize changes instantly.&lt;/p&gt;

&lt;p&gt;The real magic was in the feedback loop. Kiro not only implemented updates but also explained what was changed and why, almost like a coding partner guiding each improvement.&lt;/p&gt;

&lt;p&gt;Upgrading my portfolio website turned out to be more than just a design refresh. It became a practical demonstration of how Kiro and Generative AI can accelerate front-end development while keeping creativity at the center.&lt;/p&gt;

&lt;p&gt;Whether you’re upgrading a static site, fine-tuning navigation, or experimenting with interactive elements, Kiro’s blend of AI-assisted coding and automation makes it easier than ever to transform ideas into working result fast, accurate, and visually stunning.&lt;/p&gt;

&lt;p&gt;Generative AI isn’t replacing creativity, it’s enhancing it And with Kiro, even small weekend projects like a portfolio update can feel like working with a full design and development team by your side.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way code is built, and tools like Kiro make the process even easier. While debugging can become more challenging as more code is generated with GenAI, Kiro’s features such as spec-driven development and design documentation generation can help address these challenges.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
    </item>
    <item>
      <title>Kiro Did It: Kiro Goes GA - And Replaces My Favorite CLI!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Wed, 19 Nov 2025 04:25:24 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-kiro-goes-ga-and-replaces-my-favorite-cli-5ec9</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-kiro-goes-ga-and-replaces-my-favorite-cli-5ec9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Kiro Goes GA - And It Just Replaced My Favorite CLI!&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%2F5oze77km51jaj96xd417.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%2F5oze77km51jaj96xd417.png" alt="Image kiro" width="800" height="254"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS announced the General Availability of Kiro on 11/17/25, and the update included several new features that immediately caught my attention. I have already appreciated Kiro for its vibe coding, specs-driven development approach, MCP integrations, and hooks. However, the most notable change for me was the introduction of the Kiro CLI and its seamless integration with the Kiro IDE.&lt;/p&gt;

&lt;p&gt;I had originally planned to explore the Kiro CLI over the upcoming weekend… but little did I know my exploration would take a surprising turn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Goodbye Q CLI, Hello Kiro CLI!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While checking the documentation, I discovered something unexpected:&lt;/p&gt;

&lt;p&gt;Kiro CLI has officially replaced the Amazon Q Developer CLI&lt;/p&gt;

&lt;p&gt;In other words :&lt;/p&gt;

&lt;p&gt;one of my favorite dev tool CLIs got replaced by… another one of my favorite dev tool CLIs! 😄&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%2Fw5fye3d5l6u3ebkva0lv.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%2Fw5fye3d5l6u3ebkva0lv.png" alt="Image kiro2" width="800" height="158"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upgrading to Kiro CLI Took One Command&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're already logged into the Q CLI, the upgrade path is literally a single command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;q update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Running this instantly upgraded my environment from Q CLI → Kiro CLI.&lt;/p&gt;

&lt;p&gt;Here’s the message I received after the upgrade:&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%2Fj2xlu2p6iwypfjd1gjyv.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%2Fj2xlu2p6iwypfjd1gjyv.png" alt="Image kiro3" width="800" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The transition was seamless, and all my existing workflows including MCP configurations immediately recognized the new CLI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Session With Kiro CLI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I couldn’t resist trying it out immediately.&lt;/p&gt;

&lt;p&gt;To keep things simple, &lt;strong&gt;&lt;em&gt;I asked Kiro CLI to do a quick cost projection for a hypothetical single-page website hosted on an EC2 instance, expecting around 10,000 hits per month.&lt;/em&gt;&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%2Fwsxyveczi195xxsb143x.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%2Fwsxyveczi195xxsb143x.png" alt="Image kiro4" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Asked&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%2Fytizexh4j83mg1kq3n6h.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%2Fytizexh4j83mg1kq3n6h.png" alt="Image kiropic" width="800" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Response I Received&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%2Fijh143wphmcplad1jhap.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%2Fijh143wphmcplad1jhap.png" alt="Image kiro5" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even for a lightweight scenario like this, the response Kiro generated was clean, structured, and extremely quick showcasing just how interactive and developer-friendly this CLI experience is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s exciting to see how these GenAI-driven tools continue to evolve. With the launch of Kiro GA and the introduction of the Kiro CLI, AWS is clearly doubling down on making the entire development workflow conversational, intelligent, and frictionless.&lt;/p&gt;

&lt;p&gt;Tools like Kiro aren’t just enhancing productivity, they’re transforming how we think about software development.&lt;/p&gt;

&lt;p&gt;I can’t wait to see what additional surprises AWS brings to re:Invent 2025, especially in the Kiro ecosystem.&lt;/p&gt;

&lt;p&gt;Stay tuned, I’ll be exploring more of the Kiro CLI capabilities in my upcoming articles!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>cloud</category>
      <category>aws</category>
      <category>ai</category>
    </item>
    <item>
      <title>Kiro Did It: Streamlining Comments, Structure, and Logging Using Steering Docs!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sat, 15 Nov 2025 22:18:10 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-streamlining-comments-structure-and-logging-using-steering-docs-3hcm</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-streamlining-comments-structure-and-logging-using-steering-docs-3hcm</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous article, I shared how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by API Gateway, Lambda, DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;In another article, I also talked about Kiro's hooks using a simple HelloWorld Python program. I explained how hooks can automatically update a README.md file whenever the Python code is modified.&lt;/p&gt;

&lt;p&gt;Unlike traditional IDEs, Kiro is a GenAI-enabled IDE that supports both specs-driven development and vibe coding.&lt;/p&gt;

&lt;p&gt;In addition to specs, vibe coding and Hooks, Steering Docs is another powerful feature that helps developers by streamlining Comments, Structure, and Logging in your code.&lt;/p&gt;

&lt;p&gt;In this article, I will explore how Kiro's steering doc feature works using a simple HelloWorld Python program. I’ll show how steering docs can help guide the code generation using the product definition, structure and tech stack defined in the steering docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Build and Why?
&lt;/h2&gt;

&lt;p&gt;I wanted to demonstrate how Kiro Steering docs are another value-added feature of this GenAI-enabled IDE. Steering docs can provide guidance when generating code by defining product, code structure and tech stack upfront.&lt;/p&gt;

&lt;p&gt;When you add steering docs, Kiro adds three docs product.md, structure.md and tech.md. These files contain the guidelines that Kiro uses when generating the code.&lt;/p&gt;

&lt;p&gt;I created a hello world document and added steering docs.&lt;/p&gt;

&lt;p&gt;The goal wasn’t to build production-ready code right away, but to use a simple function to demonstrate how Kiro Steering Docs is another feature that can help developer increase the productivity and accelerate software development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture/Design
&lt;/h2&gt;

&lt;p&gt;Before diving in, let’s review the diagram to understand how these components interact.&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%2Fm7w1qcamwvd0jmv423fp.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%2Fm7w1qcamwvd0jmv423fp.png" alt="Image arch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Steering Docs in Kiro IDE?
&lt;/h2&gt;

&lt;p&gt;The Kiro Steering Docs are a key feature that helps Kiro understand what guidance to follow when generating code. By specifying the desired product goals, tech stack, and code structure, these guidelines allow Kiro to automatically implement best practices upfront. This ensures the resulting code consistently follows standards for comments, logging, and structure, yielding clean, safe, and maintainable code without manual intervention.&lt;/p&gt;

&lt;p&gt;To generate the steering docs, you click on Kiro icon and then generate Steering Docs.&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%2F1wp053l808ytjfzrwn3e.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%2F1wp053l808ytjfzrwn3e.png" alt="Image steer1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro will scan your project file and will generate the Steering Docs.&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%2Fjdb1bd1s186eixvk5dtg.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%2Fjdb1bd1s186eixvk5dtg.png" alt="Image steer2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro will generate 3 files as Steering Docs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product.md&lt;/li&gt;
&lt;li&gt;Structure.md&lt;/li&gt;
&lt;li&gt;Tech.md&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's see what each of these file contains:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;product.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Provides a high-level overview of what the HelloWorld service does, why it exists, and the core behavior users should expect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;tech.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lists the technology stack, tools, and essential commands required to run, test, and deploy the HelloWorld service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;structure.md&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Describes the project’s folder layout and explains the organizational principles applied to keep the code clean and maintainable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review the Steering Docs
&lt;/h2&gt;

&lt;p&gt;Once the Steering Docs have been generated, you would see these 3 files in your project view.&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%2Fkiaq6cayquvh143d6xjr.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%2Fkiaq6cayquvh143d6xjr.png" alt="Image steerdocs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review product.md
&lt;/h2&gt;

&lt;p&gt;You’ll see that:&lt;/p&gt;

&lt;p&gt;The product.md contains section to describe the product purpose, key features and target users.&lt;/p&gt;

&lt;p&gt;I will update product.md to add detail about HelloWorld project. Updated file will look similar to below:&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%2F2dydlqe2osf838evpitb.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%2F2dydlqe2osf838evpitb.png" alt="Image reviewupdateprod"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review tech.md
&lt;/h2&gt;

&lt;p&gt;You’ll see that:&lt;/p&gt;

&lt;p&gt;The tech.md contains section to describe the tech stack like what language to use, logging, run time, testing and more.&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%2F6rdq0vfrqk8sjx0merp0.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%2F6rdq0vfrqk8sjx0merp0.png" alt="Image techdoc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review structure.md
&lt;/h2&gt;

&lt;p&gt;You’ll see that:&lt;/p&gt;

&lt;p&gt;The structure.md contains section to describe the structure and organization of the code directory.&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%2Fcgqyuus4wo3144k5k7o7.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%2Fcgqyuus4wo3144k5k7o7.png" alt="Image struc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Kiro, you can further refine your steering docs as well. Once you click on 'Refine', Kiro will refine the steering docs.&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%2F30coeorc72012o0i2buj.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%2F30coeorc72012o0i2buj.png" alt="Image reviewandrefine"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kiro Code Generation
&lt;/h2&gt;

&lt;p&gt;Now that I have steering docs in place, I will ask Kiro to generate the hello world function. Below is the prompt, I provided:&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%2F6zbmjaeypxqpyxnaf2l8.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%2F6zbmjaeypxqpyxnaf2l8.png" alt="Image codeprompt"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro responded by confirming that it will generate the asked code.&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%2Fpfci32ln8j2n5kk8bm2x.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%2Fpfci32ln8j2n5kk8bm2x.png" alt="Image codegen"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review Generated Code
&lt;/h2&gt;

&lt;p&gt;Generated code for python function.&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%2Ffnztaq10zxexrx6kvd1e.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%2Ffnztaq10zxexrx6kvd1e.png" alt="Image codefunc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generated code for lambda handler.&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%2Fwmoziwt3n7dhj9u7ax8z.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%2Fwmoziwt3n7dhj9u7ax8z.png" alt="Image codelambda"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Test the function
&lt;/h2&gt;

&lt;p&gt;I can validate the generated function using the Python command as below:&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%2F9e3dxsps2pasrcpcmzel.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%2F9e3dxsps2pasrcpcmzel.png" alt="Image testfunc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since Steering docs in place, if I add a new function, Kiro will follow the guidance from these steering docs to follow the same pattern.&lt;/p&gt;

&lt;p&gt;I added another function as below and as you can see, this one uses comments and logging based on the guidance noted in the steering docs.&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%2Fe5gnmw1v7a2rkae7y5pg.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%2Fe5gnmw1v7a2rkae7y5pg.png" alt="Image addfunc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how Kiro can accelerate development by applying Steering Docs directly into the workflow, guiding code generation toward consistent structure, clear documentation, proper logging, and reliable exception handling. This shifts effort away from repetitive cleanup and review, allowing developers to focus on higher-value logic and design.&lt;/p&gt;

&lt;p&gt;Whether you’re defining code comments, enforcing Python structure, standardizing logging practices, or ensuring proper error handling, Steering Docs act as your silent co-developer by shaping every output to match your standards.&lt;/p&gt;

&lt;p&gt;By starting with small, practical examples and gradually expanding your Steering Docs, you can establish a development environment where every code change automatically aligns with best practices and maintains consistent quality.&lt;/p&gt;

&lt;p&gt;Experiment with these Steering Docs and see how Kiro transforms your everyday coding experience.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way code is built, and tools like Kiro make the process even easier. While debugging can become more challenging as more code is generated with GenAI, Kiro’s features such as spec-driven development and design documentation generation can help address these challenges.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>aws</category>
      <category>kiro</category>
      <category>cloudcomputing</category>
      <category>ai</category>
    </item>
    <item>
      <title>Let Kiro Do the Work: Automate Your Code and Documentation with Hooks!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sun, 02 Nov 2025 19:37:23 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/let-kiro-do-the-work-automate-your-code-and-documentation-with-hooks-3h6g</link>
      <guid>https://dev.to/bhatiagirish/let-kiro-do-the-work-automate-your-code-and-documentation-with-hooks-3h6g</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In my previous article, I shared how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by API Gateway, Lambda, DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;Unlike traditional IDEs, Kiro is a GenAI-enabled IDE that supports both specs-driven development and vibe coding.&lt;/p&gt;

&lt;p&gt;In addition to specs and vibe coding, Hooks are another powerful feature that automate repetitive tasks. This feature saves developers valuable time and allows them to focus more on the functional aspects of software development.&lt;/p&gt;

&lt;p&gt;When working on rapid application development, automating repetitive tasks can save significant time and reduce errors. Kiro IDE, known for accelerating full-stack app development with AI-powered code generation, also supports the Hook feature, a powerful way to trigger automatic actions whenever your code changes.&lt;/p&gt;

&lt;p&gt;In this article, we’ll explore how Kiro’s Hook feature works using a simple HelloWorld Python program. We’ll show how hooks can automatically update a README.md file whenever the Python code is modified.&lt;/p&gt;

&lt;p&gt;I’ll then add another hook that not only creates or updates the README.md file but also runs Bandit, an open-source tool that scans Python code for common security vulnerabilities such as hardcoded passwords.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Did I Build and Why?
&lt;/h2&gt;

&lt;p&gt;I wanted to demonstrate how Kiro hooks are another value-added feature of this GenAI-enabled IDE. Hooks can automate repetitive tasks such as updating documentation or scanning code for security vulnerabilities.&lt;/p&gt;

&lt;p&gt;Here are the two hooks I created:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hook#1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Documentation update&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Instructions for Kiro agent&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Python source files have been modified. Please review the changes and update the documentation accordingly. If there is a README.md file, update it to reflect any new functionality, API changes, or usage examples. If there is a /docs folder, update the relevant documentation files there. Focus on keeping the documentation accurate and up-to-date with the current codebase.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Hook#2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Documentation update and python code security scan using bandit&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Instructions for Kiro agent&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A Python file has been modified. Please: 1) Run bandit security scanning on all *.py files in the current directory and output the results in JSON format. bandit is installed in the virtual environment, and 2) Update the README.md file to reflect any changes or new information about the Python files in the project.&lt;br&gt;
The goal wasn’t to build production-ready code right away, but to use a simple function to demonstrate how Kiro hooks can automate repetitive tasks allowing developers to invest their time in building business logic instead of routine maintenance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Architecture/Design
&lt;/h2&gt;

&lt;p&gt;Before diving in, let’s review the diagram to understand how these components interact.&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%2Fx4si67t44r7etrka3m6f.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%2Fx4si67t44r7etrka3m6f.png" alt="Image arch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Hooks in Kiro IDE?
&lt;/h2&gt;

&lt;p&gt;Hooks in Kiro IDE are automated triggers that run specific actions when defined events occur such as when a file is created, saved, or deleted. Hooks can also be invoked manually.&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%2F9hwcm7lo6inf7whvmydx.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%2F9hwcm7lo6inf7whvmydx.png" alt="Image hooksevent"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use hooks to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update documentation automatically&lt;/li&gt;
&lt;li&gt;Regenerate API specs when endpoints change&lt;/li&gt;
&lt;li&gt;Generate commit messages or summaries based on updated code&lt;/li&gt;
&lt;li&gt;Run code scans when code is added or updated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hooks bring automation directly into your development environment, making workflows smarter and faster without relying on external scripts. They save time by letting the AI agent handle repetitive tasks while developers focus on innovation and quality.&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%2F0tg0kwk2ifj0x6da607h.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%2F0tg0kwk2ifj0x6da607h.png" alt="Image hooksconfig"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review the Steps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hook#1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a HelloWorld Function&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%2Fonmb4zu9fg831e0yufgd.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%2Fonmb4zu9fg831e0yufgd.png" alt="Image hellofn"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Save the file&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Saving the file will trigger the manual and you should see that a readme file has been created.&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%2F5bp5aesuyxrr0tgllrku.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%2F5bp5aesuyxrr0tgllrku.png" alt="Image readme"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a simple example of how Kiro Hook took care of creating the readme file based on the function code. If you update the code further, then Kiro will update the readme document to align with the code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hook#2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Update the function code to add a parameter so that it takes the name and then print the message.&lt;/p&gt;

&lt;p&gt;Also add a variable to store a hardcoded password. This update is required so that when hook is triggered, it finds a security vulnerability like hardcoded password.&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%2F8w5euvzmv8pq10vgmkgu.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%2F8w5euvzmv8pq10vgmkgu.png" alt="Image updatefn"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Saving the file will trigger the manual and you should see that a readme file has been updated. Also, you will see a code scanning results informing you of a security vulnerability in the code due to hardcoded password.&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%2Fcumdi4iidy74f9naljc1.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%2Fcumdi4iidy74f9naljc1.png" alt="Image fnscan"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review readme file&lt;/strong&gt;&lt;br&gt;
You’ll see that:&lt;/p&gt;

&lt;p&gt;The README.md file now reflects the updated function definition with the new name parameter.&lt;/p&gt;

&lt;p&gt;The file also includes the security scan results generated by Bandit.&lt;br&gt;
Not only has the README file been updated, but the security scan has also been executed , showcasing Kiro’s ability to perform multiple automated tasks.&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%2Fs4fchm0rilf3zipw8e5i.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%2Fs4fchm0rilf3zipw8e5i.png" alt="Image fnupdate2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not only readme file has been updated, security scan has also been completed.&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%2Fcq5nqdbjwfmcivfhta79.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%2Fcq5nqdbjwfmcivfhta79.png" alt="Image scan"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how Kiro can accelerate development by bringing automation directly into the development workflow, allowing developers to focus more on creativity and logic rather than repetitive maintenance tasks.&lt;/p&gt;

&lt;p&gt;Whether you’re updating documentation, generating commit messages, formatting code, or scanning code, hooks act as your silent co-developer, working in partnership.&lt;/p&gt;

&lt;p&gt;By starting with small, practical examples and gradually combining them, you can create a fully automated environment where every code change triggers meaningful actions.&lt;/p&gt;

&lt;p&gt;Experiment with these hook ideas and see how Kiro transforms your everyday coding experience.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way code is built, and tools like Kiro make the process even easier. While debugging can become more challenging as more code is generated with GenAI, Kiro’s features such as spec-driven development and design documentation generation can help address these challenges.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>agents</category>
    </item>
    <item>
      <title>Kiro Did It! – From Prompt to Customer API &amp; UI Using Vibe Coding!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Fri, 17 Oct 2025 19:39:29 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-from-prompt-to-customer-api-ui-using-vibe-coding-og0</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-from-prompt-to-customer-api-ui-using-vibe-coding-og0</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder, Cloud Tech Enthusiast, with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In this article, I’ll share how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by API Gateway, Lambda, DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;Unlike traditional IDEs, vibe coding in Kiro lets you code in flow with lightweight prompts—no need to over-specify requirements up front. It’s perfect for experimenting, prototyping, and just “vibing” with code.&lt;/p&gt;

&lt;p&gt;Instead of manually wiring services together, I simply gave Kiro a natural-language prompt, and within minutes I had a working, deployable prototype. That’s the magic of vibe coding!&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I build and why?
&lt;/h2&gt;

&lt;p&gt;I wanted to create a quick Customer Lookup full-stack application to demonstrate how fast you can go from an idea to a working solution using Kiro’s vibe coding feature. Instead of manually setting up AWS resources, I described my requirements in plain English, and Kiro generated the entire project for me including the backend APIs and the UI.&lt;/p&gt;

&lt;p&gt;Here’s what I ended up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A REST API hosted on API Gateway&lt;/li&gt;
&lt;li&gt;GET /customers – List all customers&lt;/li&gt;
&lt;li&gt;GET /customers/{custId} – Retrieve a specific customer&lt;/li&gt;
&lt;li&gt;POST /customers – Create a new customer&lt;/li&gt;
&lt;li&gt;PUT /customers/{custId} – Update an existing customer&lt;/li&gt;
&lt;li&gt;DELETE /customers/{custId} – Delete a customer&lt;/li&gt;
&lt;li&gt;A Lambda function for handling API requests&lt;/li&gt;
&lt;li&gt;A DynamoDB table to store customer data (custId, Name, State, Zipcode)&lt;/li&gt;
&lt;li&gt;A UI hosted on EC2, integrated with these API endpoints for CRUD operations&lt;/li&gt;
&lt;li&gt;An AWS SAM template for building and deploying the stack&lt;/li&gt;
&lt;li&gt;Sample JSON events for testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal wasn’t to build production-ready code right away, but to quickly get a working full-stack prototype that can later be extended with authentication, observability, monitoring, and performance tuning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;Here’s a quick look at how the components work together:&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%2Fpndgsa2e8t9ehs753nrl.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%2Fpndgsa2e8t9ehs753nrl.png" alt="Image arch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review Steps: From Prompt to Prototype
&lt;/h2&gt;

&lt;p&gt;Start a Vibe Coding Session&lt;/p&gt;

&lt;p&gt;Open Kiro, switch to vibe coding mode, and simply type a natural prompt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Build a customer lookup api as rest api. api will be hosted using aws gateway, integrated with a lambda function, data will be stored in a DynamoDB table, create a simple table to store this data with four fields - custId, Name, state, zipcode. do not create test framework as need to get a quick working prototype first before adding testing and performance framework. I would like to use AWS SAM to build and deploy this solution."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kiro responded to me with below answer:&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%2F2vbufxnn8wxt55l7peq8.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%2F2vbufxnn8wxt55l7peq8.png" alt="Image kiroresponse"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kiro Generates the Project files&lt;/p&gt;

&lt;p&gt;In minutes, Kiro produced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A SAM template (template.yaml)&lt;/li&gt;
&lt;li&gt;A Lambda function (app.py)&lt;/li&gt;
&lt;li&gt;A DynamoDB table definition&lt;/li&gt;
&lt;li&gt;Sample JSON Events to test the API with&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example SAM template (simplified):&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%2F7hlbfecbzixpor44bveh.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%2F7hlbfecbzixpor44bveh.png" alt="Image template"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review the Lambda Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kiro generated a Python handler with DynamoDB integration:&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%2Fybst3r16qa2vh5mcgjub.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%2Fybst3r16qa2vh5mcgjub.png" alt="Image lambda"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Review Sample JSON Event&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%2F19kxhgjm1xpgr9pnifnl.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%2F19kxhgjm1xpgr9pnifnl.png" alt="Image jasonevent"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build &amp;amp; Deploy with SAM
&lt;/h2&gt;

&lt;p&gt;Once I reviewed the files, it was just a matter of building and deploying.&lt;/p&gt;

&lt;p&gt;Use the following command to build the function:&lt;br&gt;
&lt;strong&gt;Command:&lt;/strong&gt; sam 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%2Ftbni4suskd8zfrc599vb.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%2Ftbni4suskd8zfrc599vb.png" alt="Image sambuild"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can deploy it to the AWS Cloud using the sam deploy command:&lt;br&gt;
&lt;strong&gt;Command:&lt;/strong&gt; sam deploy&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%2Fdy24t7zl3wujfh1jj0v9.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%2Fdy24t7zl3wujfh1jj0v9.png" alt="Image samdeploy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SAM packaged and deployed the API Gateway, Lambda, and DynamoDB resources in my AWS account.&lt;/p&gt;
&lt;h2&gt;
  
  
  Review using AWS Console
&lt;/h2&gt;

&lt;p&gt;Since the resources have been deployed in my AWS account, I logged in to the AWS Management Console to verify them.Here’s what I checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Gateway – Confirmed the REST API with all CRUD endpoints (GET, POST, PUT, DELETE).&lt;/li&gt;
&lt;li&gt;Lambda Function – Validated that the function was created and linked to API Gateway.&lt;/li&gt;
&lt;li&gt;DynamoDB Table – Verified the customers table with attributes (custId, Name, State, Zipcode).&lt;/li&gt;
&lt;li&gt;CloudFormation / SAM Stack – Ensured the stack deployed successfully with all resources.&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.amazonaws.com%2Fuploads%2Farticles%2F26jkuuad4f4yrw1m3hkg.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%2F26jkuuad4f4yrw1m3hkg.png" alt="Image console"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Test the API
&lt;/h2&gt;

&lt;p&gt;Now that I have the API endpoint, I will use the Postman to invoke the API and will review the response returned.&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%2Fguh4sxkbdpj5ns8viw9r.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%2Fguh4sxkbdpj5ns8viw9r.png" alt="Image postman"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a CRUD API, so it supports other operations as well. For this demonstration, however, I focused on POST and GETrequests, to create a record and fetch a record through the API endpoint.&lt;/p&gt;
&lt;h2&gt;
  
  
  Adding a Functional UI with Kiro
&lt;/h2&gt;

&lt;p&gt;Since the CRUD API worked as expected, I asked Kiro to create a UI integrated with these API endpoints, and here is the functional UI it generated!&lt;/p&gt;

&lt;p&gt;I manually added API security features so that if a valid subscription key is not passed to API Gateway, an error is shown:&lt;/p&gt;

&lt;p&gt;🔒 Invalid key → access denied&lt;br&gt;
✅ Valid key → response returned successfully&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%2Ft3hnn1iqayt4mrjlh5qm.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%2Ft3hnn1iqayt4mrjlh5qm.png" alt="Image apierror"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is how the UI looks when a response is returned by the API endpoints!&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%2Fxdnkdms1cpdglrh97c0n.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%2Fxdnkdms1cpdglrh97c0n.png" alt="Image validapi"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After validating that all functions were working as expected, I asked Kiro to update the UI by replacing the CRUD function dropdown with radio buttons to make it more user-friendly. Screenshots below:&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%2F99dsvox2se6ybscwpanj.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%2F99dsvox2se6ybscwpanj.png" alt="Image UIScreens"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Multiple API endpoints + a working UI in under 30 minutes — all powered by GenAI and Kiro!&lt;/p&gt;

&lt;p&gt;But does that mean expertise isn’t required? Not at all.&lt;/p&gt;

&lt;p&gt;I still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validated the solution&lt;/li&gt;
&lt;li&gt;Deployed it using SAM&lt;/li&gt;
&lt;li&gt;Configured API security with subscription keys, quotas, and client application invocations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It felt like a team effort where Kiro acted as a peer—helping me generate, review, and collaborate to get the prototype built quickly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this article, I demonstrated how Kiro can accelerate development by enabling the creation of a fully functional CRUD Customer Lookup REST API with DynamoDB and extending it into a complete full-stack application with a working UI, all in a fraction of the usual time. While it may not be production-ready, it effectively serves the purpose of creating a quick, reviewable prototype for business and technical stakeholders.&lt;/p&gt;

&lt;p&gt;Kiro not only generated the backend API and application code but also produced an AWS SAM template and a front-end UI prototype, completing the full-stack build seamlessly.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way code is built, and tools like Kiro make the process even easier. While debugging can become more challenging as more code is generated with GenAI, Kiro’s features such as spec-driven development and design documentation generation can help address these challenges.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;Thanks for reading, and I hope you found this insightful.&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>aws</category>
      <category>kiro</category>
      <category>lambda</category>
      <category>apigateway</category>
    </item>
    <item>
      <title>AWS re:Invent 2025: 2000+ Sessions, 5 Days, One You!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:10:43 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/aws-reinvent-2025-2000-sessions-5-days-one-you-168e</link>
      <guid>https://dev.to/bhatiagirish/aws-reinvent-2025-2000-sessions-5-days-one-you-168e</guid>
      <description>&lt;p&gt;Hi! I'm Girish, an AWS Community Builder and Cloud Tech Enthusiast with expertise in delivering customer-focused and business-impacting cloud transformation programs of high complexity.&lt;/p&gt;

&lt;p&gt;In this article, I'll share insights about re:Invent and the many different opportunities it offers for learning!&lt;/p&gt;

&lt;p&gt;If you’re headed to AWS re:Invent, you already know it’s not just a conference—it’s an experience.&lt;/p&gt;

&lt;p&gt;With 2,000+ sessions spread across 5 days, it can feel overwhelming to decide where to spend your time. Add in the fact that there isn’t just one type of session, but more than 11 different formats from breakout sessions to chalk talks, bootcamps, lightning talks, and more and the challenge becomes real.&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%2Fqvbaxri9gf10zykyuosy.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%2Fqvbaxri9gf10zykyuosy.png" alt="Image eventtype" width="440" height="790"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So how do you know which sessions to attend?&lt;/p&gt;

&lt;p&gt;Well… truthfully, you don’t get to attend everything 😊.&lt;/p&gt;

&lt;p&gt;But you can narrow things down by aligning sessions with your interests and objectives.&lt;/p&gt;

&lt;p&gt;Whether you’re into Serverless, Generative AI, Containers, Security, or Industry-focused tracks, a bit of planning goes a long way.&lt;br&gt;
Let’s take a look at a few of the key session types, what they mean, and how much time they usually take:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keynotes &amp;amp; Leadership Sessions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typically 4-5 keynote one scheduled for each day. Plan 60-120 mins.&lt;/li&gt;
&lt;li&gt;Keynotes feature AWS leaders unveiling new services and the vision for the future of cloud.&lt;/li&gt;
&lt;li&gt;Don't miss Dr. Werner Vogels' keynote!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Breakout Sessions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typically 45-60 mins duration.&lt;/li&gt;
&lt;li&gt;Traditional conference talks with slides and demos.&lt;/li&gt;
&lt;li&gt;Great for structured learning.&lt;/li&gt;
&lt;li&gt;Plan ahead for these!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Chalk Talks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typically 60 mins duration.&lt;/li&gt;
&lt;li&gt;Interactive whiteboard-style discussions with AWS experts.&lt;/li&gt;
&lt;li&gt;Short presentation, then deep Q&amp;amp;A and design discussions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Workshops&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typically 120 mins duration.&lt;/li&gt;
&lt;li&gt;Hands-on sessions where you build with AWS services in real time.&lt;/li&gt;
&lt;li&gt;You need to pre-register for these.&lt;/li&gt;
&lt;li&gt;Need to bring your laptop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Builders’ Sessions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typically 60 mins duration.&lt;/li&gt;
&lt;li&gt;Small group, 5-6 people&lt;/li&gt;
&lt;li&gt;Hands on building.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bootcamps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full day session, typically 6-8 hours&lt;/li&gt;
&lt;li&gt;These are paid sessions. Plan ahead&lt;/li&gt;
&lt;li&gt;Good if you want dedicated time to skill up in a specific area.&lt;/li&gt;
&lt;li&gt;Instructor Led.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to these, there are also lightning talk and self paced labs as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I’m Planning My re:Invent 2025 Sessions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My current role requires a deep understanding of AWS Cloud services as well as the compliance needs of highly regulated financial and banking environments. Since my work doesn’t involve hands-on coding, I plan to skip most Builders’ Sessions and Workshops and instead maximize my time exploring new services and upcoming enhancements. The goal is to bring back practical insights that I can apply to the cloud transformation initiatives I’m currently leading.&lt;/p&gt;

&lt;p&gt;This year, I’m focusing on four key themes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Serverless&lt;/li&gt;
&lt;li&gt;Generative AI&lt;/li&gt;
&lt;li&gt;Security &amp;amp; Compliance&lt;/li&gt;
&lt;li&gt;Observability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve shortlisted around 60 sessions that align with these themes. Of course, I know it’s not realistic to attend them all. With time spent walking between venues, networking, making new friends, and connecting with fellow AWS Community Builders, I’m realistically targeting 20–25 sessions for the week. I’ll refine my list further once I have more details about session timings and venues.&lt;/p&gt;

&lt;p&gt;This short list should allow me switching to a different session If a reserved session is full or plans change. This approach helps me maximize learning while keeping the experience enjoyable and stress-free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planning Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select your theme and select desired sessions from the event catalog&lt;/li&gt;
&lt;li&gt;Shortlist more sessions than you can attend to plan the backup but don't select everything.&lt;/li&gt;
&lt;li&gt;Plan for walking, networking, and fun time.&lt;/li&gt;
&lt;li&gt;Don’t panic if you miss a session. Many are recorded and available on-demand after the event!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You won’t be able to experience everything at AWS re:Invent, and that’s perfectly okay. The key is to focus on your learning goals, build a thoughtful schedule, and leave room for spontaneous opportunities. Stay organized, keep an open mind, and make re:Invent a memorable and inspiring experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See you at re:Invent 2025!!!&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%2F4voe449umiyzegxazl7b.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%2F4voe449umiyzegxazl7b.png" alt="Image reInvent" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>aws</category>
    </item>
    <item>
      <title>Kiro Did It! – From Prompt to Customer API Using Vibe Coding!</title>
      <dc:creator>Girish Bhatia</dc:creator>
      <pubDate>Sun, 21 Sep 2025 06:05:02 +0000</pubDate>
      <link>https://dev.to/bhatiagirish/kiro-did-it-from-prompt-to-customer-api-using-vibe-coding-5hil</link>
      <guid>https://dev.to/bhatiagirish/kiro-did-it-from-prompt-to-customer-api-using-vibe-coding-5hil</guid>
      <description>&lt;p&gt;Hi! I’m Girish, an AWS Community Builder and Cloud Tech Enthusiast. In this article, I’ll share how I used AWS Kiro’s vibe coding feature to build a Customer Lookup API powered by API Gateway, Lambda, DynamoDB, and AWS SAM.&lt;/p&gt;

&lt;p&gt;Unlike traditional IDEs, vibe coding in Kiro lets you code in flow with lightweight prompts—no need to over-specify requirements up front. It’s perfect for experimenting, prototyping, and just “vibing” with code.&lt;/p&gt;

&lt;p&gt;Instead of manually wiring services together, I simply gave Kiro a natural-language prompt describing what I wanted, and within minutes I had a working, deployable prototype. That’s the magic of vibe coding!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What did I build and why?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wanted to create a quick Customer Lookup API to demonstrate how fast you can go from an idea to a working solution using Kiro’s vibe coding feature. Instead of manually setting up AWS resources, I described my requirements in plain English, and Kiro generated the project for me.&lt;/p&gt;

&lt;p&gt;Here’s what I ended up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A REST API hosted on API Gateway&lt;/li&gt;
&lt;li&gt;This API supports CRUD operations:&lt;/li&gt;
&lt;li&gt;GET /customers – List all customers&lt;/li&gt;
&lt;li&gt;GET /customers/{custId} – Retrieve a specific customer&lt;/li&gt;
&lt;li&gt;POST /customers – Create a new customer&lt;/li&gt;
&lt;li&gt;PUT /customers/{custId} – Update an existing customer&lt;/li&gt;
&lt;li&gt;DELETE /customers/{custId} – Delete a customer&lt;/li&gt;
&lt;li&gt;A Lambda function for handling requests&lt;/li&gt;
&lt;li&gt;A DynamoDB table to store customer data (custId, Name, State, Zipcode)&lt;/li&gt;
&lt;li&gt;An AWS SAM template for building and deploying the entire stack&lt;/li&gt;
&lt;li&gt;Sample JSON events can be used to test the API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal wasn’t to build a production-ready API right away, but to get a working prototype fast, something I can extend later with authentication, observability, monitoring, and performance tuning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s a quick look at how the components work together:&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%2Ffq6u2lei8emrgl1u0wyg.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%2Ffq6u2lei8emrgl1u0wyg.png" alt="Image arch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review Steps: From Prompt to Prototype&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Start a Vibe Coding Session&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open Kiro, switch to vibe coding mode, and simply type a natural prompt like:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Build a customer lookup api as rest api. api will be hosted using aws gateway, integrated with a lambda function, data will be stored in a DynamoDB table, create a simple table to store this data with four fields - custId, Name, state, zipcode. do not create test framework as need to get a quick working prototype first before adding testing and performance framework. I would like to use AWS SAM to build and deploy this solution."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Kiro responded to me with below answer:&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%2Frl35d9yibdzcvuzfpx0a.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%2Frl35d9yibdzcvuzfpx0a.png" alt="Image response"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Kiro Generates the Project files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In seconds, Kiro produced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A SAM template (template.yaml)&lt;/li&gt;
&lt;li&gt;A Lambda function (app.py)&lt;/li&gt;
&lt;li&gt;A DynamoDB table definition&lt;/li&gt;
&lt;li&gt;Sample JSON Events to test the API with&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example SAM template (simplified):&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%2Fu2km8p7m45lrmrvy81ee.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%2Fu2km8p7m45lrmrvy81ee.png" alt="Image template"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Review the Lambda Function&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kiro generated a Python handler with DynamoDB integration:&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%2F4izhv9tpj9vs4wy36fcy.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%2F4izhv9tpj9vs4wy36fcy.png" alt="Image lambda"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review Sample JSON Event&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%2Fpfethy49q7m1ov4tfyj9.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%2Fpfethy49q7m1ov4tfyj9.png" alt="Image jsonevent"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Build &amp;amp; Deploy with SAM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once I reviewed the files, it was just a matter of building and deploying.&lt;/p&gt;

&lt;p&gt;Use the following command to build the function:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:&lt;/strong&gt; sam 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%2Fk5nuem9y51zioybitwac.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%2Fk5nuem9y51zioybitwac.png" alt="Image sambuild"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can deploy it to the AWS Cloud using the sam deploy command:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:&lt;/strong&gt; sam deploy&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%2Fk4trvto8sebduxku6fc3.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%2Fk4trvto8sebduxku6fc3.png" alt="Image samdeploy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Change Set&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%2Fam2mt4p51e0vc0v6hy5n.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%2Fam2mt4p51e0vc0v6hy5n.png" alt="Image changeset"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SAM packaged and deployed the API Gateway, Lambda, and DynamoDB resources in my AWS account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review using AWS Console&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since the resources have been deployed in my AWS account, I logged in to the AWS Management Console to verify them.&lt;/p&gt;

&lt;p&gt;Here’s what I checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Gateway – Confirmed the REST API with all CRUD endpoints (GET, POST, PUT, DELETE).&lt;/li&gt;
&lt;li&gt;Lambda Function – Validated that the function was created and linked to API Gateway.&lt;/li&gt;
&lt;li&gt;DynamoDB Table – Verified the customers table with attributes (custId, Name, State, Zipcode).&lt;/li&gt;
&lt;li&gt;CloudFormation / SAM Stack – Ensured the stack deployed successfully with all resources.&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.amazonaws.com%2Fuploads%2Farticles%2Fpuc7tmpgnvtss2q7bitr.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%2Fpuc7tmpgnvtss2q7bitr.png" alt="Image console"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Test the API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that I have the API endpoint, I will use the Postman to invoke the API and will review the response returned.&lt;/p&gt;

&lt;p&gt;However before I invoke a GET request, I will use the command line to POST a record via API that will be stored in the DynamoDB CustomerTable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:&lt;/strong&gt; curl -X POST &lt;a href="https://21374mswxh.execute-api.us-east-2.amazonaws.com/prod/customers" rel="noopener noreferrer"&gt;https://21374mswxh.execute-api.us-east-2.amazonaws.com/prod/customers&lt;/a&gt; \&lt;br&gt;
-H "Content-Type: application/json" \&lt;br&gt;
-d '{"custId":"CUST001", "name":"Girish", "state":"NY", "zipcode":"10001"}'&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%2F05y5rs2o4decfdnq77m4.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%2F05y5rs2o4decfdnq77m4.png" alt="Image curl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will now invoke GET on this API endpoint using Postman. This should return the record that I added to the database.&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%2F69g78p9f2trzhrqqnssk.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%2F69g78p9f2trzhrqqnssk.png" alt="Image postman"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a CRUD API, so it supports other operations as well. For this demonstration, however, I focused on POST and GETrequests, to create a record and fetch a record through the API endpoint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cleaning Up Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To avoid charges, don’t forget to clean up:&lt;/p&gt;

&lt;p&gt;Since these resources were build and deployed using AWS SAM, these can be deleted using AWS SAM command.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command:&lt;/strong&gt; sam delete&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%2F7fjtniy0tam4bnw7xcku.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%2F7fjtniy0tam4bnw7xcku.png" alt="Image samdelete"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this article, I demonstrated how Kiro made it effortless to create a fully functional CRUD Customer Lookup REST APIintegrated with a database, using vibe coding to quickly build a working prototype.&lt;/p&gt;

&lt;p&gt;Not only was the API generated, but an AWS SAM template was also created to support create, update, destroy, and recreate scenarios with Infrastructure as Code.&lt;/p&gt;

&lt;p&gt;Generative AI is transforming the way code is built, and tools like Kiro make the process even easier. While debugging can become more challenging as more code is generated with GenAI, Kiro’s features such as spec-driven development and design documentation generation can help address these challenges.&lt;/p&gt;

&lt;p&gt;I believe this is just the beginning, and these tools will continue to evolve rapidly!&lt;/p&gt;

&lt;p&gt;I hope you found this helpful and informative.&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

&lt;p&gt;Watch the video here:&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/6HJvBUZSWps"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳&lt;br&gt;
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵&lt;/p&gt;

</description>
      <category>aws</category>
      <category>kiro</category>
      <category>ai</category>
      <category>amazonwebservices</category>
    </item>
  </channel>
</rss>
