PRODUCT DESIGN CASE STUDY

WikiCamps: from campsite directory to bookable travel companion

WikiCamps: from campsite directory to bookable travel companion

Rebuilding Australia's most used camping and caravanning app. It was an offline first site database. It is now a place to discover, plan and book.

Hemant Kumar   ·   Lead Product Designer        Native mobile · iOS and Android        2023 → 2026

daily booking value

6×

6×

new sites in 3 weeks

5,000+

5,000+

on the offline build

96%

96%

faster to a result

2×

2×

Click to zoom

Table of Content
No headings foundSelect the Frame that wraps your article content → open Accessibility → set Tag to main, article, or section.This message disappears as soon as headings are detected.

introduction

A trusted directory that stopped at the moment of decision

WikiCamps Australia is a community built database of campsites, caravan parks, cabins and dump points. Most of its use happens where there is no phone signal. It was very good at helping people find a site. It did nothing to help them secure one.

The product. An offline capable site database. Listings, photos, ratings, reviews and fees all come from users.

The audience. Caravanners, campers, grey nomads and road trippers travelling regional and remote Australia.

The position. WikiCamps was known for having more sites than anyone else. CampsAustraliaWide, CamperMate and Hipcamp were closing that lead quickly.

The brief. Modernise the app, restart site growth and build a revenue stream. All without losing what long time users rely on.

6

experiences redesigned

3+

years of shipped iteration

5

shipped changes covered here

4

measured outcomes

Click to zoom

Research

Site growth had stalled, discovery frustrated people, and nothing made money

Three problems were compounding. Fewer new sites were going into the database. New users were bouncing off the first screen they saw. And the only revenue was app downloads.

Click to zoom

SUPPLY

Site growth had flatlined

WikiCamps was known for having the most sites. That count had stopped growing. CampsAustraliaWide, CamperMate and Hipcamp were catching up fast.

Click to zoom

FILTERS

Three state toggles nobody understood

There was plenty of data showing filters confused people. The three state toggle was the worst of it. No solution had been found.

Click to zoom

DISCOVERY

Map first, with the list hidden

Everyone landed on the map. Users who found that overwhelming did have a list view. It was not easy enough to find, so many left the app instead.

Click to zoom

RELIABILITY

Offline broke at the boundary

Most use happens outside coverage. Moving in and out of network interrupted the experience constantly. Offline data only helped users who had thought to download it.

Click to zoom

REVENUE

One button, in the wrong place

Revenue came from app downloads and one Book button on site details. It was short of target, and the button sat where users had the least intent.

Click to zoom

CONSISTENCY

An ageing UI with no shared system

Years of changes had left inconsistent patterns across screens. There was no shared component language to build on.

Solution: One

Fix the funnel at both ends

More sites going in. More bookings coming out. And a discovery experience in between that people could actually operate. The offline core stayed protected throughout.

01

Make contributing quick

Add a site sits on the highest traffic screen. The flow asks for the minimum up front, and the rest once the site exists.

02

Let people choose the view

A labelled map and list switcher, with the list sheet open by default. The first screen fits the user rather than the other way round.

03

Offline for everyone

A baseline set of offline data ships to every user. Anyone who wants more can download high resolution map and data.

04

Put Book where the intent is

A fixed booking bar across every site details screen and the trip page. That is where the funnel showed people deciding.

Click to zoom

Solution: Two

Lead product designer, end to end

I was the sole design owner. Research, information architecture, interaction, visual design, the design system and handoff. I worked directly with product, business and mobile engineering.

DISCOVER

Research & synthesis

Analytics funnels, heatmaps, app reviews, support tickets and social channels. I used AI to help cluster and summarise.

DEFINE

IA & flows

Restructured navigation into Home, Explore, Book, Plan and Menu. Mapped every state, including refused location.

DESIGN

UI & design system

A component library on Material 3, built with Figma Tokens and used across all six experiences.

NEGOTIATE

Requirements & trade-offs

