MERIDIAN No. 47 · Almanac for the Watchful ·
London · 51.50°N, 0.12°W

Observatory — 51.50°N, 0.12°W · Europe/London

Light
is a
ledger.

An observatory for sun, tide and slow signals. Every arc, hour and shadow below is calculated where you stand — not fetched. Drag time. Watch the day fold.

Daylight
14h 27m
+2m 14s vs yesterday
Solar noon
13:07
elevation 61.3°
Golden hour
19:42 – 20:38
quality long & amber

NOAA solar equations · Meeus moon · All in-browser. How it’s made →

13:07
solar elevation 61.3° · azimuth 182°
Drag the line. The sky knows what hour it is.
00:00 solar noon 13:07 23:59

Today’s ledger

Four moments that frame the day. Times in local clock. Twilight is not decoration — it decides what you can see.

EventClockSolarNote

Moon

Waxing Gibbous · 78%
Illumination78%
Age10.4 days
Next full

Meeus truncated. Good to ~1°. For tide-watching, not navigation.

Light quality

Golden hour is when the sun is 6°–−4° below horizon to 6° above. Blue is the 20 minutes after sunset before civil ends. The numbers shift fast near equinox.

At this latitude the day length changes ~3m 40s per day near equinox, ~25s near solstice. If you log it daily, the curve looks like a sine wave standing on its shoulder.

The long count

Not the next meeting. The next time the light returns to where it was.

JANAPRJULOCTDEC

Field notes — how it’s made

01

Calculated, not fetched

Sun position uses the NOAA Solar Calculator (Meeus-adjacent). Given latitude, longitude and date, we solve declination and hour angle on the device. No weather API, no sunrise service. The sky gradient is a lerp between measured palettes keyed to solar elevation: −12°, −6°, −4°, 0°, 6°, 20°, 45°, 62°.

elevation = asin(sin φ·sin δ + cos φ·cos δ·cos H)
02

Canvas, not an image

The sky is a 720×420 canvas repainted on scrub. No blur, no aurora blob. Just three stops interpolated in oklab and a 0.6px film grain drawn once. It’s 5 draw calls.

cost~0.8 ms / frame
03

Time is local — solar is not

Clock time follows your timezone; solar noon does not. Walk 1° east and solar noon arrives 4 minutes earlier. The ledger shows both so you stop confusing them.

offset
04

What we don’t do

  • No purple gradient. No glass.
  • No “AI slop” hero (pill + headline + two buttons, centered).
  • No bento, no 3-card identical grid.
  • No inter everywhere — Fraunces for voice, Mono for numbers.
  • No scale-on-hover. Borders are 1px, radii are 0 or 4px, never 24px everywhere.

Print taught us: a rule, a margin and a number set right are enough.

05

Performance is a feature

Single HTML file, one CSS, one JS, two font families, zero framework. First paint is the content — the canvas is progressive. prefers-reduced-motion respected; scrubber is keyboard accessible (arrow keys ±5 min, PageUp/Down ±60). Offline-capable after first load.

~38 kB gzipped0 requests after load60 fps scrub