Skip Navigation

Scott Spence

Reactions leaderboard

Here's the most reacted to posts on the site.

πŸ₯‡ Change Text Highlight Color with Tailwind CSS

πŸ‘ 490❀️ 311πŸ’© 112πŸŽ‰ 106

πŸ₯ˆ Change Browser Scrollbar Colour with Tailwind CSS

πŸ‘ 518❀️ 193πŸ’© 35πŸŽ‰ 172

πŸ₯‰ Use Google Chrome in Ubuntu on Windows Subsystem Linux

πŸ‘ 224❀️ 314πŸ’© 102πŸŽ‰ 92

# 4 My Zsh Config

πŸ‘ 310❀️ 84πŸ’© 44πŸŽ‰ 54

# 5 SvelteKit Page Reaction Component with Upstash Redis

πŸ‘ 98❀️ 199πŸ’© 13πŸŽ‰ 139

# 6 SvelteKit Data Loading, Understanding the load function

πŸ‘ 166❀️ 113πŸ’© 22πŸŽ‰ 46

# 7 Gradient animations with Tailwind CSS and SvelteKit

πŸ‘ 152❀️ 95πŸ’© 21πŸŽ‰ 55

# 8 Cursor Setup for WSL

πŸ‘ 96❀️ 144πŸ’© 12πŸŽ‰ 53

# 9 Speeding Up My ZSH Shell ⚑

πŸ‘ 129❀️ 40πŸ’© 8πŸŽ‰ 37

# 10 GitHub CLI Installation Guide for WSL (Ubuntu)

πŸ‘ 170❀️ 7πŸ’© 28πŸŽ‰ 7

# 11 Configuring MCP Tools in Claude Code - The Better Way

πŸ‘ 120❀️ 33πŸ’© 17πŸŽ‰ 37

# 12 My Updated ZSH Config 2025

πŸ‘ 112❀️ 20πŸ’© 28πŸŽ‰ 39

# 13 Passing SvelteKit +page.server.ts data to +page.ts

πŸ‘ 147❀️ 33πŸ’© 4πŸŽ‰ 11

# 14 How to Implement Redirects for Changed Post Routes in Sveltekit

πŸ‘ 100❀️ 41πŸ’© 24πŸŽ‰ 14

# 15 How to Make Claude Code Skills Activate Reliably

πŸ‘ 77❀️ 41πŸ’© 13πŸŽ‰ 28

# 16 Scrollbar Styling with Tailwind and daisyUI

πŸ‘ 91❀️ 22πŸ’© 22πŸŽ‰ 18

# 17 Getting MCP Server Working with Claude Desktop in WSL

πŸ‘ 83❀️ 23πŸ’© 17πŸŽ‰ 27

# 18 Setting up my VPS on Hetzner

πŸ‘ 95❀️ 27πŸ’© 17πŸŽ‰ 11

# 19 SvelteKit Environment Variables with the SvelteKit $env Module

πŸ‘ 66❀️ 24πŸ’© 10πŸŽ‰ 14

# 20 Contact Form Send Email From Site with Fastmail

πŸ‘ 61❀️ 11πŸ’© 13πŸŽ‰ 28

# 21 Patching packages with pnpm patch

πŸ‘ 84❀️ 11πŸ’© 9πŸŽ‰ 7

# 22 Customising Fonts in Tailwind CSS and daisyUI

πŸ‘ 36❀️ 40πŸ’© 11πŸŽ‰ 22

# 23 Robots.txt file for SvelteKit projects

πŸ‘ 52❀️ 18πŸ’© 14πŸŽ‰ 20

# 24 Cookie-Based Theme Selection in SvelteKit with daisyUI

πŸ‘ 29❀️ 40πŸ’© 15πŸŽ‰ 12

# 25 Make an Email Form Submission with SvelteKit

πŸ‘ 86❀️ 2πŸ’© 1πŸŽ‰ 5

# 26 Windsurf Setup for WSL

πŸ‘ 34❀️ 15πŸ’© 18πŸŽ‰ 19

# 27 The new Svelte (sv) CLI, adding Tailwind is simple now

πŸ‘ 43❀️ 28πŸ’© 5πŸŽ‰ 8

