Product Designer, Engineer
-
The problem
Temperature, wind, swell, tide, UV. Half a dozen readings, all moving at once and each trending its own way through the day. It's hard to turn a bunch of abstract data into a clean answer: is the beach worth it, and why? SeaChange does the hard work for you.
A day at your favourite beach
Most forecasting apps hand you a week of data and assume you will do the translation. SeaChange just offers the day ahead, with a single, 24 hour timeline for one beach, one stop per hour from now until this time tomorrow.
Six live data signals combine to articluate beach conditions at any given time.
| The readings, 5:40pm | What SeaChange says | |
|---|---|---|
The readings, 5:40pm | How the sentence is constructed It fills a fixed skeleton from a set of langauge rules held in code. It's not generative, but it reads kind of like it is. | What SeaChange says Bloody hot, with a fresh offshore breeze. An arvo glass off might be on. |
A summary for some and detail for others
Scroll past the summary and the full Detailed Readings panel provides granular wind speed, direction and gusts; temperature, range, humidity and UV; swell and the next tide; cloud and rain; sunrise and sunset. Every reading includes a trend arrow and moves hour by hour as you scrub the timeline. The human readable summary helps when reviewing at a glance, the detailed readings are for the people who really want to interrogate the patterns.

Co-developed, not vibe coded
I’m building SeaChange in Swift, with Claude Code as a collaborator, not an autopilot.
One file, Agent.md, is the source of truth: spec, operating rules, and a dated decision log in one place. Every feature is assigned a priority tier before a line is written, emphasising functionality on the critical path to launch over form.
priority log · functionality before form
[x] P0 Migration 000003 + glass-off-check redeploy
[x] P0 APNs push alerts, verified on device
[x] P1 #3 BOM wind direction, precise degrees preferred
[x] P1 #4 Glass-off approaching copy & logic
[x] P1 #5 The 24-hour "day at the beach" timeline
[~] P1 #6 Plain-language summary, expanded prose pending
[x] P1 #13 Per-beach wind, offshore vs onshore
[x] P1 #17 Wind & temp phrase brackets, fixed lexicon
[x] P1 #18 Hottest part of day in summary
[x] P1 #32 Sea-breeze trailers in summary
[x] P1 #33 Fixed push spam, debounce + quiet hours
[x] P1 #34 Glass-off requires offshore/calm wind
[x] P1 #35 Fixed shore-relation boundary flicker
[ ] P1 #20 Forecast data point, scope TBD
[x] P2 #7 Location picker, 66 beaches
[~] P2 #10 Sea breeze alerts, backend live, client sync pending
[ ] P2 #1 Wind speed units, km/h toggle
[ ] P2 #19 Custom location search, nearby beaches
[ ] P2 #21 Split voice/push per alert type
[ ] P2 #31 Daily "today's beach day" summary push
[ ] P2 #37 Bug: home switch drops alert toggles
[ ] P3 #2 Sign in with Google
[ ] P3 First-run onboarding stepper
[ ] P3 #23 Day-part timeline slots, not hourly
[x] P4 WCAG 2.0 AA colour contrast
[x] P4 Rebrand to SeaChange
[~] P4 #9 Orb animation, beauty pass parked
[~] P4 #22 Day and night shift on scrub
[ ] P4 #36 Bug: delete dialog mispositioned
[ ] P4 Particle sea beauty pass (parked)
Teaching the words
Explaining a forecast only helps if the words mean something to you. A lot of coastal language is quietly technical: offshore, onshore, swell, Beaufort, glass off. Every term in the app links to a plain definition so the summary teaches the words as you go.

A living sea in Metal
The horizon on the home screen is a real 3D wave field with thousands of points on a height map, projected through an perspective camera and drawn at 60 frames per second on the GPU with Metal.
A light breeze rolls slow and rounded. As it picks up, the sea churns faster and the chop increases. Wind direction sets the roughness of the particles. Offshore winds keep the ocean smooth and onshore winds turns it jagged. A light onshore breeze will look rougher than a strong offshore one.
Closing the loop
A job on the server runs on a schedule and applies the same wind logic as in the app, and when a beach you care about tips into glass off or sea breeze, it sends a push.

Where it’s at
SeaChange is shipping shaped, not shipped but getting closer every day! A future release aims wider than tracking current conditions and will help people plan which windows are worth their time, which are not, and why.
Watch this space...
SeaChange hopes to close the distance between a overwhelming amount of coastal data and a person just trying to decide whether the beach is worth it, and why. It's also an experiment. Can I apply my skills in software building methodology to a language I'm not familiar with using AI as my co-pilot? So far so good.