Inspiration

Many small and mid-sized caravan parks across Australia are still running on spreadsheets, paper logbooks, or outdated generic booking tools that weren't built for the unique layout-based nature of campsite management. A park manager needs to know spatially what's happening — which sites are occupied, which guests are arriving today, which cabins need to be prepped for tomorrow. A spreadsheet can't show you that. CampMate was built to solve exactly this gap.

What it does

CampMate is a full-stack booking and operations platform designed for Australian campsite and caravan park operators. It gives park managers a real-time command center to monitor site occupancy, process bookings, manage check-ins and check-outs, and track revenue — all in one place.

How we built it

I built CampMate entirely through MeDo using a layered conversation approach:

Data model first — I started by defining the database schema (sites, bookings, guests tables) and the core business rules: nightly rates by zone, conflict detection logic, and how live site status is derived from bookings rather than stored as a static field. Backend before frontend — I confirmed all six API endpoints were working correctly before touching the UI. This ensured every number displayed in the app comes from the real database, not hardcoded values. Screen by screen — Once the backend was solid, I built each screen iteratively: Dashboard → Site Map → New Booking → Bookings, refining the design and fixing edge cases in each pass.

Challenges we ran into

The biggest challenge was the Site Map. The first version MeDo generated was just a flat grid of colored squares — functional, but not visually compelling for a park management tool. I pushed MeDo to redesign it as a proper illustrated top-down park layout with distinct zones positioned geographically, a winding road path, a lake, tree clusters, and pan/zoom support. Getting the site detail popover to position intelligently — flipping direction when near screen edges — required a specific and precise prompt to fix. The second challenge was making sure the booking conflict detection was airtight. The system needed to reject double-bookings at the backend level, not just the frontend, and return a specific error message showing the conflicting dates. This required carefully specifying the overlap logic in the prompt.

Accomplishments that we're proud of

The live Site Map connected end-to-end to the database. A park manager can open the app, see every one of their 48 sites color-coded by real-time status, click any site to see guest details and payment balance, and check a guest in — all updating the database instantly and reflecting across every screen. That's a complete operational workflow, built without writing a single line of code.

What we learned

Building a real full-stack application through natural language prompting requires the same discipline as traditional development — you still need to think in layers, define your data model clearly before your UI, and specify edge cases explicitly. MeDo handles the implementation, but the product thinking still has to come from you.

What's next for CampMate

Built With

  • medo
Share this project:

Updates

Submission history