# 28 Claude Code Skills Don't Auto-Activate (a workaround)

πŸ‘ 41❀️ 21πŸ’© 2πŸŽ‰ 15

# 29 Why Fastmail over ProtonMail

πŸ‘ 38❀️ 13πŸ’© 7πŸŽ‰ 20

# 30 Comparing macOS, Windows, and Linux Experiences

πŸ‘ 28❀️ 21πŸ’© 3πŸŽ‰ 23

# 31 Stylelint Configuration for use with Tailwind CSS

πŸ‘ 24❀️ 15πŸ’© 7πŸŽ‰ 28

# 32 Sitemap Generation for Dynamic Routes In NextJS with the Sanity Client

πŸ‘ 23❀️ 35πŸ’© 7πŸŽ‰ 5

# 33 Make an RSS Feed for your SvelteKit Project

πŸ‘ 23❀️ 13πŸ’© 12πŸŽ‰ 22

# 34 SvelteKit starter blog with GraphCMS

πŸ‘ 34❀️ 19πŸ’© 5πŸŽ‰ 10

# 35 How to Configure Git Username and Email

πŸ‘ 32❀️ 15πŸ’© 11πŸŽ‰ 9

# 36 SvelteKit and Fathom Svelte 5 Integration

πŸ‘ 14❀️ 8πŸ’© 11πŸŽ‰ 34

# 37 Shared Tailwind CSS Themes in Svelte Monorepos

πŸ‘ 18❀️ 31πŸ’© 0πŸŽ‰ 16

# 38 CSRF with SvelteKit on Fly.io

πŸ‘ 25❀️ 10πŸ’© 7πŸŽ‰ 22

# 39 Fetch data from two or more endpoints in SvelteKit

πŸ‘ 34❀️ 5πŸ’© 2πŸŽ‰ 21

# 40 Create a Video Overlay with Hooks

πŸ‘ 32❀️ 25πŸ’© 0πŸŽ‰ 2

# 41 SvelteKit Turso Fly.io App Guide

πŸ‘ 21❀️ 15πŸ’© 8πŸŽ‰ 15

# 42 The AI Coding Tools I Actually Use (And the Ones I Don't)

πŸ‘ 39❀️ 6πŸ’© 5πŸŽ‰ 7

# 43 Making a robots.txt syntax highlighter for VS Code

πŸ‘ 15❀️ 16πŸ’© 8πŸŽ‰ 18

# 44 Theme Switching in SvelteKit Updated for daisyUI v5 and Tailwind v4

πŸ‘ 18❀️ 19πŸ’© 2πŸŽ‰ 15

# 45 Create Skip To Content With Tailwind CSS

πŸ‘ 25❀️ 18πŸ’© 8πŸŽ‰ 2

# 46 Migrating from @testing-library/svelte to vitest-browser-svelte

πŸ‘ 20❀️ 20πŸ’© 0πŸŽ‰ 13

# 47 WSL Web Developer Setup with Fedora 35

πŸ‘ 14❀️ 20πŸ’© 4πŸŽ‰ 11

# 48 Deploying SvelteKit Apps on Fly.io

πŸ‘ 17❀️ 15πŸ’© 3πŸŽ‰ 12

# 49 Making npm Packages with SvelteKit

πŸ‘ 32❀️ 3πŸ’© 8πŸŽ‰ 4

# 50 Make a URL Shortener with SvelteKit

πŸ‘ 35❀️ 3πŸ’© 0πŸŽ‰ 8

# 51 SvelteKit Fetch from GraphQL Endpoint with Variables

πŸ‘ 18❀️ 9πŸ’© 2πŸŽ‰ 16

# 52 Using MCP Tools with Claude and Cline

πŸ‘ 16❀️ 16πŸ’© 4πŸŽ‰ 8

# 53 HTML Input Types and Uses

πŸ‘ 23❀️ 20πŸ’© 0πŸŽ‰ 0

# 54 SvelteKit Environment Variables with Fly.io Deployment

πŸ‘ 16❀️ 5πŸ’© 1πŸŽ‰ 21

# 55 Passing data between SvelteKit server and page files

