gitwtfhub

wtf is thinking-orbs?

jakubantalik/thinking-orbs — explained in plain English

Analysis updated 2026-08-13

2,309TypeScriptAudience · vibe coderComplexity · 1/5LicenseSetup · easy

TL;DR

A React component library of nine animated dotted-orb loading indicators built for AI and agent interfaces, with automatic dark and light theming.

Mindmap

mindmap
  root((thinking-orbs))
    What it does
      Animated orb loading indicators
      Nine distinct agent states
      Auto dark and light theme
    Tech stack
      TypeScript
      React
      Canvas 2D
    Use cases
      Show an AI agent is working
      Add a loading state to a chat UI
      Indicate searching or connecting states
    Audience
      Developers
      Vibe coders
      Designers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Show an animated orb while an AI agent is thinking or working

REASON 2

Pick from nine different states to match what the agent is currently doing

REASON 3

Add a loading indicator that automatically matches your site's dark or light theme

REASON 4

Use a smaller inline orb next to text or a larger one at chat avatar scale

What's in the stack?

TypeScriptReactCanvas

How it stacks up

jakubantalik/thinking-orbsthebuggeddev/anatomyyounesfdj/gitfut
Stars2,3092,3132,296
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasymoderate
Complexity1/52/52/5
Audiencevibe coderdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

Thinking Orbs is a small React component library that gives you animated loading indicators shaped like dotted orbs, made specifically for AI and agent interfaces. Instead of a generic spinner, you get nine different hand tuned animations, each meant to represent a different thing an agent might be doing, such as working, searching, solving, listening, connecting, weaving, composing, breathing, or shaping. Each animation is drawn on a plain 2D canvas rather than WebGL or filters, so it renders the same way in Chrome, Safari, and Firefox. You install it with npm and use it as a single component, passing in a state prop to pick which animation to show. It comes in two separate sizes rather than one design scaled up or down: a larger size meant for chat avatar style placement, and a smaller size meant for inline text, each with its own dot count, dot size, and speed tuned specifically for that size. The component is strictly monochrome, using light dots on dark backgrounds and dark dots on light backgrounds, and it can automatically detect which theme to use. It checks for a dark or light attribute or class on an ancestor element first, following the convention used by tools like Tailwind and shadcn, then falls back to the operating system's color scheme setting, and updates live if either changes. You can also pin the theme manually instead of relying on automatic detection. Other props let you adjust the animation speed, pause it on the current frame, and override the accessibility label. For accessibility and performance, each orb includes a sensible label out of the box, respects a user's reduced motion setting by showing a static frame instead of animating, and automatically pauses when scrolled off screen or when the browser tab is hidden. All orb instances on a page share a single animation clock so they resume in sync. The project is released under the MIT license.

Yoink these prompts

Prompt 1
Install thinking-orbs from npm and add a ThinkingOrb with state searching to my chat UI
Prompt 2
Using thinking-orbs, show me how automatic theme detection works between dark and light mode
Prompt 3
Add a ThinkingOrb component that respects prefers-reduced-motion and pauses when scrolled offscreen
Prompt 4
Show me all nine states available in thinking-orbs and what each one looks like

Frequently asked questions

wtf is thinking-orbs?

A React component library of nine animated dotted-orb loading indicators built for AI and agent interfaces, with automatic dark and light theming.

What language is thinking-orbs written in?

Mainly TypeScript. The stack also includes TypeScript, React, Canvas.

What license does thinking-orbs use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is thinking-orbs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is thinking-orbs for?

Mainly vibe coder.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.