Independent lab · est. 2022

Focused, trustworthy tools —
the kind we rely on ourselves.

Shady Knoll Labs builds hardware and software that does one job well and explains itself. Right now that means private check-ins for first responders after hard calls, free tools for people building ESP32 devices, and sensors that tell you how much light your plants are really getting.

Current projects

First responders · new in 2026

Second Watch

Confidential peer support for the people who work the hard shifts. After a rough call, a peer lead picks who was on it and each person gets a private check-in by text or email. There’s no app to install and no password: one tap to answer “I’m okay,” “I’d like to talk” or “Not right now,” and only the agency’s peer team sees the answer, never the chain of command.

Built to pass an agency IT review: data encrypted with a separate key for each agency (which the agency can hold and revoke itself), every agency’s records walled off from the others in the database, and an append-only log of every change, including edits made directly in the database.

ESP32 makers · open source

SKL-WebConsole

A serial console for ESP32 projects that runs in any browser on your network. Watch a device’s logs live, pause to read, filter by level or text, send commands back, and export to CSV or JSON. The device keeps its recent output, so you still see boot messages from before you opened the page.

Free and open source (MIT). A drop-in replacement for WebSerial. Built for Gnode and shared with the maker community.

View on GitHub

ESP32 makers · open source

SKL-OTA

Safe over-the-air updates for ESP32 projects, so a device on someone’s shelf can get fixes without a USB cable. Every release is signed, so a device only installs builds made for it. The update downloads into a spare slot while the current version keeps running, and has to pass a self-test you define before it’s kept. If it crashes, hangs, or fails that test, the device goes back to the version that worked.

Free and open source (MIT). No subscription or cloud platform: host releases on your own server, GitHub Releases, or any static file host.

Obsidian · open source · new

Graph Timelapse

An Obsidian plugin that records what your graph view really looks like, once a day by itself, and plays that history back as a timelapse in any note. Obsidian’s built-in Animate only replays today’s notes in file-date order. Graph Timelapse keeps the real record: links you added later, notes you renamed or deleted, and how your clusters formed over months.

Each day is saved as a small snapshot of every note’s position and link, so any day can be redrawn later, crisp at any size, and it diffs cleanly in Git. Playback keeps notes close to where they were, so the graph grows instead of jumping around. Export any range as an MP4, sized for Shorts or Reels if you like. Private by default: notes are stored as anonymous ids unless you turn titles on, and nothing leaves your vault. Free and open source (MIT).

View on GitHub

The trick that keeps it steady is now its own library: steady-graph, live demo →

Houseplants · the first SKL project

Gnode (Garden Node) & GnodeHub

Small, inexpensive sensors that sit where your plant sits and track its light, warmth and humidity through the day. GnodeHub keeps the history and turns readings into plain answers, like whether a spot gets enough light for the plant you put there, and how that changes as the seasons turn.

Light is estimated from a lux reading, and the page on how we do it shows every factor and how far off it can be.

Plant light, in plain terms

How much light is your plant getting?

A phone light meter measures how bright a room looks to people. Plants care about something else: how much light in the colors they use actually lands on the leaf. Gnode estimates that from a lux reading, and we show our work: the conversion, the factor for each kind of light, and how far off it can be.

See how it works

How we work

Show our work

Every number says how it was made and where it stops being reliable. An estimate is labeled as one.

Plain words first

Explain it the way you’d explain it to a friend, then give the technical term for anyone who wants to look it up.

Private by default

Collect what the job needs and nothing more. This site’s analytics are self-hosted and cookie-free. Second Watch encrypts responder data with a separate key for each agency.

Build in the open

The maker tools are MIT-licensed, and the long-term plan is for Gnode to be self-hostable, not locked behind a subscription.

Have a question, an idea, or a team that could use Second Watch?

Send a note. It goes straight to the lab.

Get in touch