πŸ‘ 19❀️ 7πŸ’© 2πŸŽ‰ 13

# 56 Set up a free PocketBase database with Fly.io

πŸ‘ 18❀️ 12πŸ’© 0πŸŽ‰ 10

# 57 Use URQL with SvelteKit

πŸ‘ 21❀️ 7πŸ’© 5πŸŽ‰ 7

# 58 Local Analytics with SQLite and SvelteKit

πŸ‘ 14❀️ 5πŸ’© 2πŸŽ‰ 15

# 59 Updating SvelteKit Redirects - A More Robust Approach

πŸ‘ 15❀️ 16πŸ’© 0πŸŽ‰ 3

# 60 WSL Web Developer Setup with Fedora 39

πŸ‘ 13❀️ 2πŸ’© 0πŸŽ‰ 19

# 61 Handling Multi-Select Form Data

πŸ‘ 13❀️ 4πŸ’© 6πŸŽ‰ 10

# 62 Hunting Down 1.3 Billion Row Database Reads

πŸ‘ 20❀️ 5πŸ’© 0πŸŽ‰ 8

# 63 Patching Packages with patch-package

πŸ‘ 17❀️ 5πŸ’© 1πŸŽ‰ 10

# 64 Svead the SvelteKit SEO Head Component

πŸ‘ 5❀️ 14πŸ’© 4πŸŽ‰ 10

# 65 Git SSH and Commit Signing Setup in WSL Ubuntu

πŸ‘ 13❀️ 9πŸ’© 1πŸŽ‰ 9

# 66 Hello World!

πŸ‘ 11❀️ 14πŸ’© 0πŸŽ‰ 7

# 67 Multi-instance PocketBase setup

πŸ‘ 18❀️ 8πŸ’© 0πŸŽ‰ 6

# 68 Svelte Summit 2025

πŸ‘ 15❀️ 4πŸ’© 1πŸŽ‰ 12

# 69 Take Back the Web! A Practical Guide to Digital Independence

πŸ‘ 14❀️ 3πŸ’© 0πŸŽ‰ 15

# 70 Building Session Analytics with SvelteKit and Turso DB

πŸ‘ 13❀️ 8πŸ’© 4πŸŽ‰ 6

# 71 McPick - Manage MCP Servers and Plugins in Claude Code

πŸ‘ 10❀️ 8πŸ’© 4πŸŽ‰ 9

# 72 Updating BIOS on Motherboard

πŸ‘ 15❀️ 7πŸ’© 2πŸŽ‰ 7

# 73 Agentic engineering: a practical guide to reliable coding agents

πŸ‘ 13❀️ 6πŸ’© 3πŸŽ‰ 8

# 74 Setting Up Codename Goose in WSL

πŸ‘ 16❀️ 7πŸ’© 0πŸŽ‰ 7

# 75 Should I create my own blog?

πŸ‘ 20❀️ 5πŸ’© 0πŸŽ‰ 5

# 76 Using the GitHub GraphQL API in a serverless function - GraphQL vs REST

πŸ‘ 4❀️ 8πŸ’© 3πŸŽ‰ 14

# 77 How I Stop LLMs Drifting In Production Codebases

πŸ‘ 12❀️ 9πŸ’© 2πŸŽ‰ 6

# 78 Load markdown via endpoint in SvelteKit

πŸ‘ 13❀️ 13πŸ’© 3πŸŽ‰ 0

# 79 Working with Claude Code! The Honest Version

πŸ‘ 12❀️ 7πŸ’© 3πŸŽ‰ 7

# 80 Make a Sitemap with SvelteKit

πŸ‘ 11❀️ 16πŸ’© 0πŸŽ‰ 1

# 81 How to Backup Windows Subsystem for Linux distributions

πŸ‘ 12❀️ 4πŸ’© 1πŸŽ‰ 10

# 82 Caching with Fathom, Redis, and SvelteKit

πŸ‘ 7❀️ 3πŸ’© 3πŸŽ‰ 13

# 83 Claude Code Skills Not Recognised? Here's the Fix!

πŸ‘ 9❀️ 5πŸ’© 1πŸŽ‰ 11

# 84 How I work with LLMs

