Innovation Session: Building A Better Surfing App With Data

Imagine this – its 6:00 AM on a Thrusday and you’re driving half an hour up the coast to surf a wave you never go to during the week. Why? Because your iPhone told you to. That killer session you had last summer, it looks like the swell is lining up to recreate it. So you grab your board and hit the road hoping to turn the stoke up to 11.


The world of surf forecasting & reporting has evolved slowly over the last 50 years. While it has adapted to the world of websites and mobile apps – most are simply new skins on the broadcast weather radio reports surfers have relied on since 1967. They are channels for data. They tell you the swell height, period and direction and something about the wind. Even when they look amazing they are usually showing the same information.

They are not simple and intuitive nor are they predictive. We can do better.


Tonight I’m going to dive into the world of surf forecasting through the lens of a data scientist and explore what a better solution would look like if Surfline, Magic Seaweed or Swellnet approached technology more like Google, Amazon or LinkedIn.

Why We Use Surf Reports

Surf forecasts & reports exist to help surfers make the most of limited resources – time & waves –  in order to maximize the desired outcome – stoke.

Outside of the small percentage of competitive surfers – most  are doing so because they enjoy it. The idea of optimizing for stoke isn’t new to surfers – check out this quora answer about who the best surfer is.

Despite some similarities, every surfer is unique in how they get stoked. Some surfers charge giant waves while others like a gentle roller. No forecast can accurately predict stoke without taking into account the wide range of preferences that exist.

So, an ideal surf forecast would know something about me and make it incredibly simple to transform my limited resources into maximum stoke.

Breaking Down The Factors

Most surf forecasts focus on a few pieces of data about waves & wind. These are incredibly important to surfing, but not the only factors in the equation. In the table below I outline a number of the factors a surfer takes into account when going to surf.surfing-factors

There are a lot of things to keep in mind when picking where, when and what to surf. Some things are controlled by the surfer – what board they ride – but others are up to nature – the swell and wind.

The items in green are what most surf forecasts report on, but that leaves the others for the surfer to decide. Each of these factors interacts with the others as well, resulting in a lot of permutations.

The swell direction dramatically affects which beaches will pick up the waves. Tide changes throughout the day will cause some spots to turn on and off. The time of day will affect the crowds at popular spots. A break choice will impact which board choice will work best.

The Two Paths For Surfers

Because of this complexity – most surfers begin to walk down one of two paths:

  1. The Path Of Complication: These surfers become encyclopedias of surf spot information. You’ll recognize them because they’ll start to say things like “its a 2′ dropping tide and 6′ 10second south swell – Newport will be drained out and besides, it is Saturday, we’ll never find parking, lets wait a few hours and try for a sunset session at Magnolia”. These surfers will eventually grow to love the raw data on and will be able to carry on conversations with oceanographers.
  2. The Path Of Simplicity: These surfers start to run on auto pilot. As a result of information overload, they begin to simplify their process. They pick one or two breaks they tend to stick to. They have a go to surfboard. They surf at about the same time every day. These surfers will have their break dialed, but will miss out on a ton of stoke at other places and on other boards.

How Can We Do Better?

An intelligent surf forecast would make recommendations for me. It would take into account where I have surfed before, cross reference that with a database of historical swell conditions account for the board I used and optimize for stoke.

Much like how Amazon recommends products we might be interested in based on other products we have purchased – an intelligent surf forecast would recommend times and days for me to surf based on past sessions that I gave good ratings to.

Data Gathering

To do this – the app would blend user collected data with buoy data.

From the user we would want to record: date & time, duration, location, surfboard used & a session rating.


 This data would then be combined with swell data we have on record for that break. Because we have the location and time – we can easily do a look-up in our own records to find the tide, swell and wind information for that spot during the time that session took place.


Now, you’ll notice for surfboard I entered ‘Jezebel’ – one of my boards. I am a big believer of the ride everything movement and I think this is a great opportunity to encourage diversity of quiver. Rather than just having the person select a type of surfboard – we can actually have them enter their quiver and then select the board they rode each time. Future recommendations would be able to refer to the board by what the surfer calls their board.


 Imagine being able to look at your quiver like this.


I bet a lot more people would longboard if they saw how stoked they were whenever they took out the log.


This is the intelligent part of the app. Once a data set was populated we would use a bit of simple aggregation to start making recommendations. It would take into account all of the factors and make a prediction about what attributes could combine to create a session with maximum possible stoke.

There are some simple operations like ranking all of the surf spots you’ve been to by the average score you give them.


There are also some more complex lookups. Lets look at a few scenarios a surfer might find themselves in.

Say there is a forecast showing a 5′ SW swell heading in over the weekend and I want to know what the best possible beach & board combination for the weekend is. The app would look at all of the past times when a 5′ SW swell was present. It would group those by location and board combinations, average the ratings and show me the top three. Rincon with my hybrid, Blacks with my thruster or 52nd Street with my booster board. This is awesome.


We could also limit the parameters a bit. Lets say I am in Newport Beach and have two hours, but am not sure where to go surf. The app could get my location from GPS and limit the search to surf spots within a half hour drive. We could also limit the tide to the current tide. We then group like before and make a recommendation.

If I’m feeling longboardy – the app could filter by my sessions where I rode a longboard and show me the best spot to go. If I’m meeting friends at a particular break – the app can limit it to that spot and let me know which board to bring. If I know I want to surf my thruster today at Newport, the app can figure out which tide gives me the types of waves I like best. There are a lot of cool ways to use this data.

We can also get really specific. Imagine an alert that let you know you might be able to recreate that awesome session you favorited from a few years ago by bringing your hybrid to Upper Trestles at 2pm on Saturday. I would pay money for that.

Combining Data

