56,966 blogs · [ { "id": "01a087dc-ed6b-70e5-841d-e87aabf7db86", "title": "What my prompts say about how I work with AI", "url": "https://scottspence.com/posts/what-my-prompts-say-about-how-i-work-with-ai/", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aac809147", "title": "Agentic engineering: a practical guide to reliable coding agents", "url": "https://scottspence.com/posts/agentic-engineering-practical-guide/", "published_at": "2026-08-25T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aacfd127c", "title": "Coding agent harnesses with my-pi", "url": "https://scottspence.com/posts/coding-agent-harnesses-my-pi/", "published_at": "2026-07-25T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aad9e5ea3", "title": "How I work with LLMs", "url": "https://scottspence.com/posts/how-i-work-with-llms/", "published_at": "2026-07-25T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aae006746", "title": "How I Stop LLMs Drifting In Production Codebases", "url": "https://scottspence.com/posts/how-i-stop-llms-drifting-in-production-codebases/", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aaeabf4a3", "title": "Building a SQLite context sidecar for my-pi", "url": "https://scottspence.com/posts/sqlite-context-sidecar-my-pi/", "published_at": "2026-05-02T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87aaf6ab0ba", "title": "Building my-pi: my own Claude Code alternative with Pi", "url": "https://scottspence.com/posts/building-my-pi-claude-code-alternative-with-pi/", "published_at": "2026-04-26T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab05e522d", "title": "Add telemetry to my-pi", "url": "https://scottspence.com/posts/add-telemetry-to-my-pi/", "published_at": "2026-04-19T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab10dfa15", "title": "Hardening redaction in my-pi with evals and telemetry", "url": "https://scottspence.com/posts/hardening-redaction-in-my-pi/", "published_at": "2026-04-19T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab10e9bf0", "title": "Add LSP to my-pi", "url": "https://scottspence.com/posts/add-lsp-to-my-pi/", "published_at": "2026-04-18T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab1d97c3d", "title": "nopeek - Keep Your Secrets Out of Claude Code", "url": "https://scottspence.com/posts/nopeek-keep-secrets-out-of-claude-code/", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab24f15b8", "title": "McPick - Manage MCP Servers and Plugins in Claude Code", "url": "https://scottspence.com/posts/mcpick-manage-mcp-servers-and-plugins-in-claude-code/", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab2b5c1d7", "title": "How to Make Claude Code Follow Hook Instructions", "url": "https://scottspence.com/posts/how-to-make-claude-code-follow-hook-instructions/", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab2f4c39a", "title": "Enable LSP in Claude Code", "url": "https://scottspence.com/posts/enable-lsp-in-claude-code/", "published_at": "2026-03-03T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab32b5141", "title": "Building and Testing MCP Tools Locally", "url": "https://scottspence.com/posts/building-and-testing-mcp-tools-locally/", "published_at": "2026-02-28T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab3f615ee", "title": "Measuring Claude Code Skill Activation With Sandboxed Evals", "url": "https://scottspence.com/posts/measuring-claude-code-skill-activation-with-sandboxed-evals/", "published_at": "2026-02-08T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab494aa8e", "title": "Enable Team Mode in Claude Code", "url": "https://scottspence.com/posts/enable-team-mode-in-claude-code/", "published_at": "2026-02-07T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab4cbdfe8", "title": "Claude Code Swarm With Daytona Sandboxes", "url": "https://scottspence.com/posts/claude-code-swarm-daytona-sandboxes/", "published_at": "2026-01-30T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab51dbffe", "title": "Unlock Swarm Mode in Claude Code with claude-sneakpeek", "url": "https://scottspence.com/posts/unlock-swarm-mode-in-claude-code/", "published_at": "2026-01-28T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab55427ab", "title": "Organising Claude Code Skills Into Plugin Marketplaces", "url": "https://scottspence.com/posts/organising-claude-code-skills-into-plugin-marketplaces/", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab5b610e8", "title": "GitHub CLI Installation Guide for WSL (Ubuntu)", "url": "https://scottspence.com/posts/install-github-cli-in-wsl/", "published_at": "2026-01-11T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab666c95a", "title": "Migrating Off Of Fathom Analytics", "url": "https://scottspence.com/posts/migrating-off-fathom-analytics/", "published_at": "2026-01-11T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab6bc4f3f", "title": "Local Analytics with SQLite and SvelteKit", "url": "https://scottspence.com/posts/local-analytics-with-sqlite-and-sveltekit/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab6ef613c", "title": "Switching to EndeavourOS from Omarchy", "url": "https://scottspence.com/posts/switching-to-endeavouros-from-omarchy/", "published_at": "2025-12-22T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab75e1ae8", "title": "How to Make Claude Code Skills Activate Reliably", "url": "https://scottspence.com/posts/how-to-make-claude-code-skills-activate-reliably/", "published_at": "2025-11-16T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab7dcece1", "title": "Claude Code Skills Don't Auto-Activate (a workaround)", "url": "https://scottspence.com/posts/claude-code-skills-dont-auto-activate/", "published_at": "2025-11-06T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab8b2e5fc", "title": "Working with Claude Code! The Honest Version", "url": "https://scottspence.com/posts/working-with-claude-code-the-honest-version/", "published_at": "2025-11-06T00:00:00+00:00" }, { "id": "01a087dc-ed6b-70e5-841d-e87ab8cb2b22", "title": "Claude Code Skills Not Recognised? Here's the Fix!", "url": "https://scottspence.com/posts/claude-code-skills-not-recognised/", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839c234526", "title": "SQLite Corruption with fs.copyFile() in WAL Mode", "url": "https://scottspence.com/posts/sqlite-corruption-fs-copyfile-issue/", "published_at": "2025-10-06T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839cd3dddd", "title": "Optimising MCP Server Context Usage in Claude Code", "url": "https://scottspence.com/posts/optimising-mcp-server-context-usage-in-claude-code/", "published_at": "2025-09-30T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839cf09c47", "title": "Hunting Down 1.3 Billion Row Database Reads", "url": "https://scottspence.com/posts/hunting-down-billion-row-database-reads/", "published_at": "2025-07-13T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839d2c6c3c", "title": "Shared Tailwind CSS Themes in Svelte Monorepos", "url": "https://scottspence.com/posts/shared-tailwind-css-themes-in-svelte-monorepos/", "published_at": "2025-06-28T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839dc9b289", "title": "The AI Coding Tools I Actually Use (And the Ones I Don't)", "url": "https://scottspence.com/posts/ai-coding-tools-i-actually-use/", "published_at": "2025-06-24T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839e3efd58", "title": "From JSDOM to Real Browsers: Testing Svelte with Vitest Browser Mode", "url": "https://scottspence.com/posts/testing-with-vitest-browser-svelte-guide/", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839eda121f", "title": "Svelte Summit 2025", "url": "https://scottspence.com/posts/svelte-summit-may-2025/", "published_at": "2025-05-25T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a5839f96932c", "title": "Migrating from @testing-library/svelte to vitest-browser-svelte", "url": "https://scottspence.com/posts/migrating-from-testing-library-svelte-to-vitest-browser-svelte/", "published_at": "2025-05-25T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a07e68f8", "title": "Passing data between SvelteKit server and page files", "url": "https://scottspence.com/posts/passing-data-between-sveltekit-server-and-page-files/", "published_at": "2025-04-18T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a110223c", "title": "MCP Tools Usage Guide", "url": "https://scottspence.com/posts/efficient-mcp-tools-usage-guide/", "published_at": "2025-04-14T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a1cad37c", "title": "Configuring MCP Tools in Claude Code - The Better Way", "url": "https://scottspence.com/posts/configuring-mcp-tools-in-claude-code/", "published_at": "2025-03-30T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a1d504a0", "title": "Windsurf Setup for WSL", "url": "https://scottspence.com/posts/windsurf-setup-for-wsl/", "published_at": "2025-03-18T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a226cd58", "title": "Theme Switching in SvelteKit Updated for daisyUI v5 and Tailwind v4", "url": "https://scottspence.com/posts/theme-switching-in-sveltekit-updated-for-daisyui-v5-and-tailwind-v4/", "published_at": "2025-02-11T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a29f6689", "title": "My Updated ZSH Config 2025", "url": "https://scottspence.com/posts/my-updated-zsh-config-2025/", "published_at": "2025-02-07T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a2c88e36", "title": "Setting Up Codename Goose in WSL", "url": "https://scottspence.com/posts/setting-up-codename-goose-in-wsl/", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a3aa506d", "title": "Speeding Up My ZSH Shell ⚡", "url": "https://scottspence.com/posts/speeding-up-my-zsh-shell/", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a3b711b6", "title": "Git SSH and Commit Signing Setup in WSL Ubuntu", "url": "https://scottspence.com/posts/git-ssh-and-commit-signing-setup-in-wsl-ubuntu/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a47f40f7", "title": "Migrating from @testing-library/svelte to vitest-browser-svelte", "url": "https://scottspence.com/posts/modernizing-svelte-testing-from-testing-library-to-vitest-browser-svelte/", "published_at": "2025-01-25T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a49df183", "title": "Using MCP Tools with Claude and Cline", "url": "https://scottspence.com/posts/using-mcp-tools-with-claude-and-cline/", "published_at": "2025-01-19T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a536c44b", "title": "Getting MCP Server Working with Claude Desktop in WSL", "url": "https://scottspence.com/posts/getting-mcp-server-working-with-claude-desktop-in-wsl/", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a5cc3ed3", "title": "How to Fix Hetzner ARM64 VPS Package Updates on Ubuntu 24.04", "url": "https://scottspence.com/posts/fixing-hetzner-arm64-vps-ubuntu-package-updates/", "published_at": "2024-11-29T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a675b184", "title": "Take Back the Web! A Practical Guide to Digital Independence", "url": "https://scottspence.com/posts/take-back-the-web/", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a70b2c7d", "title": "Scrollbar Styling with Tailwind and daisyUI", "url": "https://scottspence.com/posts/scrollbar-styling-with-tailwind-and-daisyui/", "published_at": "2024-10-25T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a7bf65b0", "title": "The new Svelte (sv) CLI, adding Tailwind is simple now", "url": "https://scottspence.com/posts/svelte-cli-add-tailwind/", "published_at": "2024-10-20T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a8afdc92", "title": "Updating SvelteKit Redirects - A More Robust Approach", "url": "https://scottspence.com/posts/sveltekit-redirects-update/", "published_at": "2024-10-08T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a906f9b1", "title": "Streamlining Svead the SvelteKit SEO package", "url": "https://scottspence.com/posts/streamlining-svead-the-sveltekit-seo-package/", "published_at": "2024-09-14T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583a9d5da79", "title": "Cursor Setup for WSL", "url": "https://scottspence.com/posts/cursor-setup-for-wsl/", "published_at": "2024-09-03T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583aa9ffa18", "title": "Multi-instance PocketBase setup", "url": "https://scottspence.com/posts/multi-instance-pocketbase-setup/", "published_at": "2024-08-17T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583ab8c56b5", "title": "Svead the SvelteKit SEO Head Component", "url": "https://scottspence.com/posts/svead-the-sveltekit-head-component/", "published_at": "2024-05-26T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583abd420d2", "title": "Setting up my VPS on Hetzner", "url": "https://scottspence.com/posts/setting-up-my-vps-on-hetzner/", "published_at": "2024-05-12T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583ac426cab", "title": "Patching packages with pnpm patch", "url": "https://scottspence.com/posts/patching-packages-with-pnpm-patch/", "published_at": "2024-05-11T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583ace59a40", "title": "SvelteKit Turso Fly.io App Guide", "url": "https://scottspence.com/posts/sveltekit-turso-flyio-app-guide/", "published_at": "2024-04-12T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583ad748276", "title": "CSRF with SvelteKit on Fly.io", "url": "https://scottspence.com/posts/csrf-with-sveltekit-on-flyio/", "published_at": "2024-04-02T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583ae1360e9", "title": "Deploying SvelteKit Apps on Fly.io", "url": "https://scottspence.com/posts/deploying-sveltekit-apps-on-fly-io/", "published_at": "2024-03-23T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583aeeb8f1d", "title": "WSL Web Developer Setup with Fedora 39", "url": "https://scottspence.com/posts/wsl-web-developer-setup-with-fedora-39/", "published_at": "2024-03-17T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583afcd5d1c", "title": "Handling Multi-Select Form Data", "url": "https://scottspence.com/posts/handling-multi-select-form-data/", "published_at": "2024-03-01T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b09abf32", "title": "DKIM for Cloudflare and Fastmail", "url": "https://scottspence.com/posts/dkim-for-cloudflare-and-fastmail/", "published_at": "2024-02-01T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b0d73e7f", "title": "SvelteKit and Fathom Svelte 5 Integration", "url": "https://scottspence.com/posts/sveltekit-and-fathom-svelte-5-integration/", "published_at": "2024-01-28T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b1193763", "title": "Importing Large CSV Files into Turso DB", "url": "https://scottspence.com/posts/importing-large-csv-files-into-turso-db/", "published_at": "2024-01-20T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b20dce22", "title": "Fixing 'Component Instantiation' Error in Svelte 5 Tests: A Quick Guide", "url": "https://scottspence.com/posts/fix-component-instantiation-error-in-svelte-5-tests-guide/", "published_at": "2024-01-12T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b2ca1561", "title": "Use Common Table Expressions", "url": "https://scottspence.com/posts/use-common-table-expressions/", "published_at": "2023-12-26T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b38b1ca6", "title": "SvelteKit Environment Variables with Fly.io Deployment", "url": "https://scottspence.com/posts/sveltekit-environment-variables-flyio-deployment/", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a087dc-ed6c-7044-bec5-a583b3a133d5", "title": "Building Session Analytics with SvelteKit and Turso DB", "url": "https://scottspence.com/posts/building-session-analytics-sveltekit-turso-db/", "published_at": "2023-12-10T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba90793697", "title": "Comparing macOS, Windows, and Linux Experiences", "url": "https://scottspence.com/posts/comparing-macos-windows-linux-experiences/", "published_at": "2023-11-04T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba91046be6", "title": "Making a robots.txt syntax highlighter for VS Code", "url": "https://scottspence.com/posts/making-a-robots-txt-syntax-highlighter-for-vs-code/", "published_at": "2023-10-23T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba915e42ab", "title": "Contact Form Send Email From Site with Fastmail", "url": "https://scottspence.com/posts/contact-form-send-email-from-site/", "published_at": "2023-10-07T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9198281d", "title": "Updating BIOS on Motherboard", "url": "https://scottspence.com/posts/updating-bios-on-motherboard/", "published_at": "2023-10-07T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba91b13a0f", "title": "Switching from Brevo to Buttondown", "url": "https://scottspence.com/posts/switching-from-brevo-to-buttondown/", "published_at": "2023-10-01T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba91b75062", "title": "Airtable to Upstash Redis with SvelteKit", "url": "https://scottspence.com/posts/airtable-to-upstash-redis-sveltekit/", "published_at": "2023-09-09T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba92742c20", "title": "HTML Input Types and Uses", "url": "https://scottspence.com/posts/html-input-types-and-uses/", "published_at": "2023-08-13T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba930b8574", "title": "SvelteKit Page Reaction Component with Upstash Redis", "url": "https://scottspence.com/posts/sveltekit-page-reaction-component-with-upstash-redis/", "published_at": "2023-07-16T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba934eaae4", "title": "Customising Fonts in Tailwind CSS and daisyUI", "url": "https://scottspence.com/posts/customising-fonts-in-tailwind-css-and-daisyui/", "published_at": "2023-07-01T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba93d152dc", "title": "Cookie-Based Theme Selection in SvelteKit with daisyUI", "url": "https://scottspence.com/posts/cookie-based-theme-selection-in-sveltekit-with-daisyui/", "published_at": "2023-06-28T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba94317b07", "title": "How I got back online after AWS East went down", "url": "https://scottspence.com/posts/how-i-got-back-online-after-aws-east-went-down/", "published_at": "2023-06-13T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba94853dee", "title": "SvelteKit Contact Form Example with Airtable", "url": "https://scottspence.com/posts/sveltekit-contact-form-example-with-airtable/", "published_at": "2023-05-21T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba94af1c9a", "title": "SvelteKit Data Loading, Understanding the load function", "url": "https://scottspence.com/posts/sveltekit-data-loading-understanding-the-load-function/", "published_at": "2023-04-14T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba94c16e4d", "title": "Caching with Fathom, Redis, and SvelteKit", "url": "https://scottspence.com/posts/caching-with-fathom-redis-and-sveltekit/", "published_at": "2023-03-17T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba95a7140f", "title": "Passing SvelteKit +page.server.ts data to +page.ts", "url": "https://scottspence.com/posts/passing-sveltekit-page-server-js-data-to-page-js/", "published_at": "2023-02-25T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba96687088", "title": "Adding real-time analytics to my SvelteKit site with Fathom", "url": "https://scottspence.com/posts/adding-real-time-analytics-to-my-sveltekit-site-with-fathom/", "published_at": "2023-02-21T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba96e9644f", "title": "Robots.txt file for SvelteKit projects", "url": "https://scottspence.com/posts/robots-txt-file-for-sveltekit-projects/", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba971f1e85", "title": "How to Implement Redirects for Changed Post Routes in Sveltekit", "url": "https://scottspence.com/posts/how-to-implement-redirects-for-changed-post-routes-in-sveltekit/", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba974aac22", "title": "WSL Dev Server Not Working on v1.1.0? Try this!", "url": "https://scottspence.com/posts/wsl-dev-server-not-working-on-v1.1.0-try-this/", "published_at": "2023-01-22T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba981db84d", "title": "Adding multiple SPF records with Vercel", "url": "https://scottspence.com/posts/adding-multiple-spf-records-with-vercel/", "published_at": "2023-01-20T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba986ce49a", "title": "Using the Svelte use action for animations", "url": "https://scottspence.com/posts/using-the-svelte-use-action-for-animations/", "published_at": "2023-01-17T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9896875e", "title": "Load markdown via endpoint in SvelteKit", "url": "https://scottspence.com/posts/load-markdown-via-endpoint-in-sveltekit/", "published_at": "2023-01-15T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba99136155", "title": "Should I create my own blog?", "url": "https://scottspence.com/posts/should-i-create-my-own-blog/", "published_at": "2023-01-14T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9a043b88", "title": "Adding DKIM records to Vercel", "url": "https://scottspence.com/posts/adding-dkim-records-to-vercel/", "published_at": "2023-01-09T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9a9ce910", "title": "Why Fastmail over ProtonMail", "url": "https://scottspence.com/posts/why-fastmail-over-proton-mail/", "published_at": "2023-01-07T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9b6e37a8", "title": "Get document elements from a page", "url": "https://scottspence.com/posts/get-document-elements-from-page/", "published_at": "2023-01-06T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9c5c5de1", "title": "Gradient animations with Tailwind CSS and SvelteKit", "url": "https://scottspence.com/posts/gradient-animations-in-tailwindcss/", "published_at": "2023-01-06T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9ccee4c2", "title": "Instagram Image Filters with Tailwind CSS and SvelteKit", "url": "https://scottspence.com/posts/instagram-image-filters/", "published_at": "2023-01-06T00:00:00+00:00" }, { "id": "01a087dc-ed6d-7157-a53e-ccba9da3ea30", "title": "Goals for 2023", "url": "https://scottspence.com/posts/goals-2023/", "published_at": "2022-12-24T00:00:00+00:00" } ] posts Claim your blog
Back to scottspence.com
Blog · corpus.blog/blogs/scottspence.com/posts

scottspence.com

scottspence.com

2026

2025

2024

2023

2022