diff --git a/src/components/PixelBlast.tsx b/src/components/react/PixelBlast.tsx
similarity index 100%
rename from src/components/PixelBlast.tsx
rename to src/components/react/PixelBlast.tsx
diff --git a/src/components/react/SearchDialog.tsx b/src/components/react/SearchDialog.tsx
index 8bf12cb..cd05eec 100644
--- a/src/components/react/SearchDialog.tsx
+++ b/src/components/react/SearchDialog.tsx
@@ -2,10 +2,10 @@ import { motion } from 'motion/react';
import type React from 'react';
import { useEffect, useMemo, useRef, useState } from 'react';
import { createPortal } from 'react-dom';
-import StarBorder from '@/components/StarBorder';
import { Kbd, KbdGroup } from '@/components/ui/kbd';
import { Spinner } from '@/components/ui/spinner';
import { cn } from '@/lib/utils';
+import { StarBorder } from '.';
import { AnimatedItem } from './AnimatedList';
// Types for Pagefind
diff --git a/src/components/StarBorder.tsx b/src/components/react/StarBorder.tsx
similarity index 100%
rename from src/components/StarBorder.tsx
rename to src/components/react/StarBorder.tsx
diff --git a/src/components/react/index.ts b/src/components/react/index.ts
index 9ae70bb..93de22e 100644
--- a/src/components/react/index.ts
+++ b/src/components/react/index.ts
@@ -15,8 +15,10 @@ export { CopyPageButton } from './CopyPageButton';
export { DotPattern } from './DotPattern';
export { LifecycleDiagram } from './LifecycleDiagram';
export { Param, ParamInline, ParamTable } from './ParamTable';
+export { default as PixelBlast } from './PixelBlast';
export { PricingRates } from './PricingRates';
export { SearchDialog } from './SearchDialog';
export { SearchDialogWrapper } from './SearchDialogWrapper';
+export { default as StarBorder } from './StarBorder';
export { StatusBadge, StatusCodes } from './StatusCodes';
export { ThemeSwitcher } from './ThemeSwitcher';
diff --git a/src/content/docs/api/rest.mdx b/src/content/docs/api/rest.mdx
index ba6fbb0..5a5aa8c 100644
--- a/src/content/docs/api/rest.mdx
+++ b/src/content/docs/api/rest.mdx
@@ -4,7 +4,12 @@ description: HTTP API for managing Sprites programmatically
---
import APIEndpoint from '@/components/APIEndpoint.astro';
-import { Callout, ParamTable, Param, StatusCodes, StatusBadge, APIBody } from '@/components/react';
+import { APIBody } from '@/components/react';
+import Callout from '@/components/Callout.astro';
+import ParamTable from '@/components/ParamTable.astro';
+import Param from '@/components/Param.astro';
+import StatusCodes from '@/components/StatusCodes.astro';
+import StatusBadge from '@/components/StatusBadge.astro';
The Sprites REST API allows you to manage Sprites programmatically via HTTP requests.
diff --git a/src/content/docs/cli/commands.mdx b/src/content/docs/cli/commands.mdx
index ddd2106..70153ad 100644
--- a/src/content/docs/cli/commands.mdx
+++ b/src/content/docs/cli/commands.mdx
@@ -3,7 +3,7 @@ title: CLI Commands Reference
description: Complete reference for all Sprites CLI commands
---
-import { Callout } from '@/components/react';
+import Callout from '@/components/Callout.astro';
Complete reference for all `sprite` CLI commands.
diff --git a/src/content/docs/cli/installation.mdx b/src/content/docs/cli/installation.mdx
index 6d69d51..7fc80c9 100644
--- a/src/content/docs/cli/installation.mdx
+++ b/src/content/docs/cli/installation.mdx
@@ -3,7 +3,7 @@ title: CLI Installation
description: Install the Sprites CLI on macOS, Linux, or Windows
---
-import { Callout } from '@/components/react';
+import Callout from '@/components/Callout.astro';
The Sprites CLI (`sprite`) is available for macOS, Linux, and Windows.
diff --git a/src/content/docs/concepts/lifecycle.mdx b/src/content/docs/concepts/lifecycle.mdx
index d16ca89..57b0ee7 100644
--- a/src/content/docs/concepts/lifecycle.mdx
+++ b/src/content/docs/concepts/lifecycle.mdx
@@ -4,7 +4,7 @@ description: Understanding Sprite hibernation, persistence, and state management
---
import LifecycleDiagram from '@/components/LifecycleDiagram.astro';
-import { Callout } from '@/components/react';
+import Callout from '@/components/Callout.astro';
Sprites are persistent, stateful environments that maintain their filesystem and state between runs. This page covers how Sprites manage their lifecycle, including hibernation, persistence, and resource allocation.
diff --git a/src/content/docs/quickstart.mdx b/src/content/docs/quickstart.mdx
index c4fe7dc..c41d623 100644
--- a/src/content/docs/quickstart.mdx
+++ b/src/content/docs/quickstart.mdx
@@ -4,7 +4,7 @@ description: Get up and running with Sprites in 5 minutes
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import { Callout } from '@/components/react';
+import Callout from '@/components/Callout.astro';
This guide shows you how to install the CLI, create your first Sprite, and start running commands. By the end, you'll have a working environment that sticks around between runs, serves traffic over HTTP, and wakes up automatically when you need it.
diff --git a/src/content/docs/working-with-sprites.mdx b/src/content/docs/working-with-sprites.mdx
index c64a1a5..d2f2f35 100644
--- a/src/content/docs/working-with-sprites.mdx
+++ b/src/content/docs/working-with-sprites.mdx
@@ -4,7 +4,7 @@ description: Beyond the basics, sessions, ports, persistence, checkpoints
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import { Callout } from '@/components/react';
+import Callout from '@/components/Callout.astro';
After you've made it through the Quickstart, you've got a working Sprite and a sense of how to use it. This page covers what comes next: how Sprites behave over time, how to run persistent processes, how networking works, and how to shape the environment to fit your stack. Use it as a reference as you start building more with Sprites.
diff --git a/src/pages/404.astro b/src/pages/404.astro
index 93a5a60..3e5f302 100644
--- a/src/pages/404.astro
+++ b/src/pages/404.astro
@@ -1,6 +1,5 @@
---
-import PixelBlast from '@components/PixelBlast';
-import SearchDialogWrapper from '@components/react/SearchDialogWrapper';
+import { PixelBlast, SearchDialogWrapper } from '@components/react';
import '@/styles/custom.css';
---