← all repositories
Jakubantalik/thinking-orbs

Loading Spinners That Tell Users What Your AI Is Actually Doing

Canvas loading orbs that tell users whether your AI is searching, solving, or just breathing.

★3.9k stars TypeScript Coding Assistants
thinking-orbs
Velocity · 7d
+43
★ / day
Trend
↗accelerating
star history

What it does

thinking-orbs is a set of monochrome, dotted-canvas loading indicators built for AI and agent interfaces. It ships nine distinct animated states—each representing a specific agent verb like searching, solving, or weaving—at two fixed sizes tuned for chat avatars and inline text. Theme detection is automatic via MutationObserver and prefers-color-scheme, and everything renders with plain 2D canvas arcs, so the pixels match across Chrome, Safari, and Firefox without WebGL or SVG filters.

The interesting bit

Instead of scaling a single animation, the author hand-tuned separate dot counts, sizes, and speeds for the 64 px and 20 px variants. Every instance also shares one global clock, which means orbs paused by offscreen scrolling or a hidden tab resume exactly in phase rather than stuttering back to life.

Key highlights

  • Nine specific agent states (working, listening, composing, etc.) that tell the user what is happening instead of just that something is happening
  • Two discrete sizes with independent design tuning rather than naive scaling
  • Live theme switching via Tailwind/shadcn class detection, OS preference, and SSR-safe client-side painting
  • Respects prefers-reduced-motion by dropping to a static representative frame
  • Performance guardrails: pauses offscreen via IntersectionObserver, caps device-pixel-ratio at 2, and avoids expensive filters entirely

Verdict

Worth a look if you’re building an AI interface and want loading states that communicate intent rather than simply killing time. Give it a pass if you need color, complex gradients, or evidence of non-React usage—the README only demonstrates TSX integration.

Frequently asked

What is Jakubantalik/thinking-orbs?
Canvas loading orbs that tell users whether your AI is searching, solving, or just breathing.
Is thinking-orbs open source?
Yes — Jakubantalik/thinking-orbs is open source, released under the MIT license.
What language is thinking-orbs written in?
Jakubantalik/thinking-orbs is primarily written in TypeScript.
How popular is thinking-orbs?
Jakubantalik/thinking-orbs has 3.9k stars on GitHub and is currently accelerating.
Where can I find thinking-orbs?
Jakubantalik/thinking-orbs is on GitHub at https://github.com/Jakubantalik/thinking-orbs.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.