From what we saw above – there is a lot we can do. The one limiting factor is how much data we have. If I surf regularly, the data set will grow, but the more breaks I go to and boards I ride, the more diluted the data becomes and the harder it is to find a match.

For the scenarios above we were exploring using my own data only – this is important because we are optimizing for my stoke and I might like something very different than another surfer. If, however, I’m on a surf trip the above scenarios aren’t going to help me very much. This is when we might want to use anonymous data from similar surfers.

We could build this data set using a network map of surfers with common ratings in similar scenarios. Lets say that I usually rate Blackies very high and the board I ride there is a longbaord. A network map would group me close to other surfers that rated blackies high. Maybe a few of them also like Malibu and a few other Malibu surfers like La Jolla Shores. Our app now knows that Blackies, Malibu and La Jolla Shores are similar based on surfers who have surfed more than one of them and rated them similarly. This opens up a lot of possibilities and expands the data set.


Surf forecast sites have focused on giving surfers data. We don’t want data, we want to go surfing. By taking advantage of mobile technology and some data know-how there is a lot of opportunity to build something amazing. Hopefully one of the current surf forecast companies will take note and start working on something similar, I would be the first one in line to start using it!

Create With My Hands: Update 1

Back in January I set a goal for the year to create things with my hands. A quarter through the year I had yet to do anything – not a result I am happy with.

So, to correct this, on Sunday I set out to get some supplies and started three new projects, two of which I completed and will share here.

Problem One: Wet Surfing Gloves

I am a So-Cal surfer and always will be. My hands go numb after about an hour in 55*F water. I currently live in San Francisco, which means I have to wear 3mm neoprene gloves for about half of the year. Getting them dry is a pain because they have to be upright – the outer shell of the gloves is somewhat water tight and the inside is a fleece-like lining that absorbs water.

Here is how I solved my wet surfing glove problem.


  • Hold two sets of gloves upright to dry
  • Be freestanding & stable enough that it doesn’t fall over
  • Fit inside a Rubermaid tub for storage & possibly indoor drying someday
  • Under $15

For supplies, I bought an 10′ length of 1/2″ pvc, a few pvc joints and some pipe cement. I already had a saw and sand paper. Total cost $7.55 + tax.


My plan was to have a rectangular base with the four glove holders sticking straight up. Here is a 2D version of the plan.


The pipe cement I bought came with a brush in the cap, which makes things easy. I had a ton of cement left and only used about half of the 10′ pvc pipe – so the next project only requires joints. Making two of these could get costs down around $5 a pop.


Half way assembled. To make sure everything was straight, I started with segments that were 2D and made sure they were straight on a piece of wood.

Finally, I brought everything together and made sure the glove holders were at a 90* angle.


Here it is with two sets of gloves, drying like a boss.


Project Two: Better Access To My Tool Box

Part of the reason I haven’t been working with my hands very much is that my tools are a bit hard to get to. Right now I’m living in a studio with my wife so space is at a premium. I built a bed with storage underneath it last year – which works out great for the large tubs of surfing and camping gear we keep under there (not to mention various lifetime supplies of things from Costco). My tool box, however, is metal and would scratch the floor if I dragged it, so I try and lift it out of its place. Life Lesson: It is incredibly hard to reach under a bed for a 50lb toolbox and then try and lift it and bring it out – especially if you have a shoulder injury.


I want to make it a bit easier to get to my tools, so I’m going to put some wheels on them. I thought of buying a toolbox dolly, but this seems like a problem I can solve by hand. That is always more fun.


  • Rolling platform for all of my tools
  • Must support ~50-60lbs
  • Limited to 20″ wide and ~2′ deep

This one was an easy fix, but it feels great to have it done. I got some scrap particle wood and cut two sheets of 20″ x 24″ and picked up a set of castors (wheels that spin). A few screws and it’s done.



It doesn’t roll perfectly, but it is much better than before. The best part about making something by hand like this is that I can always cut it smaller or get a new sheet of wood if my size requirements change in the future.


So, despite a bumpy start to the year, I feel like I’m back in the groove, ready to create some cool things with my hands. The next one I’m working on is a fun one, stay tuned…

Surf Mavericks: Update 3

This weekend I took my Mavericks gun out for a paddle in the small waves on Bolinas, CA.

To give some back-story, about a year ago I decided I wanted to surf Mavericks and took the first step I normally take when facing new challenges; I bought a surfboard. I named her ‘Hail Mary Mother of Grace’ because some day when I take her down off the wall racks to surf, it will be accompanied by much prayer from my loved ones.


This weekend wasn’t that occasion, but it was the first time in a year she left her perch in my living room. I wanted to get familiar with how she paddled, how hard it was to duck dive and how the rails held the face of a wave.

Paddling a gun is different than anything else I’ve ever been on. It sits high in the water like a longboard, but it is so narrow that it rocks easily, requiring a lot of core to keep it stable. The nose has a ton of rocker, meaning it sticks out of the water, but there isn’t much foam, making it easy to get too far forward while sitting. Finally, whenever I’m on a board with that much foam, I’m used to having at least 10″ of fin beneath me – Hail Mary has a thruster setup, so there wasn’t the hold I expected.

It’s a good idea to be familiar with equipment before trying something new though, so I’m glad I had the chance to paddle a bit.

One last note on Hail Mary. The script below is written on the deck. I have no idea what it means, though. Anyone have an idea what it says, or even what language it is?


Here is how I’m doing at holding my breath:


As I neared the 3 minute mark my vision started to go blurry so I started breathing again. Getting that next minute and a half will probably be a combination of being familiar with the feeling of being oxygen deprived along with additional lung capacity and decreased oxygen need.

Shoulder: Wrapping up PT, more strength training needed to keep stress off of the joint

Breath Holding: 2:52

Days to Go: 265

Times surfed on Hail Mary: 1