diff --git a/apps/chat/apps/web/src/lib/components/compare/CompareInput.svelte b/apps/chat/apps/web/src/lib/components/compare/CompareInput.svelte
new file mode 100644
index 000000000..79ffb05bd
--- /dev/null
+++ b/apps/chat/apps/web/src/lib/components/compare/CompareInput.svelte
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+ onTemperatureChange(parseFloat(e.currentTarget.value))}
+ disabled={isRunning || disabled}
+ class="w-24 h-2 bg-muted rounded-full appearance-none cursor-pointer
+ [&::-webkit-slider-thumb]:appearance-none
+ [&::-webkit-slider-thumb]:w-4
+ [&::-webkit-slider-thumb]:h-4
+ [&::-webkit-slider-thumb]:rounded-full
+ [&::-webkit-slider-thumb]:bg-primary
+ [&::-webkit-slider-thumb]:cursor-pointer
+ disabled:opacity-50"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/chat/apps/web/src/lib/components/compare/CompareProgress.svelte b/apps/chat/apps/web/src/lib/components/compare/CompareProgress.svelte
new file mode 100644
index 000000000..820c8faeb
--- /dev/null
+++ b/apps/chat/apps/web/src/lib/components/compare/CompareProgress.svelte
@@ -0,0 +1,43 @@
+
+
+
+
+
+
{result.modelName}
+
+ {#if result.status === 'loading'}
+
+
+ {statusConfig().label}
+
+ {:else if result.status === 'complete' && formattedDuration()}
+ {formattedDuration()}
+ {:else}
+ {statusConfig().label}
+ {/if}
+
+
+
+
+
+ {#if result.status === 'pending'}
+
Wartet auf Verarbeitung...
+ {:else if result.status === 'loading'}
+
+
+
+
+
+ {:else if result.status === 'error'}
+
{result.error || 'Ein Fehler ist aufgetreten'}
+ {:else if result.response}
+
+ {@html htmlContent}
+
+ {/if}
+
+
+
+ {#if result.status === 'complete' && result.usage}
+
+ {result.usage.total_tokens} tokens
+ {#if tokensPerSecond()}
+ |
+ {tokensPerSecond()} t/s
+ {/if}
+
+ {/if}
+
+
+
diff --git a/apps/chat/apps/web/src/lib/components/compare/ModelResponseGrid.svelte b/apps/chat/apps/web/src/lib/components/compare/ModelResponseGrid.svelte
new file mode 100644
index 000000000..cd35c7d85
--- /dev/null
+++ b/apps/chat/apps/web/src/lib/components/compare/ModelResponseGrid.svelte
@@ -0,0 +1,27 @@
+
+
+{#if results.length === 0}
+
+
Keine Ergebnisse vorhanden.
+
Gib einen Prompt ein und starte den Vergleich.
+
+{:else}
+