<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Stephan Langeveld</title><description>Builder, engineer, and open source contributor.</description><link>https://stephanlangeveld.com/</link><item><title>Why I Ditched Next.js for TanStack Start + Nitro</title><link>https://stephanlangeveld.com/blog/why-i-ditched-nextjs-for-tanstack-start-and-nitro/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/why-i-ditched-nextjs-for-tanstack-start-and-nitro/</guid><description>Next.js is powerful, but the platform gravity around it is real. TanStack Start with Nitro gave me better architecture defaults and true deployment freedom.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Django Made Me a Better Developer</title><link>https://stephanlangeveld.com/blog/django-made-me-better/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/django-made-me-better/</guid><description>Django is old, opinionated, and not the coolest framework at the party. It also taught me more about software architecture than anything else I&apos;ve learned.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Goodbye GitHub Copilot, Hello Claude Code</title><link>https://stephanlangeveld.com/blog/goodbye-github-copilot/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/goodbye-github-copilot/</guid><description>I cancelled my GitHub Copilot subscription after years of using it. Not because the product got worse — but because GitHub changed the terms of the deal I signed up for.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>The Fastest Way to Learn a New Programming Language: Use One You Already Know</title><link>https://stephanlangeveld.com/blog/learning-new-language-with-ai/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/learning-new-language-with-ai/</guid><description>Stop reading documentation from scratch. Ask AI to generate a side-by-side comparison between a language you know and the one you&apos;re learning — then just read the diff.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>PicoLauncher: Building a Minimal Android Launcher</title><link>https://stephanlangeveld.com/blog/picolauncher/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/picolauncher/</guid><description>I got tired of bloated home screen launchers, so I built my own. Here&apos;s what I learned about the Android launcher APIs, building for one-handed use, and the value of deliberate minimalism.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Privacy in the Age of AI: Practical Strategies to Protect Personal Data in 2026</title><link>https://stephanlangeveld.com/blog/privacy-in-the-age-of-ai/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/privacy-in-the-age-of-ai/</guid><description>Tools, techniques, and best practices for maintaining digital privacy as AI systems become more capable of processing, inferring, and acting on personal data.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The Lazy Poor Man&apos;s Postman: Using Bun Tests as Your API Client</title><link>https://stephanlangeveld.com/blog/bun-tests-as-postman/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/bun-tests-as-postman/</guid><description>Stop clicking through Postman. Bun&apos;s test runner makes a faster, version-controlled, scriptable API testing setup — with OpenAPI spec validation thrown in for free.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ktsx: Bringing JSX-Inspired Syntax to Kotlin Multiplatform UI</title><link>https://stephanlangeveld.com/blog/ktsx/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/ktsx/</guid><description>How I built a Gradle plugin and KSP processor that compiles a JSX-like .ktsx syntax into idiomatic Kotlin DSL code — and the lessons from writing a compile-time code generator.</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The One Line That Saved Me From Python Dependency Hell</title><link>https://stephanlangeveld.com/blog/pip-require-virtualenv/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/pip-require-virtualenv/</guid><description>I spent years accidentally polluting my global Python environment. One environment variable fixed it permanently — and I only found it by accident.</description><pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate></item><item><title>TinyFlow: A Visual Editor for LLM Workflows</title><link>https://stephanlangeveld.com/blog/tinyflow/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/tinyflow/</guid><description>How I built a drag-and-drop workflow editor for LLM agents using React Flow and PocketFlow — and what it taught me about visual programming, CLI tooling, and the gap between &apos;works in demo&apos; and &apos;works in production&apos;.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Mastering Modern JavaScript: Frameworks, Performance, and Best Practices in 2026</title><link>https://stephanlangeveld.com/blog/modern-javascript-2026/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/modern-javascript-2026/</guid><description>An in-depth comparison of React, Vue, and Svelte in 2026 — architecture trade-offs, rendering models, bundle size, and the performance optimization techniques that actually move the needle.</description><pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate></item><item><title>tutor-cli: An AI Study Tutor That Lives in Your Terminal</title><link>https://stephanlangeveld.com/blog/tutor-cli/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/tutor-cli/</guid><description>I built a CLI that generates a question bank on any topic, then drills you using seven different learning methods — with adaptive difficulty, spaced repetition, and persistent progress between sessions.</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Easy File Transfer: Building a Desktop SSH/rsync App with Tauri</title><link>https://stephanlangeveld.com/blog/easy-file-transfer/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/easy-file-transfer/</guid><description>Why I built a native desktop file transfer app using Tauri, Rust, and rsync — and what I learned about bridging a Rust backend to a React frontend.</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Optimize Your Body, Optimize Your Code</title><link>https://stephanlangeveld.com/blog/optimize-body-optimize-mind/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/optimize-body-optimize-mind/</guid><description>Past me would have laughed at this post. But diet, training, and sleep have done more for the quality of my thinking than any productivity system I&apos;ve tried.</description><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate></item><item><title>New Year&apos;s Resolutions Don&apos;t Work. Here&apos;s What Does.</title><link>https://stephanlangeveld.com/blog/new-years-resolutions/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/new-years-resolutions/</guid><description>Every January the same cycle repeats. Big goals, early enthusiasm, quiet abandonment by February. After years of doing it wrong, here&apos;s what actually moved the needle for me.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Supercharging Bun with Rust via FFI</title><link>https://stephanlangeveld.com/blog/bun-ffi-rust/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/bun-ffi-rust/</guid><description>The same way Python offloads heavy computation to C extensions via NumPy or Cython, you can drop native Rust into your Bun app using bun:ffi — with near-zero overhead.</description><pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Building Flowneer: A Tiny LLM Flow Builder in TypeScript</title><link>https://stephanlangeveld.com/blog/flowneer/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/flowneer/</guid><description>How I built a zero-dependency, 3kB TypeScript library for composing LLM agent workflows — fluent chains, branching, loops, parallelism, and a plugin system with no bloat.</description><pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate></item><item><title>P2P File Transfer: Sending Files Browser-to-Browser Without a Server</title><link>https://stephanlangeveld.com/blog/p2p-file-transfer/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/p2p-file-transfer/</guid><description>How I built a zero-server file sharing app using WebRTC DataChannels, AES-GCM encryption, and IndexedDB — and why making WebRTC actually work is harder than the spec makes it look.</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Sjango: Django-Style Structure for Sanic&apos;s Async Python Web Framework</title><link>https://stephanlangeveld.com/blog/sjango/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/sjango/</guid><description>I love Django&apos;s project layout but wanted async-native Python. So I built a minimal boilerplate that brings apps, models, views, and urls to Sanic — with Tortoise ORM and Pydantic Settings.</description><pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Auto Image Cropper: Using OpenCV in the Browser to Fix Scanned Photos</title><link>https://stephanlangeveld.com/blog/auto-image-cropper/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/auto-image-cropper/</guid><description>How I built a browser-based tool that uses OpenCV.js (WebAssembly) to automatically detect, straighten, and crop individual photos from flatbed scanner output — and what I learned about computer vision at the edge.</description><pubDate>Sat, 08 Nov 2025 00:00:00 GMT</pubDate></item><item><title>How to Cut Your Docker Image Size in Half</title><link>https://stephanlangeveld.com/blog/cut-docker-image-size/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/cut-docker-image-size/</guid><description>Bloated Docker images slow down CI pipelines, waste registry storage, and increase attack surface. Here&apos;s how to shrink them down without sacrificing functionality.</description><pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Building a Dataset to Track My Own Gym Performance</title><link>https://stephanlangeveld.com/blog/gym-performance-dataset/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/gym-performance-dataset/</guid><description>I go to the gym every day and I love statistics. So I built a personal dataset to find out whether creatine, sleep, diet, temperature, and mood actually move the needle — without any medical tests.</description><pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate></item><item><title>How to Reproduce AI Results You Actually Like</title><link>https://stephanlangeveld.com/blog/reproducing-ai-results/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/reproducing-ai-results/</guid><description>You generated something great — a perfect image, a brilliant prompt, a clever piece of code. Then you lost it. Here&apos;s the trick that fixes that permanently.</description><pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Mapping Out How You Think</title><link>https://stephanlangeveld.com/blog/mapping-how-you-think/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/mapping-how-you-think/</guid><description>I&apos;m undoubtedly a deep thinker. But a few months ago it hit me that I&apos;d never actually questioned how I think. Not what I think about — how I do it.</description><pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate></item><item><title>What I Still Miss From Linux After Moving to Mac</title><link>https://stephanlangeveld.com/blog/missing-linux-on-mac/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/missing-linux-on-mac/</guid><description>Productivity-wise, moving to Mac was the right call. But Linux spoils you in ways that are hard to explain until they&apos;re gone.</description><pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate></item><item><title>SPA is Overrated — Go Hybrid</title><link>https://stephanlangeveld.com/blog/spa-is-overrated/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/spa-is-overrated/</guid><description>The debate between SPA and MPA is a false choice. A hybrid architecture gives you the best of both worlds, and it&apos;s easier to set up than you think.</description><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate></item><item><title>How to Solve Problems While You&apos;re Not Thinking About Them</title><link>https://stephanlangeveld.com/blog/subconscious-problem-solving/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/subconscious-problem-solving/</guid><description>You&apos;ve been stuck for hours, then the answer appears in the shower. That&apos;s not luck — it&apos;s a mode of thinking you can learn to use deliberately.</description><pubDate>Sat, 22 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Using AI to Train Mental Flexibility in the Kitchen</title><link>https://stephanlangeveld.com/blog/ai-cooking-constraints/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/ai-cooking-constraints/</guid><description>I started using AI to pick random ingredients and force myself to cook under constraints. It turns out it&apos;s less about food and more about training your brain to think differently.</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate></item><item><title>10 Things You Can Do with Kali Linux to Test Your Infrastructure Security</title><link>https://stephanlangeveld.com/blog/kali-linux-infrastructure-security/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/kali-linux-infrastructure-security/</guid><description>Kali isn&apos;t just a hacker&apos;s toy. Used responsibly on infrastructure you own, it&apos;s one of the most powerful auditing platforms available. Here&apos;s how to use it properly.</description><pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate></item><item><title>AI-Powered Personal Finance: Tools and Strategies for Smarter Money Management</title><link>https://stephanlangeveld.com/blog/ai-personal-finance/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/ai-personal-finance/</guid><description>How AI is changing budgeting, investing, and financial planning — and the practical tools you can use today to make better financial decisions.</description><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate></item><item><title>How to Actually Give Estimates That Hold</title><link>https://stephanlangeveld.com/blog/how-to-give-estimates/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/how-to-give-estimates/</guid><description>You think you know how long something will take. You don&apos;t. Here&apos;s the process that gets you close enough to not embarrass yourself.</description><pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Test-Driven Prompt Engineering</title><link>https://stephanlangeveld.com/blog/prompt-engineering-paradigm/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/prompt-engineering-paradigm/</guid><description>Claude will probably cover the edge cases you forgot. But being explicit in your prompts still matters — and tests are how you make that explicitness stick.</description><pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Machine Learning Model Deployment: From Development to Production Environments</title><link>https://stephanlangeveld.com/blog/ml-model-deployment/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/ml-model-deployment/</guid><description>A step-by-step guide to moving machine learning models from notebooks into real-world production systems — serving, monitoring, versioning, and avoiding the common pitfalls.</description><pubDate>Mon, 22 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Stop Wiring Every Input to useState</title><link>https://stephanlangeveld.com/blog/react-forms-without-usestate/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/react-forms-without-usestate/</guid><description>React developers reach for useState on every input field by reflex. Most of the time, the browser already handles this for you — and FormData does the rest.</description><pubDate>Wed, 03 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Solve Problems Backwards</title><link>https://stephanlangeveld.com/blog/solve-problems-backwards/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/solve-problems-backwards/</guid><description>Start with what the solution looks like. Work backwards. Work forwards. Find where the two paths meet — that&apos;s your problem.</description><pubDate>Sun, 09 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Dependency Injection: Write Once, Use Everywhere</title><link>https://stephanlangeveld.com/blog/dependency-injection-js/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/dependency-injection-js/</guid><description>Keeping your business logic separate from the framework it runs in isn&apos;t just good architecture — it makes your code portable, testable, and far easier to maintain.</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate></item><item><title>To-Do Lists for the Scattered Mind</title><link>https://stephanlangeveld.com/blog/todo-lists-scattered-mind/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/todo-lists-scattered-mind/</guid><description>I&apos;ve tried every productivity system. None of them stuck. Here&apos;s what I actually do instead — and why it works better for the way my brain operates.</description><pubDate>Thu, 07 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Ethical AI Development: Addressing Bias, Transparency, and Responsibility</title><link>https://stephanlangeveld.com/blog/ethical-ai-development/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/ethical-ai-development/</guid><description>Key considerations for responsible AI implementation — how bias enters systems, why transparency matters, and the practical steps developers can take to build fairer models.</description><pubDate>Fri, 09 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Python for Productivity and Automation: Building Efficient Daily Workflows</title><link>https://stephanlangeveld.com/blog/python-for-productivity/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/python-for-productivity/</guid><description>Practical Python scripts and tools for automating repetitive daily tasks — from file management and email to browser automation and scheduled jobs.</description><pubDate>Thu, 14 Sep 2023 00:00:00 GMT</pubDate></item><item><title>The Evolution of Artificial Intelligence: From Foundations to Generative and Agentic Systems</title><link>https://stephanlangeveld.com/blog/evolution-of-ai/</link><guid isPermaLink="true">https://stephanlangeveld.com/blog/evolution-of-ai/</guid><description>An overview of AI advancements across decades — from expert systems and statistical learning to large language models and fully autonomous agents — and what comes next.</description><pubDate>Sat, 18 Mar 2023 00:00:00 GMT</pubDate></item></channel></rss>