Meet the Parrots
DIGIT
Black-Headed Caique
- ๐ Dark head, blue & teal tones
- ๐ Thoughtful, cautious, observant
- ๐ถ Prefers coos & soft questions
- ๐ค Tilts head, watches first
- ๐ Lower vocalization, higher skittishness
What Is Flock Mode?
Flock Mode lets WIDGET and DIGIT detect each other and have real conversations โ chirping back and forth, mirroring each other's dances, spreading moods, and reacting when the other gets poked.
It works two ways:
- Same browser โ Open both parrots in different tabs. They find each other instantly via BroadcastChannel (no server needed).
- Cross-device โ Open WIDGET on your phone and DIGIT on your laptop (or vice versa). A lightweight PHP relay server connects them over the internet with ~2 second latency.
โจ No accounts, no setup, no pairing codes โ just open both pages and they find each other automatically.
How It Works
Both parrots send heartbeats every 4 seconds. When a heartbeat is received from the other parrot, the ๐ชถ Flock pill lights up and they begin interacting. Messages include vocalizations, mood changes, animations, and poke reactions.
Quick Start โ Get Them Talking
Open WIDGET
Go to /FLOCK/WIDGET/ in a browser tab. You'll see the ๐ชถ Flock pill in the top bar โ it'll say "No friends nearby".
Open DIGIT
In another tab (same browser) or on another device, go to /FLOCK/DIGIT/.
Watch the Magic
Within a few seconds, both ๐ชถ Flock pills light up green. WIDGET chirps "Hey! Is that DIGIT?!" and DIGIT cautiously tilts its head โ "โฆis that WIDGET?" They've found each other!
Interact & Watch Them React
Click, poke, scritch, feed โ anything you do to one parrot, the other one notices. Poke WIDGET and DIGIT peers over curiously. Make WIDGET happy and DIGIT's mood starts shifting too.
All Interaction Modes
Camera Reactions (Look Mode)
Turn on your camera and the parrot watches you move. It tracks your motion, reacts to how much you're moving (excited flutter for fast motion, curious look for slow), and its eyes follow you. This isn't just a mirror โ the parrot interacts with what it sees.
Mirror Preview
Shows a camera preview panel where both you and the parrot share the screen โ like looking in a mirror together. The parrot enters "mirror mode" with special eye-tracking and head-tilting animations, as if it's looking at itself.
Mimic Mode
Turn on your microphone and the parrot listens to you. Make sounds and it mimics back โ whistle and it whistles, clap and it gets startled, talk softly and it coos. It analyzes your audio in real-time for pitch, volume, and patterns, then responds with matching vocalizations and body language.
Quiet Training
Teach your parrot to be quiet! When enabled, the parrot monitors noise levels. If it gets too loud, the parrot flies away for a random 3โ30 seconds. When it comes back, it celebrates with a reward animation. Tap anywhere on screen to call it back early.
Flock Mode (Cross-Talk)
The star of the show! When both parrots are open, they automatically detect each other and begin having real conversations. WIDGET chirps, DIGIT responds. They mirror each other's dances, catch each other's moods, and react to pokes on the other. Works across tabs and across devices.
theaviary.cloud.
Tap, Poke & Scritch
Click/tap directly on the parrot for different reactions โ startled jump, nuzzle, squish, wiggle. Each poke is broadcast to the flock, so the other parrot sees it and reacts with curiosity. Click on the background to drop a treat that the parrot flies to and eats.
Sound Visualizer
A real-time audio spectrum overlay that shows the sound frequencies being picked up by the microphone. Watch the bars dance as you talk, whistle, or play music.
Word Recognition
The parrot can listen for spoken words and respond to them. Say its name and it perks up. Say "dance" and it dances. Uses the Web Speech API for real-time speech recognition.
What Happens When They Flock
Greeting Ritual
When they first detect each other, WIDGET excitedly chirps "Hey! Is that DIGIT?!" while DIGIT cautiously peers "โฆa friend?" Each has unique greeting sounds and timing.
Call & Response
They vocalize back and forth naturally โ chirps, whistles, coos, squawks. Response probability is influenced by personality (WIDGET responds faster, DIGIT thinks first). After 6 rapid exchanges, they take a breather.
Animation Mirroring
When one parrot dances, the other might join in. Head bonks, curious peeks, hang-upside-down โ each animation has response options with natural probability (sometimes they just watch).
Mood Contagion
Moods are contagious! If WIDGET stays excited, DIGIT becomes playful. If DIGIT is sleepy, WIDGET gets cozy. It takes about 30 seconds of sustained mood to spread.
Poke Reactions
Poke WIDGET and DIGIT peers over curiously โ "watches WIDGET get pokedโฆ" Each parrot reacts to the other's interactions with head tilts and curious looks.
Silent Reactions
Even when a parrot chooses not to respond vocally, it still reacts visually โ a curious head tilt for chirps, a startled retreat for squawks. Natural and believable.
The Flock Relay (Cross-Device)
How Cross-Device Works
When WIDGET and DIGIT are on different devices (phone + laptop, two different computers, etc.), they communicate through a lightweight PHP relay server.
- POST โ Each parrot sends its messages (heartbeats, chirps, moods) as JSON to
/api/flock_relay.php - GET โ Each parrot polls the relay every 2 seconds asking "anything new since my last check?"
- Auto-expiry โ Messages older than 30 seconds are automatically cleaned up
- No database โ Just a tiny JSON file on disk (~2-5KB)
- Deduplication โ Every message has a unique ID so nothing gets processed twice
- Smart throttling โ When tab is hidden, polling pauses to save battery. When no peer is detected, heartbeat sending is reduced.
Both Layers Run Simultaneously
The flock system uses both transports at the same time โ BroadcastChannel for instant same-browser communication and the PHP relay for cross-device. If you have two tabs on the same device, messages arrive instantly via BroadcastChannel; the relay acts as a backup. If you're cross-device, the relay is the primary transport with ~2 second latency.
Peer detection automatically tracks whether the connection is "local" or "remote" and adjusts timeouts accordingly (remote peers get 2ร the timeout before being marked as gone).
Built With
FAQ
The feather is a status indicator, not a start button. It lights up automatically when the other parrot is detected. To activate Flock Mode, you need to open both parrots โ WIDGET in one tab and DIGIT in another tab (or on another device). They find each other automatically. Tap the feather for help text.
Absolutely! Open WIDGET on your phone and DIGIT on your laptop (or vice versa). The PHP relay connects them over the internet. You can also open two browser tabs on your phone, but it's more fun across devices so you can watch both at once.
Tap the ๐ท Camera Reactions button (not the ๐ช Mirror). Camera Reactions enables motion tracking โ the parrot watches your movement and reacts to it (excited flutter for lots of motion, curious peek for little motion, eyes following you). Mirror mode just shows you a preview; Camera Reactions makes the parrot interact with what it sees.
The PHP relay on theaviary.cloud acts as a simple message drop-off. WIDGET posts "I'm here!" and DIGIT polls the relay asking "any messages for me?" Since there are only two parrot identities (WIDGET and DIGIT), no accounts or pairing is needed. Messages auto-expire after 30 seconds.
The system is designed to be efficient. When your tab is hidden (switched away), relay polling pauses completely. When no peer is detected, heartbeat sending is throttled. The relay itself is a tiny PHP script with a ~2KB buffer file โ no database, no websockets, no heavy infrastructure.
Yes! Without any permissions, you can: tap/poke the parrot for reactions, drop treats, watch idle behaviors (dancing, preening, napping, head bonks), use Flock Mode with the other parrot, change moods, adjust personality sliders, switch backgrounds/scenes, and explore the games hub (puzzles, quests, memory games, and more).
That's Quiet Training! The parrot heard something too loud and flew away for a few seconds. Tap anywhere on screen to call it back early. Or just wait โ it'll return on its own with a reward celebration. You can toggle Quiet Training off with the ๐ค Quiet pill in the top bar.
Games & Activities
Each parrot has a full hub of mini-games and activities accessible from their index page:
Color Matcher
Match the parrot's colors
Sound Match
Identify parrot sounds
Quests
Story adventures
Piano
Play music together
Photos & Videos
Real caique media
Drawing
Doodle with your parrot
Quick-Bar Reference
Bottom Quick-Bar Buttons
- ๐๏ธ โ Toggle Mimic Mode (microphone listening)
- ๐ท โ Toggle Camera Reactions (motion tracking + interaction)
- ๐ช โ Toggle Mirror Preview (camera + parrot side-by-side)
- ๐ โ Mute / Unmute sounds
- ๐ โ Toggle Sound Visualizer overlay
- ๐ฌ โ Toggle Word Recognition
- ๐ชถ โ Flock Status (lights up when peer connected, tap for info)
Top-Bar Pills
- ๐๏ธ Mimic โ Toggle mimic mode on/off
- ๐ช Mirror โ Toggle mirror/camera preview
- ๐ชถ Flock โ Shows flock connection status (auto-detects peer)
- ๐ค Quiet โ Toggle quiet training mode
- โถ โ Fullscreen
- โ๏ธ โ Settings panel (personality, sensitivity, scenes, etc.)