πŸ‘ 19❀️ 2πŸ’© 0πŸŽ‰ 5

# 85 Building my-pi: my own Claude Code alternative with Pi

πŸ‘ 12❀️ 7πŸ’© 0πŸŽ‰ 6

# 86 Importing Large CSV Files into Turso DB

πŸ‘ 6❀️ 2πŸ’© 3πŸŽ‰ 13

# 87 Testing meta tags with Playwright

πŸ‘ 24❀️ 0πŸ’© 0πŸŽ‰ 0

# 88 Unlock Swarm Mode in Claude Code with claude-sneakpeek

πŸ‘ 8❀️ 3πŸ’© 0πŸŽ‰ 13

# 89 Build a coding blog from scratch with Gatsby and MDX

πŸ‘ 17❀️ 5πŸ’© 0πŸŽ‰ 1

# 90 Data loading in SvelteKit

πŸ‘ 23❀️ 0πŸ’© 0πŸŽ‰ 0

# 91 Fixing 'Component Instantiation' Error in Svelte 5 Tests: A Quick Guide

πŸ‘ 16❀️ 3πŸ’© 0πŸŽ‰ 3

# 92 Give Coding Agents Your Project Docs With node:sqlite and FTS5

πŸ‘ 13❀️ 2πŸ’© 1πŸŽ‰ 6

# 93 Migrating Off Of Fathom Analytics

πŸ‘ 12❀️ 7πŸ’© 1πŸŽ‰ 2

# 94 Enable GUIs on Windows Subsystem Linux (WSL)

πŸ‘ 14❀️ 5πŸ’© 0πŸŽ‰ 2

# 95 Optimising MCP Server Context Usage in Claude Code

πŸ‘ 16❀️ 2πŸ’© 3πŸŽ‰ 0

# 96 Full Screen Resolution With No Guest Additions in VirtualBox

πŸ‘ 9❀️ 4πŸ’© 5πŸŽ‰ 2

# 97 How to Fix Hetzner ARM64 VPS Package Updates on Ubuntu 24.04

πŸ‘ 9❀️ 3πŸ’© 0πŸŽ‰ 7

# 98 nopeek - Keep Your Secrets Out of Claude Code

πŸ‘ 7❀️ 5πŸ’© 2πŸŽ‰ 5

# 99 Enable Team Mode in Claude Code

πŸ‘ 6❀️ 6πŸ’© 2πŸŽ‰ 4

# 100 Coding agent harnesses with my-pi

πŸ‘ 7❀️ 3πŸ’© 0πŸŽ‰ 7

# 101 MCP Tools Usage Guide

πŸ‘ 8❀️ 5πŸ’© 1πŸŽ‰ 3

# 102 Enable LSP in Claude Code

πŸ‘ 9❀️ 4πŸ’© 0πŸŽ‰ 4

# 103 Revisiting LSP in Claude Code

πŸ‘ 6❀️ 6πŸ’© 1πŸŽ‰ 4

# 104 SQLite Corruption with fs.copyFile() in WAL Mode

πŸ‘ 9❀️ 3πŸ’© 0πŸŽ‰ 5

# 105 DKIM for Cloudflare and Fastmail

πŸ‘ 9❀️ 5πŸ’© 0πŸŽ‰ 2

# 106 Switching from Brevo to Buttondown

πŸ‘ 6❀️ 4πŸ’© 0πŸŽ‰ 6

# 107 Upgrade Ubuntu on Windows Subsystem for Linux from 20.04 to 22.04

πŸ‘ 8❀️ 4πŸ’© 0πŸŽ‰ 4

# 108 Use Common Table Expressions

πŸ‘ 6❀️ 7πŸ’© 0πŸŽ‰ 2

# 109 Measuring Claude Code Skill Activation With Sandboxed Evals

πŸ‘ 8❀️ 3πŸ’© 0πŸŽ‰ 3

# 110 From JSDOM to Real Browsers: Testing Svelte with Vitest Browser Mode

πŸ‘ 7❀️ 3πŸ’© 0πŸŽ‰ 4

# 111 Markdown Showdown - All I Know About Markdown

