Svelte 5 runes, component patterns, reactivity, and SvelteKit data loading best practices
99
99%
Does it follow best practices?
Impact
99%
1.11xAverage score across 10 eval scenarios
Passed
No known issues
A customer support platform team needs a live message feed component for their Svelte 5 app. The feed displays an ongoing conversation and auto-scrolls to show new messages, but it has a tricky UX requirement: if the user has scrolled up to read older messages, the view should not jump to the bottom when new messages arrive — it should preserve the scroll position instead. When the user is already at the bottom, new messages should naturally extend the list.
The component also needs to keep the browser tab title in sync with the number of unread messages (messages that arrived while the user was scrolled up), so agents can see at a glance whether there are new messages without looking at the page.
The team has been debugging some reactivity issues and wants the component to include reactive debug instrumentation on the messages list so they can observe updates during development.
The entire component must be written in Svelte 5 style with TypeScript.
Create the following files:
src/lib/MessageFeed.svelte — The message feed component that:
src/routes/support/+page.svelte — A page that:
Both files should use Svelte 5 and TypeScript.
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
skills
svelte-best-practices