⭐ Inspiration Hotels often look perfect on official booking sites—but the safety, vibes, and real guest experiences are hidden deep inside scattered comments on Facebook, TikTok, Reddit, YouTube, and travel blogs. We wanted a tool that summarises the “real feelings” of a hotel, especially safety and creepiness, without users needing to search across multiple platforms.
That idea became Whisper Hotel: an AI-powered Chrome extension that analyses hotel discussions anywhere on the web.
⭐ What it does Whisper Hotel automatically detects when you're looking at a hotel online, then: Shows a popup where users can discuss the hotel anonymously Rates each comment using AI (1–5 stars based on tone, safety, cleanliness, positivity) Generates an AI summary across all comments (Safety, Spookiness, Location, General) Lets users chat with an AI agent trained only on real comments Syncs all comments and ratings to Supabase in real-time Works on any website thanks to content-script scanning and NLP hotel detection It’s like having a hotel “truth detector” with you while you browse.
⭐ How we built it We used a combination of: Chrome Extension (Manifest V3) – content scripts, service worker, MutationObserver Supabase – for user accounts, comments, and rating storage Node.js backend – Express server connecting to Ollama Ollama + Llama 3.2 – to summarise comments, answer user questions, and auto-rate each comment Custom NLP detection – to pick up hotel names from web pages Dynamic popup UI – fully built in client-side JS + custom CSS
Our workflow: Insert comment → rating = 0 Ask AI → get real rating 1–5 Update rating back into Supabase Re-render UI instantly This creates a fast and smooth user experience.
⭐ Challenges we ran into Chrome MV3 service worker bugs (no DOM access, async messaging issues) Ensuring AI returns clean JSON instead of markdown (LLM loves to break this) Supabase returning ratings as strings, causing 0 instead of real values Race conditions when updating comment ratings after insertion Keeping UI responsive while backend tasks run asynchronously Detecting hotel names reliably from messy URLs and page text We spent a lot of time debugging message flows between content.js → background.js → Node server → Supabase.
⭐ Accomplishments that we're proud of AI rating now works end-to-end (frontend shows stars, backend stores correct rating) Built a fully functional Chrome Extension with a smooth, clean UI AI summary that actually focuses on safety + creepiness, not generic hotel reviews Real-time comment posting with optimistic UI updates Designed the whole ecosystem: frontend, backend, database, AI, and UX It feels like a real product, not just a hackathon prototype
⭐ What we learned Handling asynchronous Chrome extension messaging properly How to integrate local LLMs (Ollama) with production-style flows JSON-only enforcement for LLMs is harder than expected Real-time UI requires careful “optimistic updates” and rollback logic How to structure data models in Supabase for extensible features The importance of fallback logic when AI or network fails
⭐ What's next for Whisper Hotel These are the features we want to add after Hack&Roll: Multi-platform scraping (TripAdvisor, Agoda, Booking.com) AI-generated hotel “creepiness score” Visual heatmaps (safety vs spookiness vs comfort) More categories (Noise, Cleanliness, Staff, Privacy) Mobile version (Chrome Android + standalone app) Browser automation to monitor hotel mentions across the web Public profile system for reviewers Combined analysis from external social platforms
⭐ Our Aim ⭐ We want to make Whisper Hotel the #1 place to check if a hotel feels safe before booking.
Built With
- api
- chrome
- extension
- javascript
- llama
- llm
- natural-language-processing
- node.js
- ollama
- supabase

Log in or sign up for Devpost to join the conversation.