r/sveltejs • • Jul 27 '26

Svelte Summit Ljubljana 2026 - November 19-20

Thumbnail sveltesummit.com
30 Upvotes

r/sveltejs • • 1d ago

LiveTokens

1 Upvotes

I've been working on a design system for Svelte for a while. I do the thinking, and Claude does the coding, so I would be very interested to hear feedback from actual engineers.

Essentially, it's CSS variables that you can edit in real time to modify the properties of any components. You can open the editor panel over the top of any site while you're in development mode, edit tokens and components in real time, and then save them as a theme.

I use it on all my personal projects now.

There's sketch mode if you want to make your components look scribbled and funky, and as a designer, I really geeked out on the palette editing and color manipulation.

It comes with Claude skills and component contracts that tell Claude how components work and what to use when extending the system or building pages.

The skills call test routines, like you might have in a CI to assure system compliance. I found it doesn't change accuracy much, but does reduce thinking time and calls to the model by about 50%.

open source, published on npm
https://livetokens.motionproto.com/


r/sveltejs • • 3d ago

Superlogical website is built on Svelte (from @mitchellh, creator of Ghostty)

Thumbnail
superlogical.com
64 Upvotes

r/sveltejs • • 3d ago

Frimousse, the best emoji picker in React, now works in Svelte 5 [self promo]

Post image
52 Upvotes

Needed an emoji picker for a Svelte project and couldn't find one I liked. Frimousse by Liveblocks is the one I'd use in React (light, unstyled, composable), so I ported it to Svelte 5 (with AI).

@gyen/frimousse

  • Same parts as the original: Root, Search, Viewport, List, SkinToneSelector, ActiveEmoji, etc.
  • Unstyled, so you style it however you want (works well with Tailwind)
  • Runes all the way, snippets instead of render props, bind:value / bind:skinTone
  • Works with SSR (SvelteKit, Astro)
  • No runtime deps, just Svelte

There's also a shadcn-svelte version if you just want something ready:

npx shadcn-svelte@latest add https://frimousse.gyen.dev/r/emoji-picker.json

Docs + live demos: https://frimousse.gyen.dev Repo: https://github.com/gyenabubakar/frimousse

All credit to the Liveblocks team for the original, I just did the Svelte part. It's 0.1.x, so if something breaks or feels off, open an issue or tell me here šŸ™


r/sveltejs • • 3d ago

Built my first real Svelte app: I built a thing that puts your tech stack on your laptop, as real stickers

Thumbnail
gallery
18 Upvotes

I wanted my favorite tools as stickers on my laptop and couldn't find anywhere to design them, so I built this in SvelteKit.

You pick logos (665 in the library, or upload an SVG), lay them out on your exact MacBook drawn at true size in mm, then share a link or export a print sheet with die-cut lines. No account.

Svelte-specific bits people here might care about:

- Svelte 5 runes throughout. The editor is one big SVG canvas in mm units with a few classes holding $state, no store library

- Every sticker's cut line is traced in the browser (alpha mask → marching squares) and recomputed while you drag a smoothness slider. Fast enough that it never felt worth moving to a worker

- Share cards are rendered server-side as SVG with the text outlined via opentype.js, then rasterised with resvg in a +server.ts route. SEO tags come from page data through one <svelte:head> in the root layout

- Tailwind v4 + shadcn-svelte, Drizzle on Neon, deployed on Vercel

Repo: https://github.com/PaoloJN/stickerz

Site: https://stickerz.dev

Rough edges: MacBooks only for now, a few logos still have odd outlines.


r/sveltejs • • 2d ago

I built an open-source local AI desktop app with Svelte 5 and Tauri — looking for UI feedback and contributors

Thumbnail
github.com
0 Upvotes

Hey everyone!

I'd like to share Harness Studio, a local AI desktop application I've been developing with Svelte 5, Tauri 2, Rust and Tailwind CSS.

The project is open source under MIT, and v0.1.0 is now available.

The interface includes a model library, download manager, server dashboard, AI playground, runtime settings, developer integrations and performance monitoring.

