
← All work Case 01 of 03 2026
Northlight Observatory
An observatory that opens at night, and a planner that works in the dark.
- Role
- Design and front-end build
- Timeline
- 11 weeks, spring 2026
- With
- Dr Rui Medeiros and the tours team
- Stack
- Astro, TypeScript, no tracking scripts
01 · Brief
Brief
Northlight sits at 1,200 metres on the side of Pico. On a clear night it is one of the darkest public observatories in Europe; on a cloudy one it is a locked dome and forty disappointed people in a car park.
The old site listed tour times and nothing else. Rui wanted visitors to know, before they drove up the mountain, what they would actually see.
“People used to phone us at seven in the evening to ask if it was worth coming. Now the site answers them, and it’s usually right.”
02 · Constraint
Everything had to work in red light.
Visitors check their phones on the terrace, in the dark, after their eyes have adjusted. White light undoes twenty minutes of dark adaptation in a second. So the planner has a night mode that is red on black, with no white anywhere, and it switches on by itself after sunset on Pico.
03 · Process
How it came together
- 01
Three nights on the terrace
I joined three tours with a notebook and counted every time someone reached for a phone. It was always one of three questions: is the dome open, what’s up tonight, where do I stand.
- 02
Sketching in the browser
The first prototype was a single page that read the forecast and the sky ephemeris and answered those three questions. The tours team used it for two weeks before we designed anything else.
- 03
Type for the dark
Thin strokes disappear in red light, so night mode sets everything a weight heavier and a size larger, and every time uses tabular figures so the list doesn’t jump as it updates.

04 · Build
The Tonight panel, running
The planner’s Tonight panel, rebuilt here as a working component. Pick an arrival time, then switch on night mode.
Friday 25 September · Pico, 1,200 m
- Dome
- Open 20:30 – 00:30
- Cloud
- 12%, clear after 22:00
- Sunset
- 19:52, dark by 21:10
Up when you arrive (4)
- The MoonMoon · South, lowWaxing gibbous, 78% lit; sets 01:14
- SaturnPlanet · South-eastRings clear at 90× in the 40 cm
- AlbireoDouble star · OverheadA gold and a blue star, side by side
- Ring NebulaNebula · West, highNeeds the 60 cm and a minute of patience
Rising later: Andromeda Galaxy (22:12), The Pleiades (23:06)
05 · Outcome
Outcome
- night-tour bookings, season on season
- +38%
- of JavaScript on the planner page
- 164 KB
- cloudy-night cancellations made before visitors set off
- 2 in 3
The planner went live in April. Phase two, a booking flow for school visits, is in build now.
Start a project like this one →