Travel · Plexe product · In production

A live hotel search box, and a demo of searching hotels by sentence.

Hotel search has two steps: a box that knows which place the traveller means, and a way to ask for the kind of hotel they want. Plexe ships the first as Autosuggest, a live product at suggest.plexe.ai that suggests places and hotels in 224 countries. The second exists as a demo: natural-language search and reranking over 1,652 hotels in a resort region, with a console for tuning rerankers.

224
Countries covered by Autosuggest
5,000 requests a day
Free tier
1,652
Hotels in the search demo
335
Demo hotels with review summaries

How it fits together

  1. Traveller
    types a place or hotel
  2. Search box
    @plexe/autosuggest
  3. Autosuggest API
    suggest.plexe.ai
  4. Place's hotels
    opened by the suggestion's id
  5. Pick reports
    tune the ranking

The challenge

  • Travellers type cities, landmarks, airports and hotel names into one box
  • A request on every keystroke is slow and wasteful
  • Free-text requests carry star rating, area and amenities that keywords miss
  • A hotel with no reviews should not be scored as a bad one

What we built

  • A dependency-free search box web component with a React wrapper
  • Suggestions with coordinates and hotel counts in 224 countries
  • Query understanding that turns a sentence into filters (demo)
  • A weighted rerank over embeddings, stars, themes and reviews (demo)

What it is for

A hotel search starts with a place. The traveller types a city, an area, a landmark, an airport, an island or a hotel name, and the site has to resolve it before it can show anything. Autosuggest does that step. The harder step comes next: a traveller who knows the place often describes the hotel rather than naming it, by star rating, area, theme or a must-have amenity. The search demo shows how Plexe handles that second step.

The search box, live

Autosuggest ships as @plexe/autosuggest, a web component with no dependencies plus a React wrapper, loaded from suggest.plexe.ai with one script tag or installed from npm. Each suggestion carries its coordinates and hotel count, and its id opens the place's hotels in the API. Website keys list the domains they may be used on, so they are safe in page code, and the free tier covers up to 5,000 requests a day.

The component handles the details that make a search box feel quick. The first keystroke is sent at once and later ones are spaced by a 120 ms debounce; a new request cancels the one in flight, and late answers to old text are dropped. Arrow keys, Enter and Escape work, and screen readers hear the list. Each pick is reported back to tune the ranking, and a site can switch that reporting off.

Searching by sentence, as a demo

The natural-language demo indexes 1,652 hotels in a resort region, 335 of them enriched with review summaries from a review provider. Claude Haiku 4.5 reads the query and extracts minimum stars, sub-area, themes, property type and must-have amenities. A rewritten version of the query is embedded with Cohere on AWS Bedrock and matched in ChromaDB, then a weighted rerank combines similarity, at 0.65, with review, star, theme and amenity signals.

Two design choices keep results honest. Star rating is a soft boost rather than a hard filter, so a search never comes back empty, and the interface shows the traveller what was inferred. Hotels without reviews are labelled “no reviews yet” instead of being scored as poor. A Next.js console sits on top of the engine to tune rerankers, run experiments and evals, and manage datasets.

Where it stands

Autosuggest is a live product: anyone can sign up at suggest.plexe.ai, create a website key and add the box to a page with one script tag. The natural-language search is a demo over a fixed set of hotels, without prices or availability, and image search and a map view are listed as outside its first version. No accuracy or usage figures have been published for either part yet.

Under the hood

Stack

  • TypeScript web component
  • React
  • npm
  • FastAPI
  • ChromaDB
  • AWS Bedrock
  • Claude Haiku 4.5
  • Next.js

More in Travel