AWS Builder Center

Weekend Productivity Challenge: Building a Serverless AI Trip Planner with Kiro & Amazon Bedrock!

Built in a single weekend, AI Trip Planner showcases how Kiro and AWS serverless services can rapidly transform an idea into a production-style AI application. Users can generate personalized travel itineraries with Amazon Bedrock and share them via email using Amazon SES, all without managing servers or databases.

AI Summer Trip Planner is a serverless web application built using Kiro's Vibe Coding workflow, Amazon Bedrock, AWS Lambda, API Gateway, Amazon SES, and Amazon S3. It generates personalized AI-powered travel itineraries based on user preferences and allows travelers to email beautifully formatted trip plans with a single click.
Vision & What the App Does
When I wrapped up work on Friday, July 10, 2026, I had no plans to build a fully functional AI application using AWS over the weekend. Who would have thought that a full-stack application powered by multiple AWS services and Generative AI could not only be built in a single weekend but also deployed and made publicly available as a web application?
A LinkedIn post about the July Weekend Hackathon inspired me to take on the challenge. After brainstorming a few ideas, I decided to build an AI-powered Trip Planner with an intuitive web interface that allows travelers to personalize their itinerary based on preferences such as destination, travel style, budget, travel pace, interests, food choices, dietary requirements, and must-visit places.
 Planning a vacation often means jumping between multiple websites, reading reviews, and manually piecing together an itinerary. My goal was to explore how quickly an AI-powered travel planner could be built using modern serverless technologies on AWS.
 The result is AI Trip Planner, a lightweight serverless web application that generates personalized, day-by-day travel itineraries using Amazon Bedrock and allows users to email their completed itinerary using Amazon SES, all without managing servers or databases.
 The project was intentionally designed to be simple enough to build over a single weekend while demonstrating how Generative AI and serverless AWS services can be combined to rapidly build and deploy practical, real-world applications.
How I Built It
 As I am an avid user of Kiro, a specs driven development IDE, I decided to use the vibe coding workflow to build this application. I collaborated with Kiro to progressively design, implement, and validate the application.
 For a weekend project, Vibe coding was the perfect way to go about it as I did not need requirement, design and task documents. I quickly needed a HTML based UI that can invoke Bedrock via an API and Lambda function and can return the response using the underlying model like Nova Lite using Bedrock. 
Using Kiro, I implemented:
  • Responsive HTML, CSS, and Vanilla JavaScript frontend 
  • Python AWS Lambda functions 
  • Amazon Bedrock prompt engineering 
  • API Gateway integration 
  • Amazon SES HTML email generation 
  • Structured JSON validation and parsing 
  • AWS SAM infrastructure templates 
  • IAM least-privilege permissions 
  • CORS configuration and error handling 
  • End-to-end deployment and testing 
Kiro's Vibe Coding workflow made it easy to iterate quickly while keeping the project organized and maintainable. The generated specifications ensured every feature from UI validation to Bedrock prompt design and deployment was implemented systematically rather than through ad hoc coding.
 The application follows a secure serverless architecture where the browser never communicates directly with Amazon Bedrock. Instead, all AI requests flow through Amazon API Gateway and AWS Lambda before invoking the foundation model.
AWS Services Used
Below noted services are used to build and deploy the working application.
  • Amazon Bedrock (Nova Lite) 
  • AWS Lambda (Python) 
  • Amazon API Gateway 
  • Amazon SES 
  • Amazon S3 Static Website Hosting 
  • AWS SAM 
  • AWS IAM 
  • Amazon CloudWatch
  • Cloudflare DNS
Architecture Overview 
I used Kiro's custom skill to generate the architecture diagram for this application. 
Request Flow
  • User enters travel preferences. 
  • Frontend calls API Gateway. 
  • Lambda validates the request.
  • Lambda builds a structured prompt. 
  • Amazon Bedrock generates the itinerary. 
  • Lambda validates and returns JSON. 
  • Frontend renders the itinerary. 
  • User optionally emails the itinerary through Amazon SES.
    • Email function is in sandbox hence only pre-verified emails can receive the itinerary. 
 Access the Application
The application is publicly available and can be accessed at:
Simply visit the URL, enter your travel preferences, and generate your personalized AI-powered itinerary in seconds.
Example of UI
Generated Itinerary is displayed and can also be shared via email.
 Email Feature Disclaimer
The Email This Plan feature is currently running in the Amazon SES Sandbox environment.
Due to Amazon SES sandbox restrictions, emails can currently be sent only to email addresses that have been pre-verified in Amazon SES. If you enter an email address that has not been verified, the application will return an error indicating that the recipient is not authorized.
 What I Learned
 This hackathon reminded me that AI is changing not only the applications we build but also how we build them. Kiro's Vibe Coding workflow significantly accelerated development while keeping the project organized from requirements and design through implementation and deployment. 
 Kiro remained my development partner throughout the entire process, helping me collaborate, iterate, and deliver the application from concept to deployment.
 It was also a great opportunity to deepen my hands-on experience with Amazon Bedrock, serverless application development, and deploying a production-style application entirely on AWS.
 Give it a try!
 Visit https://tripplanner.cloudwithgirish.com , generate your next summer vacation itinerary with AI, and share your feedback. I'd love to hear your ideas for future enhancements!
 Note: To help control costs and protect the public API during the hackathon, API throttling has been enabled. If you receive an HTTP 429 (Too Many Requests) response, it means the API has either reached its daily request quota or exceeded the configured rate limits. Please try again later.
Thanks,
𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶
𝘈𝘞𝘚 𝘊𝘰𝘮𝘮𝘶𝘯𝘪𝘵𝘺 𝘉𝘶𝘪𝘭𝘥𝘦𝘳 | 𝘈𝘐 𝘌𝘯𝘨𝘪𝘯𝘦𝘦𝘳𝘪𝘯𝘨
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘎𝘦𝘯𝘈𝘐 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘊𝘭𝘰𝘶𝘥 𝘗𝘳𝘢𝘤𝘵𝘪𝘵𝘪𝘰𝘯𝘦𝘳
𝘈𝘞𝘚 𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article