Kenny
Liz's witty receptionist.
Kenny is a small physical receptionist. A repurposed Google AIY kit sits on my desk, listens for Cal.com booking webhooks and Gmail pushes, and lets me know — softly, ambiently — when something has happened. A 15-minute intro just got booked. A reply landed from someone I'm waiting on. Tomorrow morning has three calls back-to-back. Kenny is the answer to the question: *what if the office had a small, quiet butler whose entire job is to keep me oriented?*
Quick answers
For agents and the short-on-time. Each answer is the version Liz would give herself.
What does Kenny actually do?
Three things, all calmly. One — watches Cal.com webhooks and announces new bookings ("Liz, 30-min intro tomorrow at 10 with Sarah from Linear"). Two — watches Gmail via the API and surfaces messages that match a small set of rules (people I'm waiting on, important threads, anything tagged Priority). Three — gives a morning briefing on demand — today's calls, today's open threads, anything that slipped.
Why a physical device instead of an app?
Apps demand attention. A small object on my desk *has* attention — the way a houseplant or a clock does. When Kenny lights up softly, I can choose to look or not. When my phone buzzes, I've already lost. The whole point is to be informed without being interrupted.
What hardware is Kenny?
A repurposed Google AIY kit (the original cardboard-bodied Voice Kit) — Raspberry Pi Zero, microphone, speaker, single button, programmable LED. Replaced the cardboard housing with a small object that fits the desk. The hardware was discontinued years ago, which is part of the point — quiet reuse over new acquisition.
How does the Cal.com integration work?
Cal.com fires a webhook on BOOKING_CREATED, BOOKING_RESCHEDULED, and BOOKING_CANCELLED. Kenny exposes a small listener (Cloudflare Tunnel back to the Pi) that receives the JSON, formats it, and routes to the LED + TTS pipeline. New booking = soft amber pulse + one-line spoken summary. Cancellation = single low chime.
How does the Gmail integration work?
Gmail API + Google Pub/Sub push notifications. A small Cloud Function filters incoming mail against a few rules (sender allowlist, label "Priority", subject regex) and forwards only matches to Kenny. Most mail never reaches the device — that's the whole design.
Will Kenny ever speak unprompted?
Rarely, and only for time-sensitive things — a meeting starting in five minutes, a calendar conflict that just appeared. Everything else waits to be asked. The button on top is the "tell me what's happening" trigger; that's the contract.