Svelte Stockholm · 20 Oct 2026
A presentation framework grown inside stanislav.garden
Software engineer at Schibsted · Stockholm
Part one
Seven layouts and a code slide, a few looks each
Title · meadow
Centred, for a talk that opens on one idea
Title · card
The home page’s contact card, as a cover
Swifts across the top of the stage
The swifts again, with a picture

Birches stand at the right edge
Software engineer at Schibsted · Stockholm
I build open-source packages and side projects with Svelte, Bun, and friends.
Hello
my name is
Software engineer at Schibsted · Stockholm
List · bullets
List · numbered
List · cards
Split · photo
A rounded print sits on the art, served through a Mochi image transform at slide size.
Split · framed
Two plates sit behind the frame, the way a riso proof misses its marks.
Split · garden
Write slides the way you write pages.
Every slide is one more print run.
stanislav.garden/talks/framework-tour
@khromov
Part two
Highlighted at build time, morphed in the browser
Code · panel
<script lang="ts">
let count = 0;
</script>
<button>{count}</button>
Plain markup, rendered once
$state makes it reactive
$derived follows along
$effect reaches outside
<script lang="ts">
import LatestPosts from './LatestPosts.svelte';
import ThemeToggle from './ThemeToggle.svelte';
</script>
<h1>stanislav.garden</h1>
<LatestPosts />
<ThemeToggle />
Server-rendered, no JavaScript
Slow data streams in after first paint
…or only once it scrolls into view
Hydrate only what people click
Code · split
await Mochi.serve({
routes: {
'/': Mochi.page('./src/Home.svelte'),
},
});
Writing a deck
<script lang="ts">
import { Deck, Title } from '../components/talks';
</script>
<Deck>
<Title />
</Deck>
A deck is one .svelte file
Templates are slides
Code is highlighted at build time
Notes only reach the presenter
03
Freeform slides, riso and the presenter
Freeform slide
Ink lands with a misregistered ghost.
Rise lifts in from below.
Fade is the default.
None simply appears.
Riso gallery
Canopies hang, swifts cross, sunflowers grow and the survey maps a corner.
Transitions
Neighbours slip along their own misregistration. This slide fades in instead, and C turns every move into a cut.
Keys
Before the talk
Part four
Four ways to hear back from the room, on every phone
Poll
Join on your phone
Poll
Join on your phone
Thumbs
Join on your phone
Thumbs
Join on your phone
Word cloud
Join on your phone
Questions land here as they come in.
Join on your phone
stanislav.garden/talks/framework-tour