About:
Full-stack software engineer based in Stockholm, Sweden. He describes himself as a full-stack impostor syndrome sufferer and is a Software Engineer at Schibsted Media Group.
Website:
Specializations:
Outgoing Links:
Subscribe to RSS:
The blog post discusses the creation of a Model Context Protocol (MCP) server for Svelte, aimed at improving the accuracy of coding assistants by providing them direct access to the latest Svelte and SvelteKit documentation. It hi...
The blog post discusses new features in SvelteKit, specifically the single-file bundle strategy and hash router, which enhance the flexibility of building static single-page applications. The author shares their experience applyin...
The blog post discusses how to set up desktop notifications on macOS for Claude Code using Claude Code hooks. It explains the concept of hooks as automatic shell commands that trigger at specific points in Claude's workflow. The a...
The text discusses how to fix performance issues in Svelte and SvelteKit applications using a visual debugging tool called svelte-render-scan. It explains why re-renders are bad for performance, how Svelte's approach differs from ...
The text compares Claude 3.7 Sonnet and Gemini 2.5 Pro, two AI models used for programming. The author tests both models in a real-world programming scenario by implementing dark mode for a password manager project. Gemini 2.5 Pro...
The text provides five tips for better AI programming with large language models, including providing the AI with the complete codebase, including library documentation, using a strong initial prompt, letting the model think, and ...
The text discusses the importance of reducing JavaScript bundle sizes in SvelteKit for better site performance. It provides a guide on how to analyze bundle sizes and optimize them by moving heavy dependencies to the server. The p...
The text discusses the challenges of getting reliable AI assistance for Svelte 5 and SvelteKit due to the release of new features and syntax. It introduces the official llms.txt documentation files as a solution and provides instr...
The text is a complete guide to streaming in SvelteKit, explaining what streaming is, how it works technically, and when to use it. It also covers error handling, considerations when using streaming with promises, conditional stre...
The text discusses the limitations of large language models (LLMs) in answering simple questions and introduces the concept of Chain of Thought prompting as a technique to help AIs tackle this problem more effectively. The author ...
The author describes a passive-aggressive win-back campaign from Dropbox after canceling the subscription, including numerous emails threatening to delete files. The author reflects on the trustworthiness of corporations and the f...
Svelte 5 brings significant changes, including a 50% reduction in bundle size for existing Svelte 4 apps. The new compiler architecture introduces a small signals runtime, resulting in a 50% reduction in application code. The post...
The text provides a practical guide on how to containerize a SvelteKit application using Docker. It includes detailed steps on configuring SvelteKit to use adapter-node, writing the Dockerfile, creating a .dockerignore file, handl...
The text discusses the evolution of web development from server-side to client-side approaches and the resurgence of server-side approaches with modern twists. It also introduces the concept of Local First development and its pote...
The post discusses the potential of leveraging long context models (LLMs) for large-scale software development. It explains the evolution of AI prompting, the power of Claude Projects, and the development of a tool called ai-diges...