πŸ‘ 10❀️ 4πŸ’© 0πŸŽ‰ 0

# 112 Airtable to Upstash Redis with SvelteKit

πŸ‘ 4❀️ 2πŸ’© 0πŸŽ‰ 7

# 113 Instagram Image Filters with Tailwind CSS and SvelteKit

πŸ‘ 6❀️ 7πŸ’© 0πŸŽ‰ 0

# 114 OBS Display Capture from one PC to Another

πŸ‘ 7❀️ 3πŸ’© 1πŸŽ‰ 2

# 115 Why Make a React SEO Component

πŸ‘ 6❀️ 2πŸ’© 2πŸŽ‰ 3

# 116 Building a SQLite context sidecar for my-pi

πŸ‘ 4❀️ 3πŸ’© 0πŸŽ‰ 6

# 117 Make a simple, personal, URL shortener with Now.sh

πŸ‘ 5❀️ 2πŸ’© 1πŸŽ‰ 5

# 118 What Happened to My Coding Agent Guardrails After I Left

πŸ‘ 10❀️ 1πŸ’© 1πŸŽ‰ 1

# 119 How to Set Up Svelte with Tailwind CSS

πŸ‘ 7❀️ 1πŸ’© 1πŸŽ‰ 3

# 120 Switching to Manjaro from Ubuntu

πŸ‘ 5❀️ 4πŸ’© 0πŸŽ‰ 3

# 121 Theming With Linaria

πŸ‘ 9❀️ 3πŸ’© 0πŸŽ‰ 0

# 122 Building and Testing MCP Tools Locally

πŸ‘ 2❀️ 1πŸ’© 1πŸŽ‰ 7

# 123 Hardening redaction in my-pi with evals and telemetry

πŸ‘ 5❀️ 2πŸ’© 2πŸŽ‰ 2

# 124 Logitech G915 - First Impressions

πŸ‘ 6❀️ 2πŸ’© 1πŸŽ‰ 2

# 125 Adding multiple SPF records with Vercel

πŸ‘ 0❀️ 10πŸ’© 0πŸŽ‰ 0

# 126 Coolify Dashboard Broken After Upgrade? Purge Two Files in Cloudflare

πŸ‘ 5❀️ 2πŸ’© 0πŸŽ‰ 3

# 127 The COVID Chronicles - My Life In Lockdown

πŸ‘ 6❀️ 1πŸ’© 0πŸŽ‰ 3

# 128 Gatsby File System Route API with MDX

πŸ‘ 10❀️ 0πŸ’© 0πŸŽ‰ 0

# 129 How to Make Claude Code Follow Hook Instructions

πŸ‘ 5❀️ 2πŸ’© 0πŸŽ‰ 3

# 130 A Digital Garden

πŸ‘ 3❀️ 3πŸ’© 1πŸŽ‰ 2

# 131 Make a Contact Form with SvelteKit and Airtable

πŸ‘ 6❀️ 1πŸ’© 0πŸŽ‰ 2

# 132 WSL openSUSE for web dev

πŸ‘ 3❀️ 1πŸ’© 0πŸŽ‰ 5

# 133 Adding real-time analytics to my SvelteKit site with Fathom

πŸ‘ 4❀️ 4πŸ’© 0πŸŽ‰ 0

# 134 Claude Code Swarm With Daytona Sandboxes

πŸ‘ 5❀️ 3πŸ’© 0πŸŽ‰ 0

# 135 Goals for 2023

πŸ‘ 3❀️ 1πŸ’© 0πŸŽ‰ 4

# 136 How I got back online after AWS East went down

πŸ‘ 4❀️ 2πŸ’© 0πŸŽ‰ 2

# 137 I Built 21 MCP Tools. These Are the 2 I Still Use

πŸ‘ 3❀️ 2πŸ’© 1πŸŽ‰ 2

# 138 omnirecall - Search Your Claude Code, Codex and Pi Sessions in One Place

πŸ‘ 4❀️ 2πŸ’© 0πŸŽ‰ 2

# 139 Switching to EndeavourOS from Omarchy

πŸ‘ 2❀️ 2πŸ’© 0πŸŽ‰ 4

# 140 Add LSP to my-pi

