case study

Geode

Geode is a hospitality-intelligence dashboard. It turns scattered public signals (guest reviews, ratings, and pricing) into one view of how a hotel is really doing. I built it on a simple realization: a star rating is weighted toward past performance, not current conditions. Management changes can shift a hotel in a matter of months — so the trajectory of its reviews is often the more revealing signal.

I designed and built it end to end — the ingestion pipeline, the scoring model, and the interface. The live demo runs over two sample markets, Austin and New York.

A Geode venue-detail view: a hotel scored at a Geode Index of 93, with tiles for rating, rate, recent-vs-lifetime, sentiment, and press

THE IDEA

Most tools hand you a star rating. Geode gives you review trajectory and keyword themes, so hotel owners and travel advisors can make an informed call without scouring multiple review sites.

WHAT'S IN IT

  • A blended Geode rating. One rating, volume-weighted across Google, Tripadvisor, and Booking, with each platform counted once inside a rolling four-year window — so no single source skews the picture.
  • Trajectory and trends. Monthly rating trend, recent versus lifetime, and keyword themes rising or falling. Direction over snapshots.
  • Keyword intelligence. Review text sorted into dimensions (service, food and beverage, condition, value) with a type-aware lexicon, so a hotel's restaurant is judged on food, menu, and wait — not its rooms.
A Geode dataset view: Austin's luxury hotels ranked by score, rating, trend, review volume, and rate per night

HOW IT WORKS

  • Scrape. Config-driven ingestion pulls reviews (Apify) and ratings and rates (DataForSEO) per market. One shared import engine and a dataset registry mean adding a market is a config entry, not a code fork.
  • Store. Postgres and PostGIS, with a bundled-JSON read path the front end can fall back to.
  • Analyze. De-duplicate so each platform counts once, window to four years, derive the blended rating and a composite score, run the monthly trajectory math, and detect which keyword themes are moving.
  • Serve. An installable React and Vite PWA over an Express API, with charts in Recharts and a Mapbox map of the comp set.

Stack: React + Vite (PWA), Recharts, Mapbox GL, Node/Express, Postgres + PostGIS, deployed on a VPS.

OUTCOME

Geode is live as an alpha demo — a product-and-engineering portfolio project that brings together the two halves of my work: a decade inside luxury travel, and building data products in code.