Projects
Things I'm building in the open — research artifacts, hardware sketches, and provisional drawings.
- Acoustic protocol
- Passive Wi-Fi sensing
- Webcam attention
- Singletons
- Status key
- provisional
- exploring
- featured
- 9 projects · 2 featured
- 01 / 09 acoustic protocol
EchoCast
★Audio that follows you between rooms
- Devices emit + listen for ultrasonic chirps to infer presence
- Audio session follows the user via cross-fade handoff
- No audio · no location · no IP-network metadata leaves the home
provisional 15 sheets Jan 2026Read the draft - 02 / 09 passive Wi-Fi
RoomMirror
★An interface that senses the room you're in
- Senses breathing and posture from ambient Wi-Fi reflections
- Shifts the UI — focus mode, quieter notifications, ambient cues
- No wearables · no cameras · nothing leaves the home
provisional 13 sheets Dec 2025Read the draft - 03 / 09 stand-alone
PalmEcho
▸ NEXTYour laptop's chassis is the touchpad you didn't know you had
- Built-in speakers chirp · built-in mics listen for the impulse response of a tap
- Maps chassis regions to keyboard shortcuts, focus toggles, app switches
- No audio retained · features extracted on-device · userspace daemon
exploring 12 sheets May 2026Open drawings - 04 / 09 webcam attention
PageHaptic
A trackpad that gets quieter the deeper you read
- Trackpad force-curve modulated by webcam-inferred reading state
- Disengagement triggers a faint resistance bump · a haptic bookmark
- All inference local · output is below conscious notice
exploring 9 sheets Apr 2026Open drawings - 05 / 09 passive Wi-Fi
LampTide
A lamp that breathes with the room
- One bulb encodes ambient state · no dashboards, no notifications
- Slow drift (>30 s) keeps the signal peripheral, never foreground
- Local-only · works with Hue, Matter, or any USB-C lamp
exploring 10 sheets Apr 2026Open drawings - 06 / 09 stand-alone
PillowGraph
Sleep stages from the phone already in your pillow
- IMU + ambient mic infer four-stage sleep without a wearable
- Acoustic events classified locally to tokens · no audio retained
- Output is a morning "dawn" graphic, not a metric stack
exploring 11 sheets Mar 2026Open drawings - 07 / 09 passive Wi-Fi
BreathLink
When two people on a call breathe together, the conversation knows
- Respiration from sub-pixel motion magnification of the existing video stream
- Speech-gated coherence between caller pairs · ambient indicator, not corrective nudge
- All inference local · raw video never leaves the device
- Outbound stream is sub-pixel-modulated · peer cannot reconstruct sender's rPPG/VM signal
- Explicit per-participant opt-in · non-opted-in participants excluded from γ
exploring 11 sheets Mar 2026Open drawings - 08 / 09 acoustic protocol
ChirpLock
A file that only decrypts when the other device is in the same room
- Decryption gated on a sub-100 ms ultrasonic challenge-response
- Time-of-flight ceiling enforces same-room proximity, not just same-network
- Keys derived per-session · no shared secret persisted across sessions
exploring 13 sheets Feb 2026Open drawings - 09 / 09 webcam attention
GazeStill
A re-entry card for when you come back to the article
- Re-entry card on resume · last attentive · next sentence · confidence band
- Webcam-only gaze · paragraph-resolution · no external eye tracker
- Detector openly acknowledged as prior-art-anticipated (Rosenberg 2006, Amazon 2014)
- Frames discarded after gaze regression · nothing recorded
exploring 5 sheets Jan 2026Open drawings