Project 01 / Surf intelligence
Hunt.Surf
Building the Surf Tool I Always Wanted
Hunt.Surf started because I got sick of checking surf forecast websites.
Building the Surf Tool I Always Wanted
Hunt.Surf started because I got sick of checking surf forecast websites.
Every surfer has their favourite. One person trusts Surfline. Someone else checks Swellmap. Someone else used to swear by Magicseaweed. You end up comparing forecasts, trying to work out which one has it right, and somehow a simple decision turns into twenty minutes of second-guessing.
The more I looked into it, the more I realised a lot of these sites were working from much the same underlying forecast data. The difference was how they displayed it, how they interpreted it, and how much of their own opinion they put on top.
I didn't set out to build a better forecast.
I wanted to build something that made sense to me.
Overview
Hunt.Surf is a personal surf intelligence platform that helps surfers understand conditions, track their own sessions and get alerted when the surf lines up with what they actually like.
It combines forecast data, favourite spots, personalised condition settings, surf logs and Stoke alerts into one system. The point isn't to tell every surfer whether the waves are "good" or "bad". The point is to help each surfer make a better decision based on their own preferences and their own history.
It began in 2015 as a personal tool. Almost a decade later, it is still active, still changing and still something I use myself.
It Started with Too Many Forecasts
The original problem was simple: too many surf sites, all saying similar things in different ways.
It wasn't that one site had the wind, another had the tide and another had the swell. It was more that each one presented the forecast differently. Different layouts, different rating systems, different interpretations and sometimes completely different impressions of the same conditions.
That made it hard to get the full picture.
I didn't want to be told that the surf was seven out of ten. Seven out of ten for who? A beginner, a longboarder, someone chasing bigger waves, someone looking for a mellow two-foot day?
Good surf is personal.
That became one of the main ideas behind Hunt.Surf. The forecast is useful, but the decision still belongs to the surfer.
The Problem Wasn't Really the Forecast
At first I thought the product was about bringing forecast data together in one place.
That was part of it, but it wasn't the interesting part.
The real problem was understanding what the forecast meant for me.
Surfers have been keeping logbooks for years. Some write down sessions, tides, swell, wind, weather patterns and little notes about what worked at certain spots. I liked that idea. There is something useful about building your own record instead of relying on memory or someone else's opinion.
So I started logging every surf digitally. Where I went, what the conditions were like, how good it felt and whether it was worth the effort.
Over time those logs started showing patterns.
Some spots worked better for me at certain sizes. Some places were better smaller than I expected. Other spots needed more swell to become worth it. The same forecast could mean completely different things depending on the break.
That's when Hunt.Surf started becoming more than a forecast tool.
It became a way to learn from my own surfing.
Learning to Code Along the Way
Hunt.Surf wasn't built by a senior engineer with a clean roadmap and a perfect stack.
I was learning to code while I was building it.
The first versions were rough. I was learning CodeIgniter, databases, APIs, charts and all the little things that come with building a real product from scratch. Every feature meant running into something I didn't know how to do yet.
That was frustrating, but it also made the project stick.
I wasn't learning code in the abstract. I was learning it because I needed the product to do something useful. Every problem had a purpose, and every solution immediately became part of the tool I was using.
The codebase has been through a lot. Some parts have been rebuilt. Some ideas have been removed. Some things worked for a while and then stopped making sense.
That is part of the history of the product.
More recently, AI development tools have changed the pace. They haven't changed the reason Hunt.Surf exists, but they have made it much faster to improve, refactor and build on top of the foundation that was already there.
Every Feature Removed a Little Friction
Most of the important features in Hunt.Surf came from trying to remove another annoying step.
Favourite spots were one of the first big ones. I didn't want to scroll through countries, coastlines and endless lists of breaks just to see the handful of places I actually surf. If I only care about four spots, I only want to see four spots.
The logbook came from wanting to remember what actually happened, not just what the forecast said would happen.
The personalised settings came from realising every spot needed its own rules. A good size at one break might be wrong somewhere else, and my preferred conditions might not be the same as someone else's.
The alert system brought those ideas together.
Instead of checking the forecast over and over, I can define the conditions I care about and let Hunt.Surf watch for them. When the right window appears, the system lets me know.
The goal is not to keep people on the website.
If Hunt.Surf helps someone make a decision quickly and get in the water, it has done its job.
Things I Got Wrong
One of the early ideas was to include links and embedded views from other forecast websites inside each spot.
At the time it made sense. If I was already comparing different sites, why not bring them into one place?
In practice, it made the product worse.
It added clutter, slowed everything down and pulled the focus back to comparing websites instead of understanding the conditions. It solved the surface-level problem but not the real one.
So I removed it.
That was a useful lesson. More information is not always better. More features are not always better. Sometimes the best improvement is taking something away.
Hunt.Surf works best when it is focused.
No Ads
Hunt.Surf will never have advertising.
That has been a deliberate decision from the start.
Ads slow websites down, create clutter and usually push the product toward tracking, engagement and page views. That is not what Hunt.Surf is for.
I don't want to build a surf website that tries to keep people scrolling.
I want to build a tool that helps someone check the conditions, make a decision and go surfing.
That is the measure of success.
The Day I Trusted My Own Product
There have been a few moments where Hunt.Surf proved itself to me.
One was getting a Stoke alert, heading out for a surf and finding exactly the kind of conditions I had built the system to identify. That was the moment where it felt like the whole thing had clicked.
It wasn't just that the forecast was right.
It was that the system had helped me make a better decision.
Another moment was in Indonesia. I added a spot, watched the forecast develop and then sat on a boat watching the conditions arrive exactly as expected. It was big, and I didn't paddle out, but the system had still done what I needed it to do.
It helped me see what was coming.
Those moments are why I keep building it.
Where It Is Today
Hunt.Surf is still a private, active product used by a small group of people.
You can visit the site, but registration is not open. For now, it remains something built around a small group rather than a public platform.
That is fine with me.
The product was never built to chase scale. It was built to solve a real problem and keep improving through use.
Almost ten years in, I still log my surfs. I still use the alerts. I still adjust spots and refine the system based on what actually happens in the water.
It is still the surf tool I wanted.
Looking Back
If I could go back to the day I started Hunt.Surf, I don't think I would change much.
The mistakes were part of learning. The messy code was part of learning. The features that got removed were part of learning.
I would probably just tell myself to keep going.
Build the thing you want to use.
Listen to your head and your gut.
Don't worry too much about whether it looks perfect from the outside.
If the product keeps solving the problem, keep building it.