Jakubantalik/thinking-orbs

▲ 203 stars today★ 3,097⑂ 247

Dotted thought-orb loading indicators for AI & agent UIs, 9 tuned types, two sizes, auto dark/light

About Jakubantalik/thinking-orbs

Jakubantalik/thinking-orbs is an open-source project on GitHub, mainly written in TypeScript. Dotted thought-orb loading indicators for AI & agent UIs, 9 tuned types, two sizes, auto dark/light It currently holds 3,097 stars and 247 forks with 20 open issues, and was last pushed on 2026-08-16 (repository created 2026-07-21).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #25 with 203 new stars today.

GitHub Repository Details

Repository Jakubantalik/thinking-orbs · default branch main · size 483 KB · watchers 5 · source: GitHub REST API and repository README

README

thinking-orbs

Dotted thought-orb loading indicators for AI & agent UIs. Nine hand-tuned animated states, each shipped at two purpose-tuned sizes, rendered on a plain 2D canvas — no WebGL, no filters, works identically in Chrome, Safari and Firefox.

Live demo · Repository · Report an issue

Install

npm install thinking-orbs

Quick start

import { ThinkingOrb } from 'thinking-orbs';

function Status() { return ; }

States

Nine verbs an agent can be doing, each a distinct animation:

     {/ particles on tilted orbits /}
   {/ a scan meridian sweeps a dotted globe /}
     {/ bands scramble, then click back solved /}
   {/ a waveform rolls through the rings /}
  {/ a constellation wires itself /}
     {/ three strands plait around the sphere /}
   {/ an undulating multi-band sash /}
   {/ a ring slowly morphing /}
     {/ dotted outline: circle → triangle → square /}

Sizes

Two tuned presets — separate designs, not a scale factor. 64 for chat-avatar scale, 20 for inline-text scale. Each carries its own dot count, dot size and speed tuning:


Theme

Strictly monochrome — light ink for dark backgrounds, dark ink for light backgrounds — with the mode picked automatically from the host project:

   {/ default — detects from the project /}
   {/ pin: light dots for dark backgrounds /}
  {/ pin: dark dots for light backgrounds /}

auto resolves in three layers and updates live when any of them change:

1. an ancestor data-theme="dark|light" attribute or dark/light class (the Tailwind / shadcn convention), watched via MutationObserver; 2. otherwise prefers-color-scheme, subscribed for live OS theme switches; 3. SSR-safe — the canvas paints only on the client, after the theme has resolved.

Other props


All other ` props (className, style, data-*`, …) pass through.

Accessibility & performance

License

MIT © Jakub Antalik

GitHub Stars & Activity

3,097Stars
247Forks
20Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars3,097
Forks247
Open issues20
Primary languageTypeScript
LicenseMIT
Stars gained today203
Created2026-07-21
Last pushed2026-08-16

Trending History

Daily boardrank #25 · ▲ 203 stars

Related GitHub Projects

1

anthropics / claude-code

TypeScript★ 147,450⑂ 24,110▲ 504 stars
2

earendil-works / pi

TypeScript★ 108,091⑂ 13,676▲ 438 stars
3

OpenCut-app / OpenCut

TypeScript★ 90,311⑂ 8,918▲ 352 stars
4

ZuodaoTech / everyone-can-use-english

TypeScript★ 38,159⑂ 5,228▲ 55 stars
5

Crosstalk-Solutions / project-nomad

TypeScript★ 37,783⑂ 3,763▲ 360 stars
6

yikart / AiToEarn

TypeScript★ 26,264⑂ 4,250▲ 93 stars
7

vercel-labs / json-render

TypeScript★ 17,906⑂ 938▲ 787 stars
8

Open-Dev-Society / OpenStock

TypeScript★ 17,582⑂ 2,183▲ 843 stars

More Trending Repositories