Kindred Extension

A Chrome extension that brings AI companions to life. It acts as a personalized, emotionally intelligent companion that lives on your screen and integrates seamlessly into your day-to-day browsing experience.

Kindred * 2024-03-01 – 2025-07-01
  • hmm
    The three original Kindred companions: Tabby, Bunny, and Shiba.
  • hmm
    You can mix and match accessories to personalize your Kindred companion!

What is this?

Kindred is a Chromium extension that brings an animated AI companion to life on your browser, following you across tabs. The companion — available as original MetaPals characters (bunny, shiba, tabby) or licensed IP such as Axie, Pudgy Penguins, and Teletubbies — can be interacted with through patting, dragging, and feeding, and customized with accessories.

The beta version extends this with an AI chat feature, where users can talk to the companion through text or voice and receive text and voice responses.

Alongside the extension, there is the Sanctuary (public) / Hub (beta) website, where users can buy food and accessories for their companion and visit other users’ companions, without needing to update their extension.

What did you do?

I worked as a frontend engineer of this extension project for 1 year and 4 months, focusing primarily on the animated companion and the extension’s UI.

Companion framework

I maintained the companion framework — inherited from a previous engineer — which handles companion creation (loading Spine files, building containers), companion state management, and animations such as idle, walk, feed, pat, jump, pickup, and more. This framework was shared between the extension and the Sanctuary/Hub website.

Complex systems I built

UI work

Built various UI components for the extension including profile, inventory, and settings menus, as well as the chat input and message bubble UI for the beta version. Also worked on UI for the Sanctuary/Hub website.

AI chat integration

Integrated the companion’s AI chat with the backend using SignalR, including voice activity detection and audio playback via the extension’s offscreen document.

How was this built?

← back