I'm In Hawaii — Tourism & Local Business Discovery Platform (Web + Mobile)https://iminhawaii.com
A full tourism and local-business discovery platform for Hawaii — "the best of Hawaii in one place." Visitors browse businesses, beaches, attractions, and deals across four islands by region and category, save favorites with reminders, leave ratings, and claim deals. It's a complete multi-platform system: a Flutter app live on the App Store and Google Play, a Laravel REST API, a public marketing site, and two admin portals — one for platform operators and a self-service portal for businesses to manage their listings, deals, and analytics. Stripe powers deal purchases, Firebase handles push notifications.
The Problem
Hawaii's best businesses, beaches, attractions, and deals are scattered across review sites, social media, and local knowledge — frustrating for visitors trying to plan, and hard for local businesses to reach tourists at the right moment. The client needed a single platform that brought all of it together: a polished consumer app for travelers, a way for local businesses to list themselves and run deals without technical help, and a back office to manage the whole marketplace — all sharing one source of truth across web and mobile.
The Approach
I built it as one system serving three audiences. Travelers get a native Flutter app (and a public web experience) to browse by island, region, and category, save favorites, set reminders, rate places, and claim deals — with push notifications and offline support so it stays useful with patchy signal. Local businesses get a self-service portal to manage their listing, publish deals, and see real engagement analytics — clicks to their phone, website, map, and socials — without ever contacting support. Platform operators get a full admin back office with analytics dashboards, promo-code and content management, and automated monthly reporting. A single Laravel API and database underpin all of it, so web, mobile, and both portals always agree.
Architecture
A Laravel 10 REST API is the backbone, with token authentication (Sanctum) securing the mobile and web clients against a shared MySQL database. The consumer app is built in Flutter for iOS and Android using GetX for state management and Dio as the API client, with Firebase Cloud Messaging for push notifications and local caching for offline browsing. The web layer — the public marketing site plus two Filament panels — is served by the same Laravel app: Blade, Livewire, and Alpine power the public pages, while one Filament panel handles platform administration and a second, separately-scoped panel gives business owners a self-service portal restricted to their own data. Stripe handles deal purchases through dedicated payment controllers, media is stored on DigitalOcean Spaces (S3-compatible) with on-upload optimization, and analytics dashboards are rendered with ApexCharts. Spam is mitigated with honeypots and rate-limited jobs, and scheduled commands send monthly reports and favorite reminders via cron.
Outcome
Delivered and launched a complete multi-platform marketplace — live on the Apple App Store and Google Play, with a public web presence and a populated catalog spanning all four main Hawaiian islands and 14+ categories. Local businesses self-manage their listings and deals and see real engagement data; platform operators run the marketplace from a single back office with automated reporting. One Laravel API keeps web, mobile, and both portals perfectly in sync.
Tech Stack
Have a project like this?
I build multi-tenant SaaS, real-time systems, and mobile apps end-to-end.
Get in touch →