Hobart.com.au
A technically complex multi-domain tourism platform — single codebase running 20 location-based sites, with a Flask-powered API aggregating live tour and accommodation data from sources like Wotif and Rezdy and presenting it tailored to each visitor.
Overview
hobart.com.auHobart.com.au is a location-based tour and accommodation listings platform — and one of the more technically involved projects in the portfolio. Behind the scenes, a single codebase runs 20 separate domains, each tailored to its own location, with a Flask-powered API aggregating tour and accommodation data from third-party booking platforms like Wotif and Rezdy. Each visitor sees a site that's specific to where they are and what they're looking for, even though the underlying system is one shared application.
What we did
- Custom Flask API for third-party data aggregation
- Wagtail (Django) front end for content and editorial control
- Single codebase running 20 location-specific domains
- Visitor-specific content rendering
- Integration with Wotif, Rezdy, and other tourism APIs
- Performance optimisation across the domain network
Tech stack
The Project
Twenty location-based tourism sites, one codebase.
Hobart.com.au is the visible face of a much bigger platform — a single Python application powering 20 location-specific tourism sites, all aggregating live data from third-party booking systems.
Hobart.com.au is a tourism platform with a meaningful technical problem behind it: how do you run a network of location-based tourism sites that each feel native to their location, without ending up with twenty separate codebases to maintain? Run twenty individual sites and the maintenance load is impossible; build one site and stretch it to twenty locations through configuration alone, and it ends up feeling generic.
The build threads that needle. A single Python codebase — Wagtail (Django) for the content side, a custom Flask service for the API layer — runs all 20 domains. Each domain has its own editorial overlay, its own location-specific content, and its own brand presentation, but they share the underlying logic for content management, search, and the third-party integrations that pull live data into the platform.
The Flask API is the technical heart. It connects to tourism and accommodation booking platforms (Wotif, Rezdy, and others), pulls live availability and listing data, normalises it across providers, and serves it to the front-end domains in a consistent shape. Each visitor sees a site that's relevant to where they are — local tours, local accommodation, locally curated content — without anyone in the editorial team duplicating work across twenty separate sites.
The work covered everything end-to-end: the Flask API, the Wagtail front end, the multi-domain configuration, the API integrations, and the performance and security work needed to run a platform of this scale reliably. It's not a simple website; it's an application that happens to look like one.
Get in touch
Like what you see?
Get in touch and let's build something great for your business.
Let's talk about your project.
Ready to get started? I'd love to hear about your business and what you're looking to achieve online.