I built Plots because I couldn't find what I was looking for. Not a social network for anglers. Not another booking platform. Just a straightforward way to find a lake, see what it actually looks like, and know what to expect before turning up.
That doesn't exist. Or rather, it didn't.
The Problem Is Structural
If you want to find a fishery in the UK right now, your options are scattered across Facebook groups, outdated websites, word of mouth, and a handful of booking platforms that handle transactions but tell you almost nothing about the venue itself. Some waters have no web presence at all. Others have a Facebook page last updated in 2019. The information that does exist is fragmented, inconsistent, and often wrong.
For anglers, that means hours spent piecing together basic details. What species are in there? Is it day ticket or syndicate? What are the rules? Is there parking? You end up messaging strangers on Facebook or driving somewhere on a hunch.
For fishery owners, it's worse. They have no single place to present accurate, structured information about their water. Booking platforms handle the transactional side, but there's nothing in between. No context layer. No way to control how your venue is represented across the web. No data on who's looking or what they're looking for.
Plots sits in that gap.
What It Actually Is
At its core, Plots is a mapping and venue management platform. Every lake is drawn as an actual polygon on satellite imagery, not a pin dropped roughly in the right postcode. You see the shape of the water, the surrounding land, the access points. It sounds basic, but nobody else does this.
Around that map layer sits structured data: species, amenities, rules, pricing, venue type, live weather conditions, pressure, wind, moon phases. Everything an angler needs to make an informed decision, and everything an owner would want to present about their water.
Crucially, visibility is controlled by the fishery. Plots doesn't scrape listings or crowdsource locations. If an owner wants their syndicate water unlisted, it stays unlisted. If they want to show day ticket availability but keep stock details private, they can. The platform reduces noise rather than amplifying it.
Why Not Just Use What Already Exists?
Swimbooker and Catch handle bookings well. They're not the problem. The problem is everything that comes before the booking. Discovery, context, conditions, trust. A booking platform tells you a session is available on Saturday. It doesn't tell you whether the venue suits what you're after, what the water looks like from above, or what conditions to expect.
Plots isn't trying to replace any of that. It links directly to existing booking systems, social media pages, and club websites. It's the context layer that sits underneath, connecting the dots between scattered information and giving fisheries a single place to manage how they appear.
The Owner Side
This is where it gets interesting from a business perspective. Fishery owners can claim their venue, manage their listing, link their booking systems and social channels, and see engagement analytics. Views, saves, enquiries, trends over time. For an industry where most operators have zero visibility into demand patterns, that's significant.
The platform also surfaces similar waters automatically. If someone's browsing a day ticket carp lake in Kent, they'll see other venues with matching characteristics. That's not just useful for anglers. It's distribution for fisheries that would otherwise rely entirely on word of mouth.
Privacy by Design
All pattern recognition runs on the server. Nothing goes to external AI services. No data leaves the platform. Owner visibility controls are respected everywhere, and engagement data is always aggregated, never exposed at the individual level. In an industry where trust matters enormously and some venue owners are rightly protective of their waters, this isn't a feature. It's a prerequisite.
The Build
The current version runs on PHP 8.4, MySQL 8, Leaflet.js for mapping, and GeoJSON for the polygon data. Vanilla JavaScript, custom CSS, OpenWeather API for conditions, bcrypt for auth. No framework overhead, no unnecessary dependencies. It's being migrated to Next.js, TypeScript, and Vercel with Neon Postgres, but the PHP version is live and functional now.
I designed the database with 25+ normalised tables, full relational integrity, and role-based access from the start. It's built to scale, but it started with one question: what would I want to see if I was looking for somewhere to fish this weekend?
Who It's For
Commercial day ticket fisheries. Coarse venues managing demand. Clubs and associations with controlled access. Holiday complexes. Tackle shops looking for local visibility. Anyone in the business of running a fishery who wants a proper, structured web presence without building one from scratch.
It's not for crowdsourcing secret waters or building a social media platform around fishing. That already exists, and it's noisy enough.
Plots is infrastructure. Quiet, useful, and controlled by the people who run the venues. That felt like something worth building.