Case Studies

Deep dives into how we approach real projects — the problems, decisions, and outcomes.

Flutter Supabase Multi-platform Real-time

HouseKept — Real-time housekeeping operations

The challenge: Hotels and serviced properties need to coordinate housekeeping teams across dozens or hundreds of rooms daily. Existing tools are either paper-based, expensive enterprise software, or generic task managers that don't fit the workflow.

Our approach: We built HouseKept as a purpose-built operations app with role-based access (managers, supervisors, staff, linen staff), real-time sync via Supabase, and a mobile-first design that works on phones, tablets, and desktops.

Key decisions

  • Flutter for cross-platform: One codebase for iOS, Android, Windows, macOS, and web. Staff use phones; managers use desktops.
  • Supabase for backend: PostgreSQL with real-time subscriptions means room status updates appear instantly across all connected devices.
  • QR/access code login: Daily access codes for housekeeping staff who don't have company email accounts.
  • Photo evidence: Built-in camera integration for proof-of-cleaning and maintenance reports.
  • Offline-capable: Core features work without connectivity; syncs when connection returns.

Results

  • Multi-platform app running on 5 platforms from a single codebase
  • Real-time room status tracking across the entire property
  • PDF reports generated on-device for management review
  • Linen tracking workflow with dirty/clean counts and evidence photos

Next.js Supabase Stripe E-commerce

PreLoved Lighting — Curated vintage e-commerce

The challenge: Create a boutique e-commerce experience for vintage lighting that feels like a curated gallery, not a generic marketplace. The site needs era-based filtering, Stripe checkout, and a protected admin studio for product lifecycle management.

Our approach: We designed a "Timeless Luminescence" aesthetic — warm tones, gallery-style product cards, and thoughtful typography. The admin studio gives the owner full control over product status (Incoming, In Restoration, Photography, Live, Sold).

Key decisions

  • Next.js 16 App Router: Server-side rendering for SEO, fast page loads, and clean routing.
  • Supabase with RLS: Row-level security ensures only "live" products are visible to customers.
  • Stripe Checkout + Webhooks: Secure payment flow with automatic order confirmation.
  • Era filter system: Products tagged by design era (Art Deco, Mid-Century Modern, Victorian, etc.) for browsing.
  • Design token system: CSS custom properties for consistent warm palette across all components.

Results

  • Fully functional e-commerce site with curated gallery aesthetic
  • Password-protected Manager's Studio for product lifecycle management
  • Stripe-powered checkout with webhook-based order processing
  • Era-based filtering and search across the product catalogue

Have a similar challenge?

We'd love to hear about your project. Get in touch for a no-obligation conversation.

Get in touch