diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte
new file mode 100644
index 000000000..cf84051e4
--- /dev/null
+++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageCarousel.svelte
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+ {#each expandedPages as p, idx (p.id)}
+
+
handleDragStart(e, p.id)}
+ ondragover={handleDragOver}
+ ondrop={(e) => handleDrop(e, p.id)}
+ ondragend={handleDragEnd}
+ >
+ {@render pageSnippet(p, idx)}
+
+ {/each}
+
+
+ {#if expandedPages.length === 0}
+
+ {#if showPicker && picker}
+ {@render picker()}
+ {:else}
+
+ {/if}
+
+ {:else if showPicker && picker}
+
+ {@render picker()}
+
+ {:else}
+
+ {/if}
+
+
+
+ {#if minimizedPages.length > 0}
+
+ {#each minimizedPages as p (p.id)}
+
+
+
+
+
+
+ {/each}
+
+
+ {/if}
+
+
+
diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte
new file mode 100644
index 000000000..cd8619dfe
--- /dev/null
+++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte
@@ -0,0 +1,352 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {#if toolbar}
+ {@render toolbar()}
+ {/if}
+
+
+
+ {@render children()}
+
+
+
+ {#if onResize && !maximized}
+
+
+
+
+ {/if}
+
+
+
diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts b/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts
new file mode 100644
index 000000000..a6631bf7d
--- /dev/null
+++ b/apps/manacore/apps/web/src/lib/components/page-carousel/index.ts
@@ -0,0 +1,3 @@
+export { default as PageShell } from './PageShell.svelte';
+export { default as PageCarousel } from './PageCarousel.svelte';
+export type { CarouselPage } from './PageCarousel.svelte';
diff --git a/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte b/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte
index 5505d94a3..b209c0837 100644
--- a/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte
+++ b/apps/manacore/apps/web/src/lib/components/workbench/AppPage.svelte
@@ -1,17 +1,9 @@
-