Worked with developers and business to agree which fields were genuinely mandatory for Add a site. Also to land the booking compromise.

VALIDATE

Prototyping & testing

Figma Make prototypes went into usability testing. Releases were measured in Amplitude, then iterated.

ADVOCATE

Pushing the platform

I challenged the technology position on offline. We shipped a baseline dataset to every user, not only those who downloaded one.

The stack

Figma

Figma Tokens

Figma Make

Claude Design

AI heatmap plugins

Amplitude

Google Analytics

Gemini

ChatGPT

Claude

THE PROCESS

Design thinking, with AI inside each stage

The stages did not change. What changed is how quickly each one closes. AI took on the slow, mechanical parts of synthesis, concept generation and prototype building. That left more of the week for judgement.

01

Empathise

Analytics funnels in Amplitude and Google Analytics. Heatmaps on live screens. App store reviews, support tickets and social channels.

AI · Gemini · ChatGPT · Claude

Clustering and summarising reviews, tickets and notes. Themes worth reading surfaced in hours rather than weeks.

02

Define

Rebuilt the IA around decision order. Agreed the mandatory field set with engineering and business. Mapped every state.

NO AI HERE

Deliberately human. Deciding what to ask for, and what to leave out, was the judgement everything else depended on.

03

Ideate

Concept directions and layout explorations for the site page, browse rails, add a site flow and booking entry points.

AI · Claude Design

Generated concepts and visual directions in minutes. Options could be judged as artefacts rather than argued as descriptions.

04

Prototype

Interaction spec and component behaviour defined in Figma against the component library.

AI · Figma Make

Turned specs into working prototypes with real scroll and real states, rather than clickable mockups.

05

Test

Usability sessions on the prototypes and on shipped builds. Findings logged and prioritised.

AI · AI heatmap plugins

Attention overlays on live screens confirmed or killed a finding quickly. They also pointed at where to look next.

06

Deliver

Spec, tokens and states documented for engineering. Design QA against every build.

AI · Figma Tokens

Kept type, colour and spacing decisions machine readable. Less was lost on the way into the codebase.

The stack

Figma

Figma Tokens

Figma Make

Claude Design

AI heatmap plugins

Amplitude

Google Analytics

Gemini

ChatGPT

Claude

THE CONSTRAINTS

What the design had to survive

Most of the interesting decisions in this project came from working inside hard limits rather than around them.

ENVIRONMENT

No signal, no data

The app is used in the places phones do not work. Users cross the coverage boundary constantly rather than sitting outside it.

AUDIENCE

A large, habituated user base

Long time users had years of muscle memory. Change went out in staged releases rather than one jump.

DESIGN

UI & design system

Listings, photos, fees and reviews come from users and are uneven. The UI had to hold up for sites with very little data.

BUDGET & TECH

No native booking flow

A native checkout was ruled out on budget, time and platform grounds. That forced a compromise rather than the ideal solution.

PERMISSIONS

Location often refused

"Distance from you" underpins the experience, and many users decline location. Every key screen was designed twice.

TRUST

Monetisation without erosion

Booking and deals had to earn their space. A community built utility should not start to feel like a marketplace.

Click to zoom

Click to zoom

THE RESEARCH

Four lenses on the same behaviour

Rather than one large study, the work ran continuous, low cost evidence gathering across a live product, then triangulated. When revenue became the question, the same four lenses were pointed at the booking funnel.

BEHAVIOURAL

Funnel & event analytics

Amplitude and Google Analytics. Which screens carried traffic, and where in the funnel booking intent actually appeared.

ATTENTIONAL

Heatmaps on live screens

AI heatmap plugins showed real attention distribution. That was the basis for reordering the site page and moving the primary action.

ATTITUDINAL

UI & design system

Travellers running real tasks. Find a site, judge it, add one, book it. On prototypes and on shipped builds.

UNSOLICITED

Reviews, tickets & social

App store reviews, support tickets and social channels. Clustered with AI, then read by hand.

6

evidence sources, run continuously

1

