All work

iOS · Android · Web — Local Guide

On Island

The local guide to the U.S. Virgin Islands.

Platforms
iOS · Android · Web
Status
Live in the App Store and Google Play
Launched
Web May 2026 · apps September 2026
Coverage
St. Thomas, St. John, St. Croix
On Island preview

The problem

Generic directories (Yelp, Google) aren't tuned to the islands. A cruise visitor in port for the day, a snowbird who lives there half the year, a villa renter for a week, and a year-round local all want different things from the same map — and they care about signals the big platforms ignore: how many cruise passengers are ashore, what the beach conditions actually look like, when the ferry leaves, what's still open after 8pm in the off-season.

The solution

Native iOS and Android apps and a web app, all on one Supabase backend, that recognize who you are — traveler, local, villa owner or snowbird — and reorder the home screen, category grid and emergency strip to match. A daily Island Brief puts cruise crowds, weather, tides and beach conditions on the front page. Businesses sign up and pay for their own listings, and admins approve each one before it goes live.

Highlights

  • Native iOS (SwiftUI) and Android (Kotlin / Jetpack Compose) apps in the App Store and Google Play, alongside the web app — one backend for all three
  • Daily Island Brief — cruise passengers ashore hour by hour, weather, tides, beach conditions, UV, and NOAA storm alerts
  • Getting Around — today's flights, ferries and car barges, taxi rates and buses
  • Full English and Spanish, with AI translation of listing content that re-translates when the source changes
  • Search inside restaurant menus — PDF text layer first, Google Vision OCR fallback, indexed in Postgres
  • PostGIS-backed map of beaches, pools, ATMs and every listed business
  • Self-serve business listings with annual billing through Braintree, admin approval before going live, and review notifications for owners
  • Three auth realms (user / business / admin) with the role injected into the JWT via a custom Supabase access-token hook — row-level security is the primary permission layer

Stack

Next.jsSwiftUIKotlinPostgreSQLSupabase

Integrations

BraintreeMapboxGoogle MapsGoogle Cloud VisionClaudeResend

Inside the product

What it actually looks like.

Welcome screen asking whether you are a visitor, local, villa owner or snowbird
Pick who you are — the app reshapes around you.
Home screen with island switcher, today's brief and quick access
Home, with the day's brief and quick access.
Today's brief with weather alerts and cruise crowd chart
Today's brief — alerts, cruise crowds, conditions.
Getting around screen with live airport arrivals
Getting around — live arrivals, ferries, taxis.
Map of St. Thomas with beach, pool and business pins
Beaches, pools, ATMs and businesses on one map.

Need something like this?

I'm taking on a small number of new projects each quarter. Let's talk about what you're building.

Start the conversation