πŸ‘ 3❀️ 2πŸ’© 0πŸŽ‰ 2

# 141 Put a Coolify App Port on Your Tailnet with Tailscale Serve

πŸ‘ 2❀️ 1πŸ’© 1πŸŽ‰ 2

# 142 Copy Buttons and Line Numbers in mdsvex With twinkleplop

πŸ‘ 3❀️ 2πŸ’© 0πŸŽ‰ 1

# 143 Moving my development setup from EndeavourOS to Ubuntu

πŸ‘ 1❀️ 3πŸ’© 1πŸŽ‰ 1

# 144 Set up SSH for use with Git

πŸ‘ 3❀️ 0πŸ’© 0πŸŽ‰ 3

# 145 Streamlining Svead the SvelteKit SEO package

πŸ‘ 4❀️ 0πŸ’© 0πŸŽ‰ 2

# 146 Getting set up with Storyblok and SvelteKit

πŸ‘ 3❀️ 2πŸ’© 0πŸŽ‰ 0

# 147 Logitech G815 Keyboard on Ubuntu - First Impressions

πŸ‘ 3❀️ 1πŸ’© 0πŸŽ‰ 1

# 148 Making Presentations with MDX

πŸ‘ 2❀️ 1πŸ’© 1πŸŽ‰ 1

# 149 What my prompts say about how I work with AI

πŸ‘ 3❀️ 1πŸ’© 0πŸŽ‰ 1

# 150 Data Binding in Svelte

πŸ‘ 1❀️ 3πŸ’© 0πŸŽ‰ 0

# 151 My Second Brain - Zettelkasten

πŸ‘ 3❀️ 1πŸ’© 0πŸŽ‰ 0

# 152 Add telemetry to my-pi

πŸ‘ 3❀️ 0πŸ’© 0πŸŽ‰ 0

# 153 Linaria - Getting Started

πŸ‘ 0❀️ 3πŸ’© 0πŸŽ‰ 0

# 154 SvelteKit Contact Form Example with Airtable

πŸ‘ 3❀️ 0πŸ’© 0πŸŽ‰ 0

# 155 Using the Svelte use action for animations

πŸ‘ 1❀️ 2πŸ’© 0πŸŽ‰ 0

# 156 Notes on Zsh and Oh My Zsh

πŸ‘ 3❀️ 0πŸ’© 0πŸŽ‰ 0

# 157 Add Analytics Tracking Links to your Markdown

πŸ‘ 2❀️ 0πŸ’© 0πŸŽ‰ 0

# 158 Adding DKIM records to Vercel

πŸ‘ 0❀️ 1πŸ’© 0πŸŽ‰ 1

# 159 Setting up ProtonMail with Vercel

πŸ‘ 0❀️ 1πŸ’© 0πŸŽ‰ 1

# 160 SvelteKit .env secrets

πŸ‘ 2❀️ 0πŸ’© 0πŸŽ‰ 0

# 161 Windows Subsystem Linux Bootstrap 2020

πŸ‘ 2❀️ 0πŸ’© 0πŸŽ‰ 0

# 162 Get GraphQL Data Using Axios

πŸ‘ 1❀️ 0πŸ’© 0πŸŽ‰ 0

# 163 JavaScript snippets from around the web

πŸ‘ 0❀️ 1πŸ’© 0πŸŽ‰ 0

# 164 Reduce and Filter JavaScript Object on Property

πŸ‘ 1❀️ 0πŸ’© 0πŸŽ‰ 0

# 165 Setting up Fastmail with Vercel

πŸ‘ 1❀️ 0πŸ’© 0πŸŽ‰ 0

# 166 Add a Table of Contents with Smooth scroll using Gatsby and MDX

πŸ‘ 0❀️ 0πŸ’© 0πŸŽ‰ 1

# 167 Windows Terminal Config - Make it Your Own

πŸ‘ 0❀️ 1πŸ’© 0πŸŽ‰ 0

# 168 Make a Simple API Endpoint with Vercel Serverless Functions

πŸ‘ 0❀️ 0πŸ’© 0πŸŽ‰ 0

Copyright Β© 2017 - 2026 - All rights reserved Scott Spence