funnel, mapped end to end

3 yrs

of releases measured live

Click to zoom

Click to zoom

THE INSIGHTS

What the evidence actually said

Intent was not where the button was. Book lived on site details. The funnel showed people deciding after reviews, fees and trips. None of those pages had a booking entry point.

The handoff broke at the moment of payment. Tapping Book opened an external browser. The jump was jarring, and it came exactly when confidence mattered most.

The list view existed but could not be found. Everyone landed on the map. Users who disliked it had a list view they never discovered. They left the app rather than switch.

Three states were two too many. The filter toggle carried three states. Users could not predict what any of them did. They either got the wrong results or stopped filtering.

Offline failed at the boundary, not in the dead zone. The pain was crossing in and out of coverage. Offline data only protected the users who had downloaded it in advance.

Contribution had become too expensive. Adding a site asked for everything up front. Site growth stalled while competitors grew, and the "most sites" position started to slip.

THE SOLUTION 1

Five changes, five measured outcomes

Each one answers an insight from the previous slide. The next five slides take them one at a time.

09.1

Add a site

A prominent entry point. The flow asks for the minimum up front and the rest after.

5,000+

new sites in 3 weeks

09.3

Filters

Three state toggles cut to two. Selected means include, deselected means exclude.

2×

faster to a result

09.5

Book now

A fixed booking bar across site details and trips, and a styled in app checkout.

6×

daily booking value

09.2

List view

A labelled map and list switcher. The list sheet is open by default and can be swiped.

Fewer

first-user drop-offs

09.4

Offline

A baseline set of offline data for every user, with an optional high resolution download.

96%

on the offline build

09.1

Add a site

A prominent entry point. The flow asks for the minimum up front and the rest after.

5,000+

new sites in 3 weeks

09.2

List view

A labelled map and list switcher. The list sheet is open by default and can be swiped.

Fewer

first-user drop-offs

09.3

Filters

Three state toggles cut to two. Selected means include, deselected means exclude.

2×

faster to a result

09.4

Offline

A baseline set of offline data for every user, with an optional high resolution download.

96%

on the offline build

09.5

Book now

A fixed booking bar across site details and trips, and a styled in app checkout.

6×

daily booking value

THE SOLUTION 2

Add a site: ask for less, get more

The database was the moat. Rebuilding contribution was the fastest way to defend it.

THE PROBLEM

Contribution cost more than it was worth

WikiCamps was known for having more sites than anyone else, and the business wanted to keep that position. The count had stopped growing. CampsAustraliaWide, CamperMate and Hipcamp were catching up fast.

The entry point was buried. The flow asked for everything a listing would ever need before it would accept anything at all. People started and gave up.

WHAT I DID

A visible entry point and a two stage flow

I moved Add a site onto the first landing screen, where the traffic already was, and gave it real prominence.

Then I split the flow. Capture only what is needed to create a site. Collect the mandatory detail after it exists. Agreeing that split meant working through the requirements with developers and business to settle which fields were genuinely mandatory.

The result was one simplified flow that cut the time it takes to add a site.

Click to zoom

Click to zoom

5,000+

THE RESULT

new sites were added within three weeks of launch. It was the largest increase in sites the platform had seen.

THE SOLUTION 3

List view: stop making the map compulsory

The first screen after login suited one kind of user and quietly lost the other.

THE PROBLEM

A list that existed but could not be found

Every user landed on the map. For people who found a map overwhelming, or who simply preferred a list, that was the wrong first impression.

A list view did exist. It was not intuitive enough to discover. The users who needed it most never found it, and left the app rather than switch.

The first screen was making a choice on their behalf, and getting it wrong for a large group of them.

WHAT I DID

A standard switcher, and the list already open

I brought the list view forward and used the switcher pattern most apps already use, so it would be recognised rather than learned. It carries a clear label rather than an icon alone.

Then I removed the need to discover it at all. The list is exposed by default as a half card over the map. Users can swipe it up or down to suit how they want to browse.

The first screen now adapts to the user.

