Rativa
Competitor rate monitoring for independent hotels, built full-stack.
Please note: Rativa is an independent software product, shown as evidence of full-stack work beyond Shopify. No customer, revenue or adoption figures are claimed. The screenshots come from the public rativa.ai site and use its fictional sample hotels.
Screenshots
Browse views

Overview
Rativa is a hotel market intelligence platform I built independently. It collects competitors' public room rates, shows them beside the hotel's own rate for the next 14 nights, and flags the changes worth a look.
Role and project type
Independent product. I built the web application, the database layer and the scheduling that feeds the data-collection workers.
- Next.js web application
- Supabase database and authentication
- Data-collection workers
- Pricing analytics and dashboards
- Calendars, alerts and hotel management
- Subscription billing
What I wanted to achieve
Independent hotels set their own rates but rarely have a revenue-management system. The aim was a quiet daily view of what the hotels guests compare you with charge for the coming nights, without spreadsheets or a dozen browser tabs.
Approach
- The app runs on Next.js (App Router) with Supabase for Postgres, sign-in and row-level security. Most reads and writes go straight to Supabase, scoped per user and hotel.
- A scheduled job queues collection tasks. A separate Python and Playwright worker, in its own repository and container, picks them up and stores the results for the app.
- Data states are shown honestly: priced, sold out, no match, not checked and stale. A failed check keeps the last known prices rather than showing a zero.
Key features
Rates grid and calendar
Nights by hotels, or a month view, with a detail panel for each night.
Alerts
Price moves and sell-outs grouped by night, with an email digest after each check.
Rate advisor
Rule-based pricing guidance for the next seven nights, with the working shown. Clearly labelled as not AI.
Performance
Nightly rooms sold, revenue, ADR and occupancy alongside the market view.
Several hotels, eight languages
Switch between hotels, each with its own competitors, alerts and schedule.
Technology
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- Supabase (Postgres, Auth, RLS)
- Recharts
- Stripe
- Vercel and Vercel Cron
- Python and Playwright worker (Docker)