Schengen 90 in 180 day tracker

ConsumerWebweekendNext.jsSupabaseStripe

The idea

The Schengen 90/180 rule is a rolling-window calculation that humans are terrible at: every day that passes, the window moves, and days from five months ago silently expire back into your allowance. Nomads and second-home owners do the maths on napkins or in one-shot web calculators that forget everything, then re-enter fifteen trips from memory each time.

The wedge is persistence plus consequence. Trip history entered once, a rolling-window chart that makes the rule visible, a latest safe exit date while you are inside the zone, and simulation for planning the next trip. The one-shot calculators that rank for these searches cannot do any of it, which is exactly why they are free.

Who pays

The buyer is a non-EU nomad, retiree, or UK second-home owner for whom an overstay means fines or an entry ban, against which 20 dollars a year is nothing. Subscriptions via Stripe with a free stateless calculator as the SEO front door: Schengen calculator queries have big, durable volume, and every post-Brexit British homeowner in Spain or France is a customer. Secondary channels: r/digitalnomad and nomad newsletters.

MVP scope

  • Trip CRUD with Schengen membership dates handled correctly
  • Rolling 180-day window chart with date scrubber
  • Days used, days remaining, and latest safe exit date, computed properly (entry and exit days count)
  • Future-trip simulator with maximum-stay answers
  • Email alerts at 75 and 85 days used
  • Skip for v1: passport OCR import, other visa regimes (US B2, UK), mobile apps, multi-person accounts
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build SchengenSafe, a Next.js web app that turns the 90-in-any-180-days rule into a persistent, always-correct dashboard.

Auth: magic-link via Supabase, no passwords. Core data: trips, each an entry date, exit date (or ongoing), and country; only Schengen-area countries count toward the rule, so keep a country list with Schengen membership flags and effective dates (Croatia 2023, Romania and Bulgaria 2025 land borders — store join dates and respect them in the maths).

The engine: for any given date, compute days used in the trailing 180-day window (entry and exit days both count as days of presence). From that, derive the three numbers the dashboard leads with: days used today, days remaining, and the latest safe exit date if I am currently inside (walk forward day by day until usage would hit 90).

Visualisation: a horizontal 180-day rolling window chart, trips as coloured bars, with a draggable date scrubber that recomputes the numbers for any past or future date.

Trip simulation: add a hypothetical future trip and instantly see whether it violates the rule and the maximum permissible length for those dates.

Email alerts via Supabase scheduled functions: at 75 and 85 days used, and 7 days before the latest safe exit date.

Pages: Dashboard, Trips (CRUD table), Simulator, Settings/billing.

Pricing via Stripe: free calculates a single stateless check; 20 dollars per year saves trip history, simulation, and alerts. Show a disclaimer that border officials' records are authoritative.

// More Consumer ideas