
01 / 2026
Kembara
Turns the reels you save into a calm, day-by-day trip plan.
- Role
- Solo: product, design, iOS, web and backend
- Platform
- iOS app and installable web app
- Next.js
- Expo
- TypeScript
- Supabase
- Claude API
- Google Places
- TanStack Query
Trip ideas pile up as saved TikToks, reels and Maps links. Paste them into Kembara and it finds and verifies each place, plans your days around your pace, food needs and hotel, then tells you what is next on the trip, in the local language, even with no signal.
Design
- Two modes, two densities: edit-heavy planning on the couch, glance-heavy Today mode for one hand and bad signal
- Every in-trip action takes two taps or fewer. The next stop is set in large local script, ready to show a taxi driver
- AI proposes, you decide. Plans arrive as drafts with new and moved stops marked, and nothing changes until you apply
- Light and dark themes with five accents, each checked for contrast. The next stop is always the loudest thing on screen
Engineering
- Claude with Zod-validated structured output, streamed day by day. Google Places verifies every place, opening hours included
- Layered architecture with ESLint-enforced boundaries, so one domain layer of pure, tested rules serves both the web and iOS apps
- Offline first: the query cache persists to IndexedDB on the web and SQLite on iOS, and Done and Skip sync when back online
- Supabase Postgres with row-level security on every table, SQL tests in CI, and migrations applied on merge
- Native iOS: a Live Activity in the Dynamic Island, widgets, a share extension for reels and HealthKit steps for the trip recap

