Backend Architecture
- Designed scalable data models with Supabase, including complex relations and RLS policies
- Implemented efficient caching strategies using Redis and CDN edge caching

Digital platform for NZ motorcycle tours using Vue, Supabase and server-side caching. Focused on performance and progressive enhancement.
A Vue-based tourism platform with server-side caching and Supabase backend. Handles tour bookings, user auth, and content management for a NZ motorcycle tour company.
Full auth system with email/social login, role-based access, and secure session management. Uses Supabase tables with RLS policies for tour data, bookings and user profiles.

Implemented Redis caching layer for tour data and static content. Significantly reduced database loads and improved response times from ~800ms to <100ms.
Dynamic tour catalog with real-time availability, booking system, and admin dashboard for managing schedules and capacity.

Image optimization pipeline using Sharp.js, automated WebP conversion, and CDN delivery. Lazy loading and progressive enhancement for fast initial loads.

Tour route visualization using Mapbox GL JS with custom styling. Cached route data and vector tiles for offline support.
Optimizing for high-traffic periods with potentially thousands of concurrent users checking tour availability. Solved through aggressive caching and DB query optimization.
Managing relationships between tours, bookings, users and availability calendars. Used Supabase foreign keys and views for data integrity.
Handling large volumes of high-res tour photos while maintaining fast page loads. Implemented responsive images, WebP conversion and CDN caching.