How it works

From tap to tailored destinations

Planova runs a resilient pipeline: capture intent, fan-out to providers, enrich with cost and weather, then rank for value.

Google + OSM fallbackBudget guardrailsValue scoring

Coverage

190+ countries

Median API latency

< 350ms

Cache window

6–24h smart

1
Step 1

Drop a pin or search

Map tap or autocomplete resolves coordinates with Google first and OSM as a resilient fallback.

Set radius and currency up front to bias the search toward what matters to you.

2
Step 2

Tune budget + dates

Guardrails keep results inside your min/max, currency, traveler count, and trip style.

Thumb-friendly sliders and date pickers update the pipeline instantly.

3
Step 3

Review signals, then shortlist

Value score, availability, safety, and weather surface early so you can act fast.

Jump to booking with transparent totals, or save favorites (coming soon).

Pipeline

What happens after you search

  1. 1Geocode via Google first; fall back to OSM when needed.
  2. 2Fan-out to Places search; dedupe and normalize to destination cards.
  3. 3Estimate flights/hotels/food to derive total and ValueScore.
  4. 4Fetch weather + availability signals; annotate cards.
  5. 5Cache results for fast reruns and lower external calls.

Pillars

Why it feels reliable

Data resilience
Google Places primary
OSM/Nominatim fallback
Cache to cut redundant calls
Budget clarity
Flight + hotel estimators
Daily cost band
ValueScore ranks what’s worth it
Signal-first UI
Availability badges
Weather + safety hints
Micro-interactions kept subtle
Fast everywhere
Edge-friendly fetches
Deferred hydration cues
Lightweight in-memory cache
Production tip: set NEXT_PUBLIC_BASE_URL and NEXT_PUBLIC_GOOGLE_MAPS_API_KEY so server fetches resolve correctly in your deployed domain.

Experience

Stay in flow

Auto-scroll to results, minimal popups, and instant feedback on each tweak keep you moving without friction.

Optimistic UI pathsScroll-linked revealsThumb-friendly controlsNo modal traps
SSR + streaming for speed
Edge-friendly fetch strategy
IntersectionObserver reveals
Graceful fallback when JS is delayed