ANWB
Virtual walks for European campsites, commissioned by ANWB — the Royal Dutch Touring Club, ~4M members. On-site photography, custom-tuned 360° viewer per camp, embedded into the ANWB camping booking platform.
Overview
ANWB — Algemene Nederlandse Wielrijdersbond, the Royal Dutch Touring Club — is the largest membership organisation in the Netherlands, with around 4 million members. Among many other things, they operate a camping booking platform that lists hundreds of campsites across Europe. In 2021, ANWB wanted to give online browsers a sense of actually walking the camp before booking — not just a slideshow of edited photos.
Numen was commissioned to make that happen: virtual walks for European campsites, integrated into the ANWB camping platform. The work crossed three layers: field photography (we went there with the cameras), 360° viewer engineering (custom build on Marzipano), and embedding logistics (drop-in widget for the ANWB web team to slot into each camp’s listing without touching our code).
What we built
Field photography. The team travelled to multiple European countries across a season to capture each campsite’s terrain: reception, common areas, pitches, sanitary facilities, the surrounding nature. Each campsite produced multiple panoramic viewpoints so a browsing user could click between them and walk the camp virtually — not just rotate from a single point.
360° viewer. A custom integration of Marzipano with hotspots (points of interest linking to the next viewpoint), an overlay minimap, and full-screen controls. The default Marzipano UI was replaced with a brand-aligned skin so the viewer felt native to the ANWB platform.
Performance. Each campsite is several hundred megabytes of raw panorama imagery; even tiled, multires assets need careful delivery. We bundled per-camp asset packages on a CDN, lazy-initialised the viewer on user gesture (tap to activate on mobile), and used a flat poster photo as the LCP element so the initial render isn’t blocked on WebGL.
Embed widget. Delivered as a drop-in script that ANWB’s web team could include on any campsite’s listing page. Iframe-sandboxed to isolate CSS, with postMessage for the few cross-frame UX details (full-screen toggle, exit handling, analytics events).
Why this matters
International client work proves a particular kind of capability — not just can you code but can you deliver across borders, seasons, and a different organisation’s web team. ANWB’s 2021 engagement is the example we still point to when a non-Slovenian client asks if Numen can run a project where the photography happens in Croatia, the integration happens with a Dutch web team, and the language of business is English.
Even with the project’s surface domain being campsites, the engineering principles applied are the same ones we apply to regulated fintech and multi-agent AI integrations: fixed scope before any invoicing, embed logic isolated from the host platform, predictable performance budgets, and delivery on the agreed schedule.
Six things shipped,
three hard ones solved.
Key contributions
- Led the technical delivery of the virtual-walk component — viewer architecture, hosting strategy, embed integration into the ANWB camping booking platform.
- Coordinated on-site photography logistics across multiple European countries — multi-day trips per region, equipment selection, weather and seasonal constraints.
- Captured and stitched 360° panoramas at each campsite — multiple viewpoints per site so the user could walk through the camp virtually, not just see a static lobby.
- Built a custom Marzipano-based viewer with hotspots that link between panoramas (point of interest → next viewpoint), a minimap, and overlay controls.
- Tuned image delivery for mobile data — progressive image loading, lazy initialization, fallback to a flat photo on first paint to keep LCP fast.
- Delivered the embeddable widget so ANWB's web team could drop the viewer into any campsite listing page without touching our code.
Challenges solved
- International field-photography logistics — equipment crossing borders, seasonal weather windows, on-site permissions from each camp's management.
- Performance at scale across hundreds of high-resolution panoramas — solved with tiled image delivery (Marzipano's native multires format), CDN, and per-camp asset bundles.
- Embedding inside ANWB's existing booking platform without conflicting with their CSS or layout — solved by sandboxing the viewer in an iframe with postMessage for cross-frame UX (full-screen toggles, etc.).
International work is rarely about a different language in the codebase. It's about field logistics — equipment, seasons, permissions, embassy-clearance for a tripod. The code is the easy part.
What's under the hood.
Ready to fix, build,
or scale?
30 minutes, with me personally. I'll read your system like a log file and tell you what I'd do first. No pitch deck, no sales funnel.
— Davor Majc, founder, Numen