Inspiration
We spend all day in front of a screen, and our digital tools are cold. The ones that do talk back make you type. We wanted a sidekick that feels like having a pet around: one that lives on your screen, looks like your animal, and gets things done when you ask out loud. "Digital Side-kick" made us ask what it would mean for the sidekick to be a companion first and a tool second.
What it does
Whisker Flow turns one photo of your pet into a 3D sidekick that lives on your screen.
- Onboarding: name your pet, choose dog or cat, drop in a photo, and watch it get built.
- A pet that looks like yours: its coat colors come from your photo.
- Always there: it sits in a transparent window above your Dock, breathing, blinking and wagging its tail.
- Tap to talk: tapping it makes it greet you out loud in a speech bubble ("Hey! I'm Biscuit. How may I help you?") and opens commands: sit, jump, speak.
- Remembers you: your pet is saved, so it is there next time you open the app.
In progress:
- Voice requests you hold a button to speak.
- An AI agent that turns a spoken request into a real browser task and narrates what it's doing.
- Awareness of which apps you have open.
- Playing with a ball.
How we built it
- Electron + TypeScript + Vite: a frameless, transparent, always-on-top window pinned above the Dock, plus an onboarding window.
- Three.js: the pet is built from code (spheres, capsules and cones) in dog and cat templates that are tinted and animated, with no downloaded 3D models.
- Canvas color reading: a center crop of the photo is sampled to pick the coat, highlight and eye colors.
- Web Speech API: the pet's greeting voice.
- Planned: Gemini to read pet photos and route voice requests, ElevenLabs for the pet's voice, and Puppeteer for browser tasks.
Challenges
- Making a transparent desktop window that feels like a pet rather than a widget.
- Getting a procedural pet to read as cute (proportions, blink timing, head motion) without any art assets.
- Staying realistic about scope within a one-day hackathon.
What we learned
Small details such as a blink, a tail wag or a greeting in a friendly voice do more for a companion than raw features. We also learned how much Electron does for a desktop app with very little code.
Built With
- electron
- html5
- three.js
- typescript
- vite
- web-speech-api
- webgl