Fewer exits

THE RESULT

first time user drop off fell significantly once people had an entry point that matched their preference.

Click to zoom

THE SOLUTION 4

Filters: three states down to two

A long-standing problem with plenty of evidence and no accepted solution.

THE PROBLEM

Nobody could predict what a toggle would do

There was no shortage of data showing filters confused people. It had been visible for a long time without a fix.

The three state toggle was the core of it. With three states and no clear model of what each one meant, users could not predict the result of their own action. They either got results they did not expect, or stopped filtering and scrolled.

Filters are meant to narrow a search. These were adding work to it.

WHAT I DID

One rule, carried by the default

I restructured the filters and cut the toggle from three states to two. The default carries the meaning. Everything is selected, because by default you are looking for all of it.

Deselecting a checkbox then means one thing only. Exclude this. One rule, learnable in a single interaction, and reversible.

Alongside the state change I simplified the grouping and labelling, so the panel can be read in a scan.

2× faster

THE RESULT

users reached the result they wanted twice as fast, without getting confused by the filters or stuck on them.

Click to zoom

THE SOLUTION 5

Before after

A long-standing problem with plenty of evidence and no accepted solution.

THE PROBLEM

Nobody could predict what a toggle would do

There was no shortage of data showing filters confused people. It had been visible for a long time without a fix.

The three state toggle was the core of it. With three states and no clear model of what each one meant, users could not predict the result of their own action. They either got results they did not expect, or stopped filtering and scrolled.

Filters are meant to narrow a search. These were adding work to it.

WHAT I DID

One rule, carried by the default

I restructured the filters and cut the toggle from three states to two. The default carries the meaning. Everything is selected, because by default you are looking for all of it.

Deselecting a checkbox then means one thing only. Exclude this. One rule, learnable in a single interaction, and reversible.

Alongside the state change I simplified the grouping and labelling, so the panel can be read in a scan.

Hemant K. ✦ AI-first Product Designer

2× faster

THE RESULT

users reached the result they wanted twice as fast, without getting confused by the filters or stuck on them.

THE SOLUTION 6

Offline: make the safety net the default

The feature existed. It only protected the users who had thought about it in advance.

THE PROBLEM

The interruption was at the boundary

The majority of WikiCamps use happens in areas with no network. Offline is not a nice to have. It is the product working at all.

The real pain was not the dead zone. It was crossing in and out of coverage, which interrupted the experience constantly. Offline data also only helped users who had chosen to download it, and for various reasons many never did.

WHAT I DID

A baseline for everyone, opt in for more

I challenged the technology position and advocated for a baseline set of offline data for all users. Whether or not someone ever downloads anything, the app keeps working without interruption.

We introduced the feature during onboarding so people knew it was there. We also gave users the option to download high resolution map and data if they want it, without interrupting the onboarding journey.

96%

THE RESULT

of users were on the new offline ready build within three weeks. They are covered whether or not they download anything.

Click to zoom

THE SOLUTION 7

Book now: put the action where the intent is

With the app redesigned and the early criticism answered, the question turned to revenue.

THE PROBLEM

One button, on the screen with the least intent

Revenue came from app downloads and one prominent Book button on site details. It was not meeting the business target.

I looked at Google Analytics, the social channels, support tickets and app reviews. The funnel was clear. Users did not have booking intent on site details. They booked after visiting reviews, fees and trips, and none of those had an entry point for booking.

The Book button also opened an external browser. That experience was jarring on its own.

WHAT I DID

A fixed booking bar, and a compromise on checkout

I introduced a fixed, prominent bottom bar carrying Book across every site details screen, and onto the trip page. Whenever someone wants to book, the option is there.

We wanted a native booking flow. Budget, time and technology constraints did not allow it. Rather than ship nothing, I found a middle ground and suggested bringing the booking flow into an in app browser with some style changes.

$5k → $30k

THE RESULT

daily order value, up from five thousand. A six fold increase off the back of these changes.

Click to zoom

Click to zoom