← EchobotFIELD NOTES · 004
A LITTLE COMPANY. A LITTLE CURIOSITY.

A little orb,
full of personality.

Echobot is a curious little companion for SideQuest. Pick him up and he stretches. Throw him and he falls, stretches, and bounces against your screen edges. His rubber-ball impacts soften as he settles, and he has a few playful things to say. He notices your pointer, takes a beat, and looks over. Left alone, he explores, smiles, gets drowsy, and eventually naps. Click his face to wake him.

One small package.

The cyan-to-mint orb, ten eye expressions, thinking dots, reply bubble, question field and Send button are all vector objects in one Rive file. While Echobot thinks, three dots hop inside his face. His mouth appears only while speech is playing. The charcoal chat panels and mint controls match his orb, with space between the face, reply and question field. Little idle hops, tap reactions and a changing hover glow make him springy; reduced-motion settings keep the head still. Six gestures use rounded white cartoon gloves with curved arms; there are no legs or feet. His reply springs open when he starts speaking, then bounces closed after he finishes. Between questions, only the face, question field and Send remain. When Echo falls asleep, his conversation tucks away and leaves just his floating head. You can drag him across the page, or focus his face and use the arrow keys.

The browser supplies typing, accessibility, audio and the connection to his local brain. The Rive file contains a native TextInput and action triggers; a keyboard bridge adds mobile keyboards, paste, selection and composition. Reduced-motion preferences turn off the spring rig.

Meet his voice.

Echobot uses Qwen3 1.7B and local Pocket TTS on the EchobotForge VPS. Stuart Bell is his normal voice, including greetings and playful reactions. Requested character impressions and story casts use Kokoro ONNX. Replies stream and his mouth follows the playing audio. The sound button stops a reply or plays it again, reopening its text. Pauses between speech segments keep the reply open. If audio is unavailable, the text stays visible longer so you can read it.

Meet the people behind Echobot.

Ask Echobot about SideQuest, Flynn & BeardBot, Chris, or how to get in touch. Questions go to the local model with relevant Studio notes, and related links appear in his reply bubble. The quick-question row is gone to keep his resting view small. Public biography and contact details come from SideQuest and Chris’s public profile. Flynn & BeardBot uses the owner’s project context.

Take Echobot with you.

Add this script to a page to float Echobot over it. He starts at the bottom right, and can be moved or minimized. He now lives across the public SideQuest site, stays visible as you scroll, and remembers where you drag him across pages and reloads.

<script src="https://thesidequest.studio/echoforge/face/embed.js?v=19" defer></script>

Download the Rive file ↗Download the source ↗

The source includes the editable scene, vector generator, spring rig, embed wrapper, backend, checks and deployment instructions. The wrapper does not read the surrounding page’s content or forms.

A sense of here and now.

Echobot gets the date, time, timezone and browser language with each question. The small location icon optionally asks your browser for an approximate location. Rounded coordinates reach only the VPS, where an offline GeoNames index finds a nearby city. The model receives the city label. Click the icon again to clear it; the snapshot expires after 30 minutes.

There is no live weather, news, calendar or web search. The local model can make mistakes. Type /new conversation or reload to clear chat memory. Conversation stays in the page’s memory; the local speech service caches generated audio. This app does not log message bodies or store location history.

A few little tricks.

Try smile, hearts, surprised, sleepy, angry, glitch or reset face. These change his expression and voice delivery directly. They do not run server or device commands.

Built with good company.

Rive runtime (MIT), Qwen3 (Apache 2.0), Pocket TTS, Stuart Bell / Voice-Zero (CC0 voice), Kokoro ONNX (MIT; model Apache 2.0), GeoNames (CC BY 4.0) and Inter (SIL Open Font License).