Journal
Notes on Svelte, sprints, and shipping.
Notes on Svelte, SvelteKit, accessibility, performance, and shipping web work.
Migrating from Svelte 4 to 5, one component at a time
Move a SvelteKit app from Svelte 4 to 5 gradually, convert a component to runes, and test for a server-rendering mistake that a build can miss.
Read entryWhy Generic "We Can Do Anything" Positioning Is Killing Your Agency (And How Strong Opinions Build Your Business)
One lesson I've learned running an agency is that your well-being as a founder, the success of your company, and the quality of work you deliver to your clients are all directly related to the strength of your opinions.
Read entrySvelteKit authentication: what fits in a two-week sprint
Plan SvelteKit authentication with Better Auth, server-side session checks, authorization tests and a realistic two-week scope for an MVP.
Read entryKitForStartups: evaluating the SvelteKit SaaS boilerplate
What KitForStartups includes, its dependency and maintenance status, and what to test before using this SvelteKit SaaS starter for a production application.
Read entryBuilding an MVP Fast with SvelteKit: How We Created a Google Analytics Dashboard in 3 Weeks
Learn how our team leveraged SvelteKit to build a Google Analytics dashboard MVP in just 3 weeks. This case study covers our tech stack, development experience, key learnings around state management, and how SvelteKit enabled rapid prototyping.
Read entryHow to embed Svelte apps inside PHP?
Learn how to embed interactive Svelte components into PHP apps and WordPress themes. See code examples of fetching data from the WP REST API, building search/filters, using stores, Rollup bundling, and more. Modernize legacy PHP without a huge rewrite.
Read entryHow to debounce in Svelte?
Learn how to debounce functions in Svelte to limit how often they run. Implement a debounce utility to rate limit API calls for search boxes and other inputs.
Read entryProgrammatically navigate in your SvelteKit app with goto
Lear how to programmatically navigate in your SvelteKit app using the `goto` function
Read entryUnderstanding the {#await ...} block in Svelte
Unravel the power of the {#await ...} block in Svelte! Explore how it improves code readability, and efficiently handles loading states & errors in data fetching.
Read entryHow to re-render Svelte components?
Get hands-on with Svelte! Learn how the {#key ...} block lets you control re-rendering and breathe new life into your components.
Read entryCompanies using Svelte: documented applications and adoption
Explore documented Svelte and SvelteKit use at Stack Overflow, Hugging Face, Windmill and Cyfrin, plus Appwrite’s historical use and announced migration.
Read entry404 Not Found? A Guide to SvelteKit Custom 404 Pages
Turn 404 errors into memorable experiences with SvelteKit! Uncover the secrets to custom 404 pages, and save internet kittens, one 404 at a time.
Read entryIs SvelteKit a full-stack framework?
Wondering if you can use SvelteKit as a full-stack framework? You landed at the right place. Let's dive in!
Read entrySvelteKit SEO: metadata, canonicals and indexing checks
A practical SvelteKit SEO checklist for server rendering, metadata, canonicals, robots, sitemaps and structured data, with a tested Svelte 5 example.
Read entryTop 5 React Alternatives for Web Applications Development
Explore the alternatives to React such as Svelte, Vue, Angular, and more. Learn why they matter and how they can drive your project's success.
Read entryHire Svelte developers: scope, costs and how to choose
How to hire a Svelte or SvelteKit developer: assess relevant work, define a paid trial, compare scope and costs, and choose a specialist or employee.
Read entryCan SvelteKit be Used for Landing Pages? Absolutely, Here's Why and How
Discover the power of SvelteKit in creating high-converting landing pages. Learn why SvelteKit is the go-to choice for developers at Okupter, a leading Svelte development agency
Read entryConditional Classes in Svelte
Discover how conditional classes in Svelte can streamline your app design process. Includes a detailed guide on managing active navigation links in SvelteKit.
Read entryHow to upload files to Cloudflare R2 in SvelteKit
Dive into our step-by-step guide to master file uploads in Cloudflare R2 with SvelteKit. Learn about the R2 service, set up projects, and optimize your cloud storage experience!
Read entryHow to deploy a SvelteKit website to GitHub pages
Learn how to streamline your SvelteKit app's deployment to GitHub Pages in our step-by-step tutorial!
Read entryHow to fix the "window is not defined" error in SvelteKit
Overcome the "window is not defined" error in SvelteKit with ease! Learn effective solutions like using the SvelteKit browser module and onMount lifecycle function.
Read entryHow to fix the "document is not defined" error in SvelteKit
Eliminate the frustrating "document is not defined" error in SvelteKit with our helpful guide. Understand why it occurs and apply proven solutions for smoother development.
Read entryMastering Client-Side Authentication with Firebase and SvelteKit
Mastering Client-Side Authentication with Firebase and SvelteKit
Read entrySvelte vs. React: A Comprehensive Comparison
Explore the differences between Svelte and React, comparing architecture, reactivity, syntax, and developer experience to make an informed choice.
Read entryHow to fix the duplicate meta tags issue in SvelteKit
Get your website's meta tags back on track with our step-by-step guide to fixing the duplicate meta tags issue in SvelteKit
Read entryHow to implement file upload with SvelteKit
Looking to implement file uploading in your Svelte project? Check out this tutorial for an easy-to-follow guide and start uploading files like a pro.
Read entryHeadless WordPress with SvelteKit and WPGraphQL
Build a SvelteKit frontend for WordPress with WPGraphQL: a server-rendered post example, safe HTML, previews, caching, redirects, and deployment checks.
Read entryWhy you should use TypeScript in your next SvelteKit projects
TypeScript and SvelteKit make a powerful duo. Get the benefits of type safety and easy integration with this guide to using TypeScript in your SvelteKit projects. See why it's worth making the switch.
Read entryE2E testing with SvelteKit and Playwright
Learn how to set up E2E with Playwright in your SvelteKit app. Ensure your app works as expected for your users and automate testing.
Read entrySvelteKit URL state: filters, sorting and pagination
Build a SvelteKit dashboard with server-loaded filters, sorting and pagination. Includes a complete Svelte 5 example, validation and browser history.
Read entryI want to know more about you
Become a part of the conversation on Svelte and SvelteKit. Connect with like-minded developers and learners.
Read entryFix the 'Cannot stringify arbitrary non-POJOs' error in SvelteKit
Solve the "Cannot stringify arbitrary non-POJOs" error in SvelteKit with this quick and simple guide. Learn how to fix the issue by serializing non-POJOs with JSON or structuredClone.
Read entryAdd a sitemap to your server side rendered SvelteKit website
Learn how to add a sitemap to your server side rendered SvelteKit website.
Read entrySvelte and CSS
Learn how Svelte handles CSS and styles, and how you can take advantage of that for your Svelte and SvelteKit applications.
Read entrySvelteKit query parameters: read, update and validate
Read and update query parameters with Svelte 5 and SvelteKit 2. Includes reactive page state, goto, server validation and history behavior.
Read entrySvelte vs SvelteKit: the difference and when to use each
Svelte builds components; SvelteKit adds routing, data loading and deployment. Compare use cases, rendering options and current Svelte 5 examples.
Read entryBuilding this website with SvelteKit and DatoCMS
Explore the journey of building a website with SvelteKit and DatoCMS, including the challenges and successes I encountered.
Read entrySvelteKit Internals: the handle hook
Learn about the handle hook in SvelteKit and how it can be used for authentication, route protection, and more.
Read entrySvelteKit Internals: Load function
Discover how SvelteKit's load function simplifies data loading in your web app.
Read entryIntroducing the "SvelteKit Internals" series
Get practical advice on using SvelteKit from a developer who has built projects with the framework. This blog series provides tips and insights to help you succeed with SvelteKit projects.
Read entryBuild a SvelteKit application with Docker
One of the most interesting pieces of software in modern web development is Docker. It allows building, shipping, and running applications in a container. In this article, we will learn how to build a SvelteKit application with Docker.
Read entrySvelteKit form validation with Zod 4 and Svelte 5
Validate SvelteKit forms on the server with Zod 4, return field errors with fail(), and keep submitted values in a complete Svelte 5 example.
Read entryUnderstanding environment variables in SvelteKit
Environment variables are an important feature of NodeJS applications. In this article, we will learn how SvelteKit makes use of them and how to use them effectively.
Read entryHandling authentication and authorization with JWT in SvelteKit
In this article, we will learn how to handle authentication and authorization with JWT in SvelteKit.
Read entryThe case about Astro
This article describes what I learned, what I like about Astro, the static site generator, and what makes it an interesting tool to consider.
Read entry