The brief
Party Hard Travel sells group holidays to young travellers across European destinations — Ibiza, Ayai Napa, Zante, Malia and more. With tens of thousands of bookings per season, complex event allocation across dozens of events, multiple package types, payment plans, and constantly changing requirements, their old system was limited, manual, slow to change and costly.
They needed a complete platform rebuild — not just a better website, but an entirely new technology stack that could run the business.
What I built
The public-facing site handles destination browsing, package selection, real-time availability, and checkout with Stripe — including deposit-based payment with automated instalment plans. Customers see live availability and get instant confirmation. Gift vouchers, discount codes, special offers, and upgrade paths are all built in.
Group holidays are complicated. Friends want to attend events together even if they didn't book together. Reps and venues need to balance capacity, staggered entry times, and availability that changes often during peak season. Reps need to reassign allocations on the fly when things change — which they always do. The old system needed someone working through all of this manually in Google Sheets for every booking. The new one handles almost every booking’s allocations automatically, with conflict detection, backup allocation management, and various other customisable settings.
A cross-platform iOS and Android app built in Flutter, integrated with the web platform's booking engine, CRM, payment system, and photo gallery infrastructure.
It handles the full customer experience from booking through to post-trip. Travellers browse and book packages, buy upgrades, manage shared trips, view itineraries with event details and venue maps, and receive push notifications for payment reminders, event alerts, and booking invitations. Digital QR code tickets handle event entry.
Customers upload their own photos and find themselves in event galleries using facial recognition, invite friends to group bookings, send emergency messages to resort reps with live battery and location data, browse local discounts, and receive personalised goodbye videos compiled from their trip photos.
It's not a wrapper around a website — it's a proper native app with offline support, maps integration, and in-app payments, sharing a unified backend with the web platform.
On-the-ground staff get their own admin interface for managing bookings at the destination — QR code check-ins, wristband collection tracking, real-time event management, booking search, and the ability to reassign allocations on the fly when things change.
Every customer interaction is tracked from first website visit through to post-trip feedback. Automated communication workflows handle booking confirmations, pre-trip information, payment reminders, and post-trip follow-up. ManyChat integration for Messenger-based communication, Mailerlite for email campaigns, with customer segmentation and lead source attribution.
Event photographers upload images directly to the platform during or after each event. The system processes them through facial recognition, matching faces to traveller profiles. Customers open the app and find every photo they appear in — across every event, every venue, every night — without scrolling through thousands of images. It turns a manual tagging job that would never realistically happen into something that just works.
Stripe for payments. GlowNet for event ticketing. ManyChat and Mailerlite for marketing. Cloudflare R2 and Workers for image storage and processing. AWS Rekognition for facial recognition. Firebase for push notifications. Supabase for the CRM and real-time data sync between the web platform and the mobile app.
The result
Manual allocation has been eliminated for almost every booking — a process that previously required someone working through Google Sheets for each one. The office team now runs the entire business from one platform instead of spreadsheets, email threads, and disconnected tools. Reps manage everything on the ground from their own interface. Customers find their own event photos automatically instead of never finding them at all. The platform continues to evolve every month — new features, new integrations, new business logic added as the business grows.