🏨 AI-Powered Hotel Booking Assistant using Amazon Nova
Project Overview
The Hotel Booking Assistant is a real-time conversational application that helps users search, explore, and book hotels efficiently. It leverages Amazon Nova foundation models for natural language reasoning and voice interaction, providing a seamless, AI-powered hotel booking experience.
Users can query hotel availability, prices, ratings, rooms, and bookings using typed input or voice commands, while all data is stored and managed in PostgreSQL for reliability and speed.
Why This Project Matters
Travelers often face fragmented hotel information and time-consuming booking processes. This assistant:
- Simplifies hotel search and booking in real-time.
- Uses AI to understand complex queries like "Show 4-star hotels in Karachi under 150 USD with available rooms next weekend."
- Reduces manual effort by combining voice AI, reasoning, and database workflows.
How It Works
Amazon Nova 2 Lite:
- Processes user queries and reasons over hotel data to generate intelligent responses.
- Handles complex multi-part requests, e.g., combining city, price, rating, and date filters.
- Processes user queries and reasons over hotel data to generate intelligent responses.
Amazon Nova 2 Sonic (Voice AI):
- Converts speech input into text for natural conversation.
- Enables hands-free hotel search.
- Converts speech input into text for natural conversation.
Hotel Tools:
- Search by city, name, price range, rating, availability, and booking details.
- Check room availability and retrieve hotel details dynamically.
- Search by city, name, price range, rating, availability, and booking details.
PostgreSQL Backend:
- Stores hotel, room, and booking data.
- Ensures fast, reliable query responses.
- Stores hotel, room, and booking data.
Streamlit UI:
- Provides an interactive interface with text input, voice input button, and real-time responses.
- Displays conversation history for continuity.
- Provides an interactive interface with text input, voice input button, and real-time responses.
Key Features
- Real-Time AI Reasoning: Nova 2 Lite understands and answers complex queries.
- Voice Interaction: Nova 2 Sonic enables natural speech input.
- Multi-Tool Integration: Combines 9 hotel-related tools for rich data retrieval.
- Database Integration: PostgreSQL ensures persistent storage and fast query results.
- Conversation Memory: Maintains chat history for contextual responses.
Challenges We Overcame
- Integrating Nova LLM with multiple hotel tools for seamless reasoning.
- Handling voice input robustly with speech-to-text conversion.
- Managing real-time database queries without slowing down the application.
- Ensuring all modules (voice, tools, database, AI) work together smoothly.
Tech Stack
- AI: Amazon Nova 2 Lite (reasoning), Nova 2 Sonic (voice)
- Backend: Python, LangChain, Boto3, PostgreSQL
- Frontend: Streamlit
- Tools: Custom hotel search, booking, availability tools
- Deployment: Cloud-ready Python application
Demo
- Video: [Insert 3-min demo link with #AmazonNova]
- Code Repo: Insert GitHub link
What We Learned
- Using foundation models like Nova makes reasoning over complex queries seamless.
- Voice AI can significantly improve user experience.
- Real-world workflows (hotel search + booking) can be fully automated using AI + databases.
Future Enhancements
- Integrate Nova Act to automate booking confirmations and calls.
- Add multi-city itineraries and recommendation ranking.
- Incorporate multimodal embeddings for image-based hotel search.
Team / Individual: Muhammad Moaz
Hackathon Category: Agentic AI / Voice AI / Freestyle
Technologies: Amazon Nova, LangChain, PostgreSQL, Streamlit
Built With
- amazon-nova-foundation-models-other-tools-/-technologies:-dotenv-(environment-variables)
- bedrock)
- boto3-(aws-sdk)
- git/github
- langchain
- languages:-python-frameworks-/-libraries:-streamlit
- rapidapi-(tripadvisor-api)-databases:-postgresql-apis:-tripadvisor-api-(via-rapidapi)
- speechrecognition-platforms-/-cloud-services:-aws-(amazon-nova
Log in or sign up for Devpost to join the conversation.