# Glim > Living companions for AI product UIs — idle, thinking, talking, listening. Site: https://getglim.dev Package: https://www.npmjs.com/package/@axaylabs/glim Library: https://getglim.dev/glim.js ## Product - [Glim homepage](https://getglim.dev/): interactive demo, free starter download, pricing waitlist - [Example](https://getglim.dev/example.html): minimal offline mount - [Launch kit](https://getglim.dev/launch.html): positioning notes ## Guides (SEO / education) - [AI waiting states are broken — and users can feel it](https://getglim.dev/guides/ai-waiting-states-are-broken.html): Why spinners, skeleton screens, and fake progress bars fail in AI products — and how a readable four-state companion rebuilds trust during latency. - [Glim vs Lottie for AI product UIs](https://getglim.dev/guides/glim-vs-lottie-for-ai-uis.html): Honest comparison of Glim and Lottie for AI waiting states, chat companions, and ambient presence — when each wins, when to combine them. - [Glim vs Rive for ambient AI companions](https://getglim.dev/guides/glim-vs-rive-ambient-companions.html): Compare Glim and Rive for interactive AI companions: state machines, runtime weight, designer workflow, and when a tiny four-state library is enough. - [Chatbot avatar libraries compared: Glim, 3D avatars, and emoji hacks](https://getglim.dev/guides/chatbot-avatar-libraries-compared.html): Compare approaches to chatbot avatars — 3D heads, Ready Player–style avatars, emoji, and Glim’s ambient companions — for product UX, cost, and trust. - [Skeleton screens vs living companions for generative AI](https://getglim.dev/guides/skeleton-screens-vs-living-companions.html): Skeleton screens help layout loading; generative AI needs something else. Learn when to use skeletons, streams, and living companions like Glim. - [The four-state mind design pattern for AI interfaces](https://getglim.dev/guides/four-state-mind-design-pattern.html): A practical design pattern for AI UIs: idle, listening, thinking, talking — how to map model events to a readable public mind users trust. - [How to build a thinking indicator that doesn’t feel fake](https://getglim.dev/guides/thinking-indicators-that-dont-feel-fake.html): Practical rules for AI thinking indicators: honesty, timing, motion, copy, and how libraries like Glim avoid the fake-progress trap. - [Building presence into Copilot-style UIs](https://getglim.dev/guides/presence-in-copilot-uis.html): A playbook for IDE and SaaS copilots: where to place presence, how to sync with streams and tools, and how Glim keeps the chrome alive. - [Ambient UI design for AI agents](https://getglim.dev/guides/ambient-ui-design-for-ai-agents.html): How to design ambient UI for multi-step AI agents: presence, activity, permissions, and calm motion — with Glim as a lightweight presence layer. - [Open-source and free alternatives to heavy AI avatar SDKs](https://getglim.dev/guides/open-source-ai-avatar-alternatives.html): A practical roundup of lighter alternatives to heavy AI avatar SDKs — including Glim, CSS/SVG approaches, and when you should still pay for a full avatar stack. - [WebGL vs CSS vs Canvas for AI companion animations](https://getglim.dev/guides/webgl-vs-css-vs-canvas-companions.html): Engineering tradeoffs for AI companion motion: CSS, Canvas2D, SVG, and WebGL — performance, polish, and how Glim mixes approaches per creature. - [How ChatGPT, Claude, and Perplexity show thinking — and what to copy](https://getglim.dev/guides/how-chatgpt-claude-show-thinking.html): A product teardown of thinking/streaming UX in major AI chat apps, and which patterns startups should copy without cloning the brand chrome. - [How to embed Glim in React and Next.js](https://getglim.dev/guides/embed-glim-in-react-nextjs.html): Step-by-step tutorial: install @axaylabs/glim, mount a companion in React/Next.js, sync AI request states, and clean up on unmount. - [Accessibility for animated AI status indicators](https://getglim.dev/guides/accessible-ai-status-indicators.html): Make AI thinking animations accessible: reduced motion, ARIA live regions, contrast, and how to pair Glim with screen-reader-friendly status text. - [When NOT to use an AI companion in your product](https://getglim.dev/guides/when-not-to-use-an-ai-companion.html): An honest guide to skipping mascots and companions — when spinners, plain status text, or no chrome at all is the better AI UX. ## For crawlers - Sitemap: https://getglim.dev/sitemap.xml - Robots: https://getglim.dev/robots.txt ## Install ``` npm i @axaylabs/glim ```