One of my main challenges has been designing an interface that works for two very different audiences: beginners who just want to download a model and start chatting, and experienced users who need detailed control over inference settings.

I've introduced Simple and Advanced interface levels, but there's still plenty to improve.

I'd love feedback on the UI structure, usability, accessibility and Svelte implementation. I'm also looking for people interested in contributing to the frontend.

GitHub: https://github.com/struklabs/harness-studio

Screenshots and development instructions are in the repository.

Feel free to critique anything. I'm interested in making the application better, not just showing it off.


r/sveltejs • • 3d ago

tsv 0.6 released with faster formatters and parsers for Svelte and TypeScript/JS/CSS (self promo)

1 Upvotes

tsv is a set of performance-focused language tools, and today ships formatters and parsers for Svelte and TypeScript/JS/CSS, including a vscode extension.

Benchmark highlights:

  • formatting TypeScript, tsv is ~2.2x faster than Oxfmt (native-vs-native), ~36x faster than Prettier (native Rust vs Prettier's JS; ~26x as wasm), and ~7.6x faster than Biome (wasm-vs-wasm)
  • formatting Svelte, tsv is ~79x faster than Prettier (~55x as wasm) and ~10x faster than Biome (wasm-vs-wasm), and over the CLI, ~3.0x faster than rsvelte-fmt
  • formatting CSS, tsv is ~3.6x faster than Oxfmt (native-vs-native), ~111x faster than Prettier (~78x as wasm), and ~12x faster than Biome (wasm-vs-wasm)

More benchmarks: https://tsv.fuz.dev/docs/benchmarks

I spent many hours on Svelte formatting choices. One of the main differences from prettier-plugin-svelte is that it respects Svelte 5's whitespace rules, that further diverged from HTML to trim leading whitespace at the beginning of tags. https://svelte.dev/docs/svelte/v5-migration-guide#Whitespace-handling-changed

This fixes some longstanding formatting warts complained about a lot on Reddit:

tsv also fixes numerous bugs in the reference tools (particularly prettier-plugin-svelte and acorn-typescript), and conformance metrics are equivalent or better than Oxc and Biome. (but negative parser cases are unfinished)

tsv is focused on the web and Svelte, and doesn't support other nonstandard languages like JSX/TSX and SCSS. This will disappoint some people, and limits tsv's possible adoption, but it avoids making Svelte users pay unnecessary costs. tsv is attached to no commercial entities, which would have a harder time justifying such a design.

The formatter takes no style config, and instead is hardcoded to Prettier's style with Svelte's config. (which has the uncommon trailingComma:none, but it's good enough for the Svelte team and it saves tokens) Supporting Prettier's config would force significant performance costs on tsv for JS runtime integration, and instead I'm choosing to keep the formatters simple and non-configurable instead of making all users pay those costs.

The codebase turns a year old at the end of the month. Next I'm experimenting with rearchitecting to Zig-inspired data-oriented parsing - https://mitchellh.com/zig/parser - which should get tsv closer to Yuku's perf, and then I may have a fork of Svelte that replaces acorn/acorn-typescript with a useful speedup. HTML and JSON support soon after that. I'm happy to answer any questions. LLMs were used heavily for the coding. (Claude Code mostly)

The vscode extension is fuzdev.tsv-format - https://marketplace.visualstudio.com/items?itemName=fuzdev.tsv-format - and it's also published on Open VSX - https://open-vsx.org/extension/fuzdev/tsv-format

Repo: https://github.com/fuzdev/tsv


r/sveltejs • • 4d ago

I built a truly "svelte-esque" UI library (for devs AND agents) [self-promotion]

Enable HLS to view with audio, or disable this notification

39 Upvotes

Hey folks, been working on Bref-ui, a Svelte-first, human-first, agent-first UI library. Started building it for stuff I needed, and it's already running in five of my projects!

I've used Tailwind a ton at work with Next.js and it's amazing tbh... but for me tho, it still felt like learning another thing, I'd rather write CSS directly. Which, Svelte makes pretty easy.
That said, I get that it's not everyone's thing. Some just wanna build without fussing over CSS, so I think I've made something for you folks too.

I love shadcn's source ownership approach too. But in my projects, the dependency stack felt like a gazillion more things to keep track of. With how fast stuff moves in the React ecosystem, that was more mental overhead than I wanted. I've always loved Svelte's batteries included feel, so that inspired Bref too.

And sometimes I want the source so I can mess with everything, sometimes I just wanna import a button and get on with my day lol. Bref lets you do either.

Now I'm going down the rabbit hole with marketing components, automatic site generation, generative UI and tooling to help agents discover, compose, customize and verify interfaces. Big undertaking, lots still cooking, but it's fun as hell.

I'm pretty bullish on agents, but I still wanna understand and control the code that ships. I review every change I make with them. I'm the maintainer, it's my responsibility, and code review stays part of the deal. I hate slop as much as the next dev.

Using it in my own projects keeps me honest too. If something's annoying to customize or breaks, I get to deal with that shit firsthand.

Would love feedback on the components and where this is headed. Anything feel awkward? Anything you'd actually wanna use?

Praying the Reddit lords are nice this time ahah
https://github.com/feuersteiner/bref-ui


r/sveltejs • • 5d ago

I built a research-paper reader in Svelte 5, and split its PDF layer into a headless component library

Thumbnail
gallery
62 Upvotes

Xivly is an open-source reader for research papers (video above).

One SvelteKit codebase, three targets.
The same app ships as a Tauri desktop app, a static site on GitHub Pages, and a Chrome extension. Platform differences sit behind a small adapter: Rust file access on desktop, the File System Access API (or OPFS) on the web. The extension build switches SvelteKit to the hash router, since an extension has no fallback page for /read, and moves the inline bootstrap script into a file, since extension pages can't run inline scripts.

svelte-pdf-mini.
As the reader grew, I pulled the PDF logic out into a reusable library, in the spirit of bits-ui / melt-ui: headless, composable parts (Document.Root, Viewer.Root, Viewer.Pages…), each taking class, style, a bindable ref and a child snippet. State lives in plain runes classes on top of a framework-free core. It covers virtualised rendering, zoom, find, annotations that round-trip as standard PDF annotations (they open in Preview and Acrobat), and research-paper extras: citations with hover cards, figures, tables and cross-references.

```svelte
<Document.Root src="https://arxiv.org/pdf/1706.03762">
<Viewer.Root zoomMode="page-width">
<Viewer.Viewport><Viewer.Pages /></Viewer.Viewport>
</Viewer.Root>
</Document.Root>
```

Xivly: https://github.com/julien-blanchon/xivly
svelte-pdf-mini: https://github.com/julien-blanchon/svelte-pdf-mini (docs: https://julien-blanchon.github.io/svelte-pdf-mini)


r/sveltejs • • 4d ago

Am creat swing7.me folosing Next.js, Supabase si Tailwind. Mi-ar placea sa primesc un feedback.

Thumbnail swing7.me
0 Upvotes

r/sveltejs • • 5d ago

Svelte is highly desired and admired, but usage isn’t growing

Thumbnail
gallery
188 Upvotes

I just finished looking at the 2026 Developer Survey but something doesn’t add up for me.

Svelte is at 8% usage and SvelteKit at 6%. Admired is strong (59% and 64%), and Svelte is at 10% desired. It was highly desired last year too but that didn’t turn into more usage this year. Meanwhile Node.js (46%), React (42%) and Next.js (21%) dominate as usual.

Do the desired and admired numbers even mean anything? Admired only counts people who already use it, and desired is easy to say but hard to act on when jobs and existing codebases decide what you actually write.

Also the official Svelte jobs site closed this year link. By itself maybe not a big deal, but alongside flat usage it must be a tough time to rely on Svelte for work.

Dare I say it: is Svelte dead?

I love using svelte but maybe it’s just a well-loved tool that stays niche, like Phoenix or Axum.

What do you think?


r/sveltejs • • 5d ago

I built a *svelte ;)* PayloadCMS alternative using Svelte and Go

11 Upvotes

TL;DR: I built a Payload-style CMS called Ridu where the schema is Go, the admin is Svelte 5, and the whole thing deploys as one binary. Same app: ~40 MB idle on Ridu, ~300 MB on Payload.

I've wanted something like PayloadCMS for Go for a really long time. Mostly because a small Payload app idles at around 300-400 MB, which makes Payload hard to justify for little personal projects (I host my backends on Railway, so idle memory costs money). And depending on feature set used (payload blocks for instance), the usage can shoot up to multiple GBs of RAM... idle! Tracking what could potentially be causing a memory leak is a pain, such is the curse of JS on the server I guess.

Methinks it's better to rethink the concept of payload in a language that cares about performance/efficiency.

Before this I used PocketBase, which is much lighter. But its schema is in the admin (or in migrations you write against its API). What I really wanted was to define my collections, fields and behaviour as typed config in code. That way it's easy to see how things evolve, and I can share pieces between projects instead of setting each one up from scratch.

I looked at other schema-first Go projects, but none gave me the easy authoring experience I had with Payload, nor the feature-set that makes payload so great to use (easy collection and field-level access control, as well as hooks for instance). So I built Ridu (GitHub, MIT, the public repo only gets release commits, the primary work for this project is in a private repo entangled with work I can't share publicly).

So define your content model in Go, get an admin and an API from it, and deploy the whole thing as one binary, like PocketBase.

A collection looks like this:

var Posts = ridu.Collection{
    Slug: "posts",
    Fields: field.Fields{
        field.Text("title").Required(),
        field.Text("slug").Unique(),
        field.Textarea("summary"),
        field.Relationship("author", "users"),
    },
    Access: ridu.CollectionAccess{
        Read: func(ridu.AccessContext) (ridu.AccessDecision, error) {
            return ridu.Allow(), nil // allow everyone read posts
        },
        Update: func(ctx ridu.AccessContext) (ridu.AccessDecision, error) {
            if ctx.Actor == nil {
                return ridu.Deny(), nil
            }
            // Authors can only edit their own posts
            return ridu.Where(query.Equal("author", ctx.Actor.ID)), nil
        },
    },
}

What it has so far:

  • Auth, collection- and field-level access control, and lifecycle hooks
  • Relationships, nested fields, and typed content blocks for composing pages
  • Rich text, uploads, drafts, version history and live preview
  • Localized content
  • Generated TypeScript types and a typed SDK for frontends
  • Migrations generated from your schema changes as files you review and commit, with the binary checking they've been applied before starting
  • PostgreSQL, SQLite and MongoDB
  • REST with an OpenAPI spec, plus an official GraphQL plugin
  • Plugins are Go packages you compile in

The admin is a Svelte app. You need a JS package manager (bun, npm, etc) to build it, but it's embedded in the binary, so there's no Node at runtime.

To try it:

npm create ridu@latest my-app

The homepage has screenshots of the admin, I built to look pretty similar to Payload 3.

I also built the same bookmark app on both Ridu and Payload, with the same SvelteKit frontend: quikmarq-comparison. You can deploy either version on Railway, save some notes, upload images and check the memory in your own dashboard. I thought that would be more useful than just posting my numbers, but for reference, the versions I actually use sit at ~300 MB on Payload and ~40 MB on Ridu, as expected.

I've been using this for client work and fixing issues as I encounter them and I've gotta say I'm finding it a real joy to use.

I'd love feedback, so check it out if you'd like and open an issue if you on the repo if you find any.


r/sveltejs • • 6d ago

LayerChart: isometric charts (self-promotion)

Enable HLS to view with audio, or disable this notification

186 Upvotes

New in v2.6.0, `view={isometric}` can be passed to any Chart to add a tilted perspective to your Svg, Canvas, and Html layers.

Going further, use the `z` accessor to add (faux) 3D depth rendering for most marks.


r/sveltejs • • 6d ago

Things I learned profiling a big Svelte 5 data grid

36 Upvotes

I've spent the last couple of weeks staring at Chrome traces for a virtualized data grid in Svelte 5. Rows and columns are both windowed, so there are only ~25 rows Ɨ ~14 cells in the DOM at any time. You'd think that's cheap. Mostly it is, but a few things surprised me, so I'm writing them down.

First one: {@const} isn't free. I knew that in theory, but I'd never thought about it in a cell template. Every {@const} is a derived, and my cell had four of them (editing, row editing, selection, fill drag). Four deriveds per cell, times every cell, on every mount. I folded them into one {@const ui = cellUi(rowIndex, c)} that returns the same null for a normal cell (so 99% of them), and the mount got about 3.5 ms faster, out of ~32. Not huge, but it was basically free.

Second: onpointerenter and onpointerover are not the same deal in Svelte 5. pointerover gets delegated to one listener at the root, pointerenter doesn't. So my 225 cells with enter/leave handlers were doing 450 real addEventListener calls on every mount. I switched to over/out with a relatedTarget check, so moving between a cell's own children doesn't count as leaving it. Another ~1.5 ms.

The CSS ones hurt more, mostly because I'd added two of them myself to make things faster.

I put contain: layout paint on every row, thinking it would limit repaints. Turns out each contained row becomes its own clipped paint piece as wide as the whole table, and Chrome redoes its layer work for all of them every frame. With 1,000 columns, horizontal scroll was doing about 3x the work of 100 columns, with the exact same DOM changes (I counted them with a MutationObserver because I didn't believe it). I took the containment out and now 100 and 10,000 columns cost the same.

Then there was a tiny rule like .a:has(+ .b) { border-color: ... } for one border color. A sibling :has() makes Chrome recheck every cell in a row whenever something is inserted into it, which in a virtualized grid is constantly. About 1,500 elements restyled per scroll step instead of ~400. I swapped it for a class on the table.

And my favorite, because it looked like a different bug entirely: at 110-125% Windows scaling, the sticky header would jitter a few pixels while scrolling. The cause was that the scroll container had no background of its own, so Chrome didn't composite it. The rows were painted on the main thread while the compositor moved the header, and the two drifted apart. Adding background-color to the scroller fixed it.

None of this showed up in unit tests (jsdom has no layout at all). Also, if you're profiling, use a production build. Dev-mode Svelte was 2-3x slower in my traces, enough to make you chase the wild that isn't there.


r/sveltejs • • 6d ago

[Self-Promotion] I built Updainium: A cross-platform desktop app updater using Svelte, Tauri, and Rust šŸš€

4 Upvotes

Hey r/sveltejs!

I wanted to share a desktop application I just released. It’s called Updainium — an open-source tool that tracks GitHub, GitLab, Gitea, and Forgejo repositories, monitors for new releases, and downloads the exact binary you need (.exe, .dmg, .AppImage) straight from the source. It's heavily inspired by Obtainium for Android.

Why Svelte & Tauri?

Since this is a utility app designed to sit quietly in the background, memory footprint and performance were my top priorities. I absolutely wanted to avoid the heavy bloat of an Electron + React stack.

By pairing Tauri (Rust) for the backend with Svelte for the frontend, the result is incredibly lightweight. Svelte's compile-time approach and simple reactivity made building a snappy, Material-style dashboard an absolute breeze. The app feels completely native, and state management for tracking multiple repositories and download progresses was so much cleaner to implement.

  • Platforms: Windows, macOS, Linux
  • Privacy: GPL-3.0, no telemetry, direct downloads.

GitHub Repo: https://github.com/livrasand/Updainium

I would love for this community to check it out! Any feedback on the UI, the Svelte component structure, or general UX is super welcome.

(PS: If you find the tool genuinely useful for keeping your own dev tools updated, a ⭐ on the repo helps a lot!)


r/sveltejs • • 8d ago

audiocn-svelte - Audio components for Svelte and shadcn-svelte

Thumbnail
juddisjudd.github.io
40 Upvotes

Absolutely loved what OrcDev and fortysevenfx did with https://www.audiocn.dev/ but I want for svelte of course, nothing special just a port, keeping up with their updates as well.

AI Disclaimer:
Port was/is done completely with Claude Opus 5.5, I've manually checked to make sure that it all of the components function as expected though.


r/sveltejs • • 8d ago

Made daily puzzle game based on Terraria using Svelte + SvelteKit for the frontend.

6 Upvotes

I recently refactored this project using Go as the backend and SvelteKit + Svelte for the frontend. This is a daily puzzle game, similar to wordle and loldle, based on the game Terraria. This project taught me a lot about Svelte, and the different tools/quirks it has to offer.

The main reason I chose Svelte is because of it's simplicity and I could build down to pure HTML/JS using static adapter, and embed the frontend in my Go binary, allowing me to combine my frontend and backend into one service.

If you want to read more on how I did this, are building something similar, or want to view the code, the site is public on GitHub: https://github.com/BradyDriebergen/Terrariadle_2.0


r/sveltejs • • 8d ago

Self-Promotion: Built my new side project entirely in SvelteKit to solve the QR code expiration scam.

11 Upvotes

Hey Svelte fam,

I just launched a new project called QRCartoon, and I built the whole thing using SvelteKit.

The problem I wanted to solve: Most "free" QR code generators trick you. You print the code, and 14 days later they disable the link unless you pay a crazy monthly fee. I built this to offer dynamic QR codes (where you can change the link after printing) without the predatory paywalls.

Why SvelteKit was perfect for this: The core feature of the app is the real-time QR code customizer. Users can change the pattern, colors, frames, and upload a center logo. Svelte's reactivity and stores made handling this state an absolute breeze. Connecting the inputs directly to the canvas preview felt so much cleaner than it would have in React.

For the rest of the stack, I paired SvelteKit with Tailwind CSS and DaisyUI (which fits so well with Svelte components). The backend, auth, and database are all handled by Appwrite, and it's deployed on Vercel.

We just went live on Product Hunt today! I’d love for this community to check it out. If anyone is curious about how I integrated Appwrite with SvelteKit or how I handled the dynamic URL routing, ask away.

Always happy to talk Svelte!

Website: qrcartoon.com
Product Hunt: producthunt.com/products/qrcartoon


r/sveltejs • • 8d ago

React Email Compiler: React Email without React

Thumbnail
0 Upvotes

r/sveltejs • • 9d ago

Melbourne Compose - Functional Programming in-person Meetup. Thurs Oct 15. Ben Hutchison on "VDOM or Not VDOM"

2 Upvotes

Melbourne Compose - functional programming in-person meetup.

Next monthly meeting is Thursday Oct 15, 6-8pm.

Ben Hutchison is presenting on:

VDOM or not VDOM? A survey of incremental UI updates in React, Elm, Svelte, SolidJS and Laminar

See luma event for further details.Ā https://luma.com/tifloa9m


r/sveltejs • • 9d ago

effect-atom-svelte: Svelte 5 bindings for Effect Atom, with async SSR and hydration

4 Upvotes

I built Svelte 5 bindings for Effect Atom (effect/reactivity). They follow the API of the official React and Vue packages.

```svelte <script module lang="ts"> import { Effect } from "effect"; import { Atom } from "effect/reactivity";

const countAtom = Atom.make(0); const doubledAtom = Atom.make((get) => get(countAtom) * 2); const greetingAtom = Atom.make( Effect.succeed("Hello from an Effect").pipe(Effect.delay("1 second")) ); </script>

<script lang="ts"> import { useAtom, useAtomSuspense, useAtomValue } from "effect-atom-svelte";

const count = useAtom(countAtom); const doubled = useAtomValue(doubledAtom); const greeting = useAtomSuspense(greetingAtom); </script>

<button onclick={() => (count.current += 1)}>{count.current} Ɨ 2 = {doubled.current}</button>

<svelte:boundary> <p>{await greeting.current}</p> {#snippet pending()}<p>Loading…</p>{/snippet} {#snippet failed()}<p>Something went wrong</p>{/snippet} /svelte:boundary ```

What you get:

  • Hooks return a reactive current (read, assign or bind:), the same convention as Svelte's own reactive classes.
  • Async atoms built on Svelte's async mode. You can await them in markup with a boundary, or read them as a live AsyncResult.
  • SSR with one registry per request. Serializable atoms hydrate, so the browser starts from the server's result instead of fetching again.
  • RegistryProvider, HydrationBoundary, ScopedAtom, and SvelteKit handleError hooks that keep Effect error tags.

Most docs pages have a live example, and the code under each one is the file that runs: https://atom.jarrednorris.dev

Repo: https://github.com/jarrednorrisdev/effect-atom-svelte

Some notes:

  • It needs Svelte 5.57+ with experimental.async and Effect 4.0. It works with SvelteKit 3 (and 2) or plain Svelte.
  • It's 0.x, so the API can still change.
  • It's a community project, not part of Effect.
  • Most of the code and docs were written with AI (Claude). The behaviour is covered by tests in Chromium, Firefox and WebKit.
  • Building it turned up a few Svelte async bugs, and I've opened PRs for them.

Feedback welcome, especially from anyone already using Effect with Svelte.


r/sveltejs • • 9d ago

Self-promotion: BoxBox v0.3.0, a SvelteKit file manager with public share pages

0 Upvotes

Music: "the kill 2" by Lex Amarni & 2muchmotion. Self-promotion: I'm the developer of BoxBox, an MIT-licensed file manager with a SvelteKit/TypeScript frontend and Go backend. v0.3.0 is out.

https://reddit.com/link/1wyyl80/video/62kg0zzzxuth1/player

The new public share pages reuse the browsing workflow: a path bar, file list, previews, arrow-key navigation, and folder ZIP downloads. Permissions change which actions appear. Full access also allows editing text files with Monaco; other recipients get a read-only editor. The main app now supports whole-folder uploads and separates Drives from Places in the sidebar.

The frontend is embedded in the Go binary, so you don't need a separate Node server to deploy it. AI coding agents assisted with implementation, review, docs, and this announcement. I tested the nightly before releasing.

Source and screenshots: https://github.com/jR4dh3y/BoxBox Release: https://github.com/jR4dh3y/BoxBox/releases/tag/v0.3.0 40-second demo: https://youtu.be/cv2_oNkhYI0Music: "the kill 2" by Lex Amarni & 2muchmotion.


r/sveltejs • • 11d ago

Was playing with Haptic Motors (LRA's) the other day and put this together to test out haptic signatures. **Built W/ Svelte**

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/sveltejs • • 11d ago

My first Svelte project: DITHR, an online dithering tool (open-source)

Thumbnail gallery
4 Upvotes

r/sveltejs • • 12d ago

[Self-promotion] Sveltewind: a Svelte 5 UI library with shared themes and reusable component styles

Post image
9 Upvotes

Hey everyone! I’ve been building Sveltewind, a Svelte 5 component library styled with Tailwind CSS 4 and compatible with SvelteKit.

The part I want to highlight is how theming and styling work across components:

  • Global/shared themes: keep styling consistent across your app through a shared theme.
  • Included or custom themes: start with the themes provided by the library, customize them, or create your own.
  • The themes ( provided or your own ) are simple javascript files.
  • Share styles between components: reuse styling from another component instead of defining the same styles separately for each one.

That last point is a big part of the approach. Themes give you a common foundation, and sharing component styles lets you carry those styling decisions into other components. You can start with the provided appearance and build your own visual style on top of it.

The docs and examples are now live:
https://sveltewind.com

GitHub: https://github.com/sveltewind/sveltewind
npm: https://www.npmjs.com/package/sveltewind

I’d appreciate feedback, especially on the theming and cross-component styling approach. How do you currently handle shared styles across components in your Svelte projects?