“This is a long document; get yourself a cup of tea.” (Rich Harris)
I had the privilege to participate in the 2025 Svelte Summit (Spring) in person this last week (May 8th/9th 2025), and I promised to share some personal observations / notes. I followed the last four or so summits from afar (live-streaming), but only at the in-person Summit did I realize it’s true value: socializing with the Svelte community.
Leaving Barcelona with a whole bunch of new friends and wonderful memories. The #sveltesummit energy is special and unique. Feel very lucky to be part of it 🧡
[image or embed]
— rich harris (@rich-harris.dev) May 10, 2025 at 5:19 PM
And bear with me - by that I don’t mean networking to land a gig or getting some swag. I really mean connecting with the people who build and/or use the same tools as you. In the case of Svelte in particular I’d say they’re also more likely to share some or many of your interests, values or character traits.
And even if you don’t have that much in common with them, they will accept you as you are. That’s the Svelte community. I hadn’t had a single negative encounter or even a moment of negativity. It seems that Svelte devs indeed focus on the good parts, on making things better for everyone.
Compared to other conference-like tech events that was a new experience to me.
There are reasons why people use Svelte. Birds of a feather stick together.
You can skip the next section if you’re just interested in my actual notes about the Summit.
But I encourage you to not to skip it, especially if you decided against going to the Summit or didn’t succeed at convincing your boss to buy you a ticket. There might be other reasons that prevented you from joining, and I hope to address them in the future…
But if it was about being introvert - I’ve rarely felt less awkward meeting and talking to complete strangers than at the Svelte Summit.
Svelte Summit? So what!?
A Summit of this kind (run by Svelte Society, not by a corporation / product / brand) is a community event. One pillar of such an event are the talks. They are great. Yes, you can watch them online, watch them later, next year, in five years (or make the links rot forever in your YouTube Watch Later playlist) and so on.
This part of the Summit is about our craft and our tools and the cool stuff people create (please watch the talk “Svelte in Orbit” by Mike Rourke as soon as it’s online).
Mike Rourke teaching us astrophysics in Barcelona
But then there’s the coffee breaks, the brief interactions with your seat neighbor between two talks, and of course: the official social gatherings at the venue. And even more so the spontaneous informal ones after the venue closes for the day.
This is the second pillar of each community event. It’s about the community, with the community, by the community. It’s the people behind those Github / Twitter / Bluesky avatars, snarky Github Issue comments, insanely helpful Vite plugins, Svelte libraries, YouTube tutorials and blogposts with a link to the public source code. And it’s the people from the core development team, the stakeholders from other parts of the ecosystem (such as Vite or Storybook or Sentry and/or your favourite podcast for developers).
Pardon my French, but it’s freaking insane to be able to share a beer (or a Coke) with the exact people who build the tools that enable me to do my job, and to do so with joy, all of which enables me to pay my bills (which helps me help NGOs create products they wouldn’t be able to afford otherwise, which then helps them spread their cause).
So to me the social aspect of the Summit turned out to be x times (as in: no clue how to quantify that) more exciting and impactful than the talks. And the talks were excellent!
The two-day Summit had a total of
- six breaks (2x morning / lunch / afternoon)
- plus two breakfast sessions
- plus two official afterparties
- plus the informal gatherings in the evening
That’s 12 time slots for socializing.
That’s 915 minutes or 15,25 hours of scheduled time to spend with the community.
Plus two nights of x hours each (2x 4 hours in my case) to crash some bars.
One in the morning, Svelte crew still going strong 😅
[image or embed]
— Scott Spence (@scottspence.dev) May 10, 2025 at 1:12 AM
No livestream can replace that.
I spoke with:
- devs doing data journalism (I was one of them last year)
- devs with 20+ years of experience
- devs who just started using Svelte
- devs who have merged my PRs in the past
- devs who are into gaming (like me)
- devs behind tools, products and libraries I regularly use
- devs who run non-technical events at art galleries
- devs who speak one of my mother tongues (German, Russian) but don’t necessary come from or live in the places were those languages are spoken
- devs from 6 continents (yes!)
- devs who aren’t white cis males
- devs who are pretty much hardcore about privacy / fighting surveillance
- devs who care about Ukraine
- devs who despise Tailwind
- and many more
And ultimately devs who love Svelte, who build Svelte, who contribute to the ecosystem.
So if you didn’t make it to this Summit, maybe because your employer didn’t see the value in sending you there, maybe because you’re on a tight budget, maybe because the costs / value equation made you decide against participating: it is absolutely worth it! It’s not about the talks. It’s about spending time with your community in person.
But don’t just take my word for it. Jeppe Reinhold (from chromatic / Storybook) did a much better job capturing the vibes than I could ever manage in his Bluesky thread. Here’s the final post, but please check out the rest of them in Jeppe’s thread.
We won’t be able to re-create Barcelona, but we should try anyway!
I came for the tech.
Stayed for the community.
Remembered it for the friends I made along the way.
If anyone of you ever stop by Denmark and want a taste of forrest, nature, farm life, my DMs are open!
[image or embed]
— jeppeReinhold 🇩🇰 (@reinhold.is) May 11, 2025 at 11:07 PM
Some Observations
I had the chance to talk to many people. People I already knew from “online” (from Twitter / Bluesky) but never had met in person before, as well as people I met at the Summit for the first time.
During those conversations, I started to notice that some questions / answers / topics - if mapped as data points on a blank canvas - could be clustered. And those clusters could be connected to topics I care about. Unfortunately, that’s how my brain works. I memorize and I connect.
The questions I asked most frequently are super basic:
- What do you do / what’s your job? Most chat partners obviously also asked me the same.
- Do you get to use Svelte at your job?
On top of that, I also asked some people
- what they think about the current job market for Svelte developers
- how they perceive the adoption (rate & vibes) of Svelte 5
In the following sections I will address some of my observations. In large parts I’ll try not to be judgy or prescriptive (apart from the section on AI). Those are mine observations, and this is how I’m trying to make sense of them. So please consider this post to be rather descriptive / analytical but from my point of view instead.
Also, I’m not going to mention who said what because those were private, informal adhoc conversations and I hadn’t planned to conduct interviews or to turn my thoughts into a report. It just happened.
However, let me start with a general observation first. If you don’t care about AI / LLM, please don’t skip it. Skim through it at least. Svelte needs you.
No AI / LLM Talks at the Svelte Summit (a lengthy take)
I found it remarkable that “AI” played little to no role during the official Summit program. There hasn’t been a single talk - be it about AI tooling or about building applications that integrate LLMs in some way. That surprised me. And I’m not implying that this is bad.
Maybe it went like this because of those tiny coincidences that depend on the timing.
One example: the call for proposals ended in January, but the Vercel AI SDK support for Svelte 5 had only been introduced later in March.
Fun fact: The official Vercel AI SDK Getting Started guide for Svelte still mentions “SvelteKit 4”…
Screenshotted 2025-05-12
Maybe Svelte needs an AI ambassador / AI DevRel type of role?
Anyhow.
I actually have some opinions on Svelte & AI for two reasons:
AI & DX
First, no matter how you think about AI / LLM tooling, end of day it’s part of the overall DX formula for a framework / library / language to many many people. Maybe it’s not relevant to you, but it is super-relevant to many other developers.
To my understanding, DX is in large parts joy / vibes (the real ones), but it’s at least as equally important when it comes to efficiency and effectiveness. DX plays a role in driving adoption among individuals. Developer velocity plays a role in getting thumbs up from CTOs / PMs / managers and other often non-technical decision makers. Increased language / framework adoption leads to more job openings. More job openings lead to … you get the point.
But then the current LLM experience with Svelte 5 can still be something like that:
April 2025: @bolt.new still isn’t aware of Svelte 5 basics…
[image or embed]
— Ilja (@fubits.dev) April 7, 2025 at 6:02 PM
Bad / lacking LLM support for a language, framework or library in these times means worse DX and somewhat lower velocity (esp. in relation to more established stacks). Most of us know that. Most of us know that so far - more than a year or two into the big hype - support for Svelte 5 is still horrible. And yet, here we are. It was briefly mentioned during the fireside chat towards the end of the summit and that’s it.
There’s a second reason why I’m quite opinionated about AI & LLM tooling, and this is maybe aimed a bit at AI skeptics / opponents. I met quite a few of them at the summit and some of the more senior folks sounded a bit boomer-ish gatekeepy to be honest. They might have mentioned something that starts with “Jet” and ends with whatever rhymes with “rains”, if I’m not mistaken.
Also, there was a remark about ethics that triggered me, because I’m quite familiar with senior staff using ethics or privacy concern as a tactical caveat to hinder change if prospective change is not in their favour. I’m not saying it was the case here. It just immediately rang a bell.
Given the state of AI vs. Svelte 5 this part of my Summit experience was a bit disappointing and caught me off-guard.
Don’t get me wrong here. I believe in privacy. I believe in ethics. I’m glad that we have GDPR in the EU. I don’t like late-stage capitalism. I didn’t miss AI in my life and I didn’t pray for it to arrive. And yet, first of all, there’s no way around the AI age. I’m saying this as a freelance especially.
And second, now is the best time to learn as much as possible about how to do your job with AI, because it’s here to stay, because it’ll grow more capable, because it can provide value, but the price tag will increase and I fear that it’ll be hefty. And it’ll be different for devs in large corporations versus solo devs or devs working for smaller, thin-resourced teams (such as NGOs or media organizations).
So hear me out.
For the last 7 or so years I’ve been focussing on working with and for NGOs / non-profits. They often lack many things: funding, technical knowledge, proper project management etc. They rarely have permanent IT staff. They rarely have the project budget for a frontend + backend + UX | UI | design | product team of three.
I’m mostly working on my own and on a tight budget doing the job of three+. In some places this also applies to newsrooms or rather data journalists / DDJ teams.
And AI is nuts, both in a positive and negative sense. It’s like a monkey with a hand grenade sometimes.
Never let AI implement your auth, server firewall rules or anything security-related. Don’t let it access your DB. But instead maybe feed it the schema.
Yet, AI enables me to also be brave enough to explore or even implement stuff where I lack formal training or skills. And it allows me to prove ideas before I take more time to figure out the details. Take Warp terminal (referral link because I want the stickers) for instance. This is how I learned to do stuff on the server. First locally on my Pi and with Home Assistant. Then with Coolify. Then on my VPS. Then in production for clients / at work. Right now, I don’t even have a subscription for Warp. Because I learned what I need to do and Warp was something like my tutor.
Claude helped me do crazy Postgres migrations (not just tables but whole DBs) and restoring a Postgres backup with intact foreign key relationships, functions and row-level security policies.
Bolt gave me the key three lines needed to mount a Svelte component into a Maplibre popup in an Astro website - with 1 prompt.
I have many more of those examples. I bet most people who do use AI do have them as well.
AI helps me figure out solutions for problems in minutes, which would have taken me hours. I can do more with less. And working for NGOs means you have less but want / need to do more. If it wasn’t for AI, I probably wouldn’t even try to innovate in my sector because I have deadlines to meet and to keep an eye on my billable hours. And while some of the most experienced and creative people in my main field argue that innovation in DataViz might have reached a plateau, I think that NGOs in particular might still offer the space to experiment and innovate. (I will have more to say about this later this year.)
I’m actively exploring how I can integrate AI in order to boost accessibility in DataViz for instance. For a NGO client I’m prototyping an internal SvelteKit app with an AI assistant to help make sense of larger data sets with webR (client-side R + Web Assembly) and server-side DuckDB (because: privacy and ethics!). And there’s more. I’m paid to innovate this year.
Why am I writing all of this in such detail? Apart from the subpar support for Svelte 5 being one pain point, I also frequently run into AI skeptics in places where I don’t expect them. Both, among clients as well as among developers. Most of them are seniors. Some doubt the utility, some (rightly) question the ethics, some seem to be gate-keeping (”those will never be real developers”).
But at the same time, most AI / LLM tooling right now is heavily subsidized. We talk billions of $$$ here. Currently, we pay maybe a fraction of the real costs behind the services.
Why? Because right now it’s about competing for market share in a new-ish realm. Conquer the market by recruiting more users than the competition. Let the competition run dry (VCs pulling out their billions). Win the race. Restore the pricing to actually profitable levels. You have a monopoly now. People won’t have no choice if there’s no competition. Sometimes, monopolizing innovation is how innovation works.
Either that, or there’ll be a miracle and people will realize that AI is an overkill in terms of resource consumption vs value and there’ll be a resolution to abandon AI at the next global climate summit. But I doubt that’ll happen …
It’s like with war or politics: you might not be interested in AI, but AI is interested in you. I worked in the digital rights sector for a few years, I don’t like billion-dollar corporations, I try to avoid FAANG services as much as possible, and yet ignoring AI for whatever reason right now feels like deliberately missing out on a tiny, yet shrinking window of opportunity to prepare for whatever is yet to come as the next stage.
So you might as well want to max out on using as many tools as possible right now, learn effective prompting, study the patterns that work best for you, figure out which tools really provide value, experiment with new workflows that weren’t imaginable before mass-market LLMs. And encourage others to do so as well. Especially the less technical people around you.
I’m afraid it will get much more expensive in the future. So now is the best opportunity to get started. And self-hosted LLMs come with a price tag (GPUs and electricity bills) as well. You can’t afford it to miss out right now. I’m sorry.
Should there have been a talk on AI with Svelte - be it a product or tooling? Yes. Is it a bad sign that there wasn’t one? I think so. But that’s my view.
Now on to the bright side
- Svelte was really quick to adopt the llms.txt convention and at least in my experience, it is really helpful in Cursor / Windsurf whathaveya. It costs more tokens and it’s still not the same DX as having off-the-shelf language support as it is the case with the React-Tailwind-Shadcn monopoly, but it’s getting better.
- Someone mentioned that there might be efforts to provide a Svelte-trained LLM via MCP to bridge the gap until more mainstream models have been trained on Svelte 5 syntax as well
- Stanislav Khromov, who already gave us llms.txt for Svelte, also started to benchmark the most common models. In his benchmarks, Gemini 2.5 Pro is the first model with proper support for Svelte 5. Independent of that benchmark I heard from a few other people that they had the same impression from using Gemini 2.5 Pro. So there’s that.
- (Stanislav also gave us svelte-render-scan which you absolutely should use)
I’m no AI expert. I’m a user and I’m a solo dev. I’m a freelance. The situation isn’t too bleak. Could be worse, could be better.
And I’m wondering all the time recently: was Svelte 5 released a year too late or a year too early?
Technically, it doesn’t matter anymore, but we need to get better at this yesterday.
On a side note, here’s a little tip with regards to llms.txt and Svelte 5 and totally unrelated to LLMs. Svelte 5 is still new-ish. The documentation was a bit thin in the beginning and it still keeps evolving. Monitoring Svelte’s llms.txt with e.g. changedetection.io (open source; mine runs on a Raspberry Pi) is also a great way to notice new changes to the documentation. If you understand how open source works, you’ll realize that those changes aren’t random. They reflect a better understanding of where users struggle or where the API of a rune or a module still needs improvement. It’s like a log of artefacts from a community that actually has a good knowledge sharing and learning culture. And Svelte does have both!
Screenshot of a change from the first week of May
You might say: “why don’t you just monitor the repo?” Yeah, not bad, but my approach sends me a message to my phone as soon as it detects a change. That’s a bit more ergonomic than browsing commits on GitHub in a browser or so.
Svelte Jobs / Svelte at Work
I usually ask most people (esp. those having had their current position for multiple years) if they get to use Svelte at work / in production. Turns out, that’s two different things. Based on my anecdotical evidence, most devs I spoke to don’t get to use Svelte in production (as in: public facing products). But they’d love to. Many have built “internal tools” with Svelte, but because of x, y, and z, they are not allowed to introduce Svelte for the core product. In many cases, peers - other Senior developers - were named as the blockers.
I don’t like it. But that’s the situation. We have nice data from the “State of” surveys, where Svelte ranks #1 in interest and being loved, but where React still sits on > 67% of devs using it at work.
Results of the State of JavaScript survey 2024.
So we might need to find strategies to increase adoption. We need to want that, in the first place tho.
We seem to have enough devs who love Svelte. So it must be something else (LLM support being only one factor among many).
Please read on.
Svelte Loved by Backend Developers
Somewhat randomly I realized that people who told me that they use Svelte in production, checked one or multiple of the following boxes:
- the core tech team was mainly backend developers
- backend developers seem to love Svelte
- the person who introduced Svelte often was the first “proper” frontend hire
- it was often in SaaS and/or more-than-a-startup-less-than-a-100-people-corporation context. Something like 3-4 years into the journey and around a max. of 30-40 people of staff
And that’s also something that other people at the summit shared as an observation as well.
So maybe winning hearts and minds of backend devs could be part of our strategy. It might help to make sense of the data from recent “State of” surveys. Maybe we can learn more about Svelte (non-)users there.
DataViz Devs Are Actually the Smallest User Group
By the way, make sure to check out SveltePlot which was officially launched at the Summit by Gregor Aisch, the co-found and ex-CTO of beloved DataWrapper!
Photo of Gregor Aisch officially launching SveltePlot at the Svelte Summit 2025
Considering the origins of Svelte (but also D3, Observables, Data Wrapper and other rather popular tools) being in the media sector, I realized that I had quite a naive bias. I started my dev career doing data wrangling and data visualizations / mapping and still earn 50% of my income with that. I thought that many many Svelte devs actually work with data and data visualizations. I know that I should have known better. I just never updated my believes here.
So it turns out that people making DataViz actually are a niché minority among the Svelte user base.
And that’s great! Svelte ain’t just a tool for pretty (and performant) DataViz with great UX and accessibility. Most other Svelte devs actually build common-use-case apps, browser plugins, interactive 3D interfaces for eCommerce and anything else but DataViz.
Why is that important to me? Well, I guess half of my Svelte peer group and professional interactions within it is with people who build data visualizations or work with data. These are real, complex crafts on their own, but it’s also only a subset of the problem space Svelte and SvelteKit are trying to solve and conquer.
It’s an important realization to me, because I also build regular websites, web apps and run servers and self-host DBs etc. on top of visualizing data. But when I hang around with my peers, some of it is less of a concern to them. Because they work in different environments, with an established IT and established editorial and design / developer workflows. They don’t need to self-host stuff. They can ask someone from the platform team or IT department to provide the infra they need. Or, probably the more dominant use case might apply here: their organization might have existing systems (such as a proprietary CMS), probably a bit dated, and the devs need to find ways to make Svelte work with those system. That also might mean that they don’t have the time / space / need to jump on most recent tech.
I do tho. That’s one of the upsides of working as a freelance and of working with NGOs. I pick my own stack. And for that I am my own DevOps team.
So a huge learning for me: I need to extend my peer group and stop being ignorant of SaaS devs or UI/UX developers and other people who don’t do what I do in their day-to-day jobs. I need to connect to the people who do the other things I do and far beyond that, and those things are everything but DataViz. Svelte Summit was perfect for that. It made me meet people from sectors / industries I don’t usually hang around with.
But more importantly, I’m trying to get the Svelte Society Berlin meetup up and running, and while there are many data journalists in Berlin, that’s not how we are going to grow the audience and the Svelte adoption rate. So, this observation has an impact on potential topics and speakers to be considered for the Svelte Society Berlin meetups - and I need to think about that. Fortunately, I won’t be alone in this effort.
Epic Ashley Furniture SvelteKit Success Story
Sounds like AI slop? It was a banger, actually. There was a really special talk at the summit. It wasn’t exactly a technical talk. But I think it was the best Svelte talk I’ve seen so far.
Why? Because it’s an epic success story about Svelte & SvelteKit in production. It’s a performance. You need to watch the talk as soon as the recordings are online. You need to share it. You need to spread the word. And you might want to talk about your success story as well.
What everyone looks forward to at a Svelte Summit is a talk from the world’s tallest Svelte developer @bertbengtson.bsky.social
What an entrance!! 😂
[image or embed]
— Scott Spence (@scottspence.dev) May 11, 2025 at 2:49 PM
To those who didn’t know what Ashley Furniture is before witnessing this talk (me included): it’s the second-largest furniture retailer in the US (second-only to IKEA). If I remember correctly, they serve 600.000 web visitors each day, or something in that realm. Bert Bengston, who led the technical effort of migrating the website from a legacy stack to SvelteKit over the course of three (3) years, spoke about the motivation, the obstacles, and the tactics used to pull this of. And they succeeded.
First, this is the type of talk we need for Svelte adoption to grow. This type of this talk and topic exactly. The energy, the vibes, the storyline, the facts. The Phoenix Project (or it’s successor Unicorn Project) as a stage play and with SvelteKit. Or a Ocean’s Eleven-like heist where introducing SvelteKit is the actual coup. Three years in the making against many odds. Bert and his team did a heck of a job. And they’re lovely and diverse people as well!
Second, this talk is the least suitable talk for the Svelte Summit. Again, don’t get me wrong: It was a great talk, perfectly performed. But those who came to the Svelte Summit already know how awesome Svelte is. I don’t need no convincing. (Maybe I’m wrong and this talk for once was badly needed by the community at this Summit exactly. What do you think?)
This type of talk needs to happen at Frontend Nation, We Are Developers, JS Summit XYZ, Vite summit and so on.
Let’s stop talking about how awesome runes are. Let’s showcase how well runes perform in production, how much DX they offer and how Svelte and SvelteKit can make Phoenix Project become reality for other teams.
Other developers - non-Svelte developers - need to witness this. Their managers need to hear about this. This is how we’ll win.
And there’s a single most important slide in this presentation - it’s the talk’s actual climax: the KPI slide.
Photo taken during the talk
In case it’s hard to read:
RESULTS
- 25% increase in site KPIs
- Accessibility problems eliminated
- Release cycles went from every 3 months to every 2 weeks with a 95% reduction in regression defects
I have to repeat myself here:
You need to watch the talk as soon as the recordings are online. You need to share it. You need to spread the word. And you might want to talk about your success story as well.
This is how we’ll win.
And please read Phoenix Project and Unicorn Project if you didn’t do so yet. You’re missing out.
Svelte’s Imperative Component API Is Not That Well Known
It’s somewhat in alignment with my own observations from before the Summit, but it was also mentioned on stage: not enough Svelte devs know of the lower-level component API (and even less so about server-side render()
) and it’s power.
In short, mount()
allows you to instantiate and mount a Svelte component. Mixed with Vite and a few Rollup settings (see Jesse’s video linked below) that allows us to use Svelte components in any (!) client-side environment that supports modules.
render()
runs on the server and exposes to you the body and head of a component as strings. hydrate()
will … well … hydrate the SSR’ed string payload from render()
on the client.
Here’s a simple (a bit dated) example of a Svelte component being SSR’ed with Bun. No SvelteKit, no other dependencies, just Bun, the Svelte component, and the Svelte render API in a helper function.
(If you fancy, feel free to upgrade to hydrate()
in a PR.)
Here’s another example, where I use the API to mount a Svelte component to a container in a non-Svelte / vanilla JS library (Maplibre) from within Svelte.
Turns out it’s actually quite ease to mount a Svelte component to a @maplibre.org popup:
- create dom element
- use Svelte component API and mount(component, {target})
- set result as content with Popup.setDOMContent()
- (optionally unmount on popup-close event)
REPL: svelte.dev/playground/a…
[image or embed]
— Ilja (@fubits.dev) April 10, 2025 at 12:15 PM
Possibilities are endless.
I encourage you to watch Jesse Skinner’s talk from the 2021 Svelte Summit (Fall) on how to integrate compiled Svelte components into any legacy environments. I used that pattern to build high-performing network and graph visualizations to be integrated in a Blazor app. Svelte and Blazor can even share methods with each other (beyond event listening), so other JS-capable environments should work as well.
All that has changed since then, is that you need to adjust two lines. Yes, I liked the legacy Svelte 3/4 API much more than the new one. It also returned the style in its own property.
But the key point is: Svelte can run everywhere! And the Async RFC will make everything even more powerful.
Some Other Observations
This section is related to observations where people asked me about what I’m doing and some follow-up questions about my stack etc. I work a lot with Supabase, Coolify, Bun, DuckDB, R - and three of them happened to become a recurring topic in my conversations at the Summit.
Bun
People heard of Bun. But most people who asked me about Bun thought that it’s still just a runtime. Bun has evolved a bit. I’m not working for Bun, nor am I getting paid by them to say this, but:
I really like Bun. It’s like a Swiss knife for JavaScript (and Svelte). Here are my favourite things about it, which hopefully also helps counter some misperceptions.
First:
“Bun is designed as a drop-in replacement for Node.js. It natively implements hundreds of Node.js and Web APIs, including fs
, path
, Buffer
and more.” (https://bun.sh/)
Second:
“Bun ships as a single executable with no dependencies” (https://bun.sh/docs/installation)
That’s one of my favourite features. It’s a single file. You can put it on a thumb drive, or rsync
it to a server with SSH and pin / use the exact version without thinking about any external dependency or tool. The version can also be pinned in Nixpacks.
The rest:
- yes, Bun is a JavaScript runtime
- as a runtime, at least in my experience it is both faster and consumes significantly less memory
- Bun is also a package manager and a bundler
- Bun aims to maintain a high level of compatibility with Node. In most cases, you can replace
npm/pnpm install / run / build
and node run index.js
with bun install / run / build
- there might be some differences server-side but in the context of Svelte that might also be due to the unmaintained Bun adapters for SvelteKit
- but beyond that, Bun comes with a crazy list of built-in core features, e.g. for
SQLite
, S3
, WebSocket
and Postgres
(as of Bun 1.2) and much more
- it’s my favourite approach for implementing tiny servers or to execute JavaScript (e.g.
bun run my-special-local-script.js
)
- you can even run shell scripts from within JavaScript
- and you can low-key SSR Svelte components with Bun without SvelteKit
All I’m missing from Bun (or hoping for) is native support for DuckDB (out of scope at the moment) and a well maintained adapter for SvelteKit.
One downside - a serious one - is the pace with which Bun evolves and its ever growing scope. It might be a bit challenging to keep pace but it is possible (similar to the approach with monitoring llms.txt for changes above). And the extended scope might seem frightening at first. But so far, for quite a while, Bun has been quite stable and the team keeps on delivering.
DuckDB
DuckDB was rarely mentioned during the conversations I had. I think I did not hear it mentioned once on stage.
I’ll spare you a deep dive, but DuckDB is a bit like Bun but for data: it’s much more that just a DB.
It’s hyper-high-performant. It can work with data in-memory or persisted to a single file (like SQLite). It can query millions of rows from the CLI or with a client (client- and server-side) in milliseconds. There are plugins and you can e.g. export single tables as a CSV on the fly or dump the data to a SQLite file or query remote parquet files from S3 storage. There’s a WASM client, and Aman Barghava demo’ed recently what is possible on the client when combining DuckDB with WASM and SvelteKit.
New project! Made a tool lets you explore, subset and summarize over 10M rows of data from the Time Use Survey of India in your browser. How people in different states, professions and groups spend their time? And then export your findings for #dataviz too!
diagramchasing.fun/2025/time-us…
[image or embed]
— Aman Bhargava (@aman.bh) April 20, 2025 at 3:13 PM
Here’s a simple example to demo that SvelteKit can run with server-side DuckDB as well:
Not sure if I should but it turns out that I could:
It is totally possible to run @duckdb.org server-side with Node based stuff. I just figured out a proof-of-concept with SvelteKit.
The new Neo client is still in alpha but the docs are already helpful: duckdb.org/docs/stable/…
[image or embed]
— Ilja (@fubits.dev) May 4, 2025 at 10:36 PM
Mix Bun, the DuckDB server client and a DuckDB file and you have a 3-files backend (Bun runtime, a server.js, and the DuckDB file). Or mix SvelteKit, webR and DuckDB and let your (R) users wrangle data in the browser with the R-specific packages they know (tidyverse etc.).
DuckDB is fantastic!
And the DuckDB CLI recently received a native UI with a notebook and instant SQL queries.
So first, I’m a DuckDB user for the same reasons I’m using Svelte or Bun: great DX, great features, great performance. And second, there’s a company named MotherDuck which is heavily invested in DuckDB. They contributed the UI and the instant SQL feature. And they hired Hamilton Ulmer, who uses Svelte to provide all that UI-land performance needed to make the most out of DuckDB. You might know him from his previous work on RillData.
So I would love to see more DuckDB at future Summits. And there’s already someone who uses Svelte and demonstrates Svelte’s value in the DuckDB ecosystem. I think there’s large potential for both parties.
Coolify
To my surprise, five or so people at the Summit mentioned that they use Coolify as well. In case you don’t know what Coolify is, imagine it’s like hosting your own Heroku / Vercel. You can deploy anything. Your SvelteKit SSR project, Supabase, as many Postgres or Clickhouse DBs as you want, etc. Anything.
Just a bring a server (or ten). Of course there’s a bit more to self-hosting, but you can also start using Coolify Cloud, where Andras will provide the Coolify instance for you. Then, you just need a server for your deployments.
Oh, and Coolify runs on a Raspberry Pi (4 / 5), esp. if you attach a SSD.
Try it a least on your Mac or so. Try to deploy a SvelteKit app with adapter-node or adapter-bun. You will learn so much about SvelteKit, servers, reverse proxies etc. And if you get stuck, you could try out Warp terminal (referral link because I want the stickers).
Outro
Ok that’s it.
Oops, we did it again
Still waiting for Biome to properly support Svelte.
I LOVE STORYBOOK and their native support for Svelte 5 stories. TRY IT OUT!
Svelte Summit was blast. It took me more than a day to write this. And this post really only covers a fraction of the things I observed or talked about or learned from the talks. Technically, I’m on vacation, so the text will largely stay as it is for a while. I’ll try to add more photos. Maybe I’ll split it up in multiple posts but this link will remain intact.
Thank you, Rich! It was an honor to finally meet you in person. I think Svelte is the main reason why I decided to stay in web development.
Thank you Kevin and Karim and the rest of the organizing team for making this happen, for bringing us all together, and for picking Barcelona. I can’t wait for the new Svelte Society website to be launched! (People can check out a sneak preview here)
Thank you to Brittney Postma for guiding us through both Summit days with an impressive track record of making sure we stay on time.
Thank you to all the core maintainers, ambassadors and contributors for building Svelte, SvelteKit and all the other ingredients of our wholesome ecosystem.
Thank you to everyone who spent time with me at the Summit. I think I really made some new friends.
Also thank you to Kevin (again!) and to Scott Spence for taking the time to share some tips and encouragements with regards to running a local Svelte Society chapter. You rock!
And thank you to Theo Steiner for performing the “Orange gang!” power-move during the electricity outage or whatever had happened there.
Let’s connect on BlueSky.
If you have thoughts or whole-heartedly disagree somewhere, let me know what you think (on Bluesky or via email: ilja (at) fubits (dot) dev.
Please check out Jeppe’s Svelte Summit Appreciation Mega Thread.
And piss on carpet. I wished more people would read that.