Ocean Beach · San Francisco

Read the ocean.
Before coffee.

Wave height, swell direction, and a 1–5 rating on an e-ink display that wakes before you do. Physics, not vibes.

Screen is rendering live buoy data
01 · Live data

Straight from the buoys

NOAA stations 46026 and 46237 report wave height, period, and direction every 30–60 minutes. The display you're looking at is rendering the latest reading — when a buoy goes quiet or transmits garbage, the other takes over automatically.

WVHT · DPD · MWD
SF Outer Bar + SF Bar
02 · Scoring

Physics, not vibes

Deep-water swell is converted to face height at Ocean Beach with linear shoaling and the dispersion relation. A weighted scorer rates conditions 1–5 — and retunes itself from the sessions you log.

breaking_height(Hs, T, d)
weights learned from your sessions
03 · Hardware

Paper, not pixels

A Waveshare 5.83″ e-ink panel on a Raspberry Pi Zero W. Readable in direct sun, no glow at 5am, sips under 100 mA. It refreshes every 30 minutes and never asks for attention.

648 × 480 · 1-bit
walnut frame · USB-C

What's the ocean doing right now?

The dashboard pulls live buoy data and scores current conditions at Ocean Beach.

46026 · 46237NOAA buoys
648 × 4801-bit display
30 minrefresh interval
Linear shoalingwave physics
Open-Meteowind source