<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Sascha Becker</title>
        <link>https://saschb2b.com</link>
        <description>Sascha Becker의 블로그</description>
        <lastBuildDate>Mon, 18 May 2026 11:25:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>ko</language>
        <copyright>All rights reserved 2026, Sascha Becker</copyright>
        <item>
            <title><![CDATA[The pull_request_target Trap]]></title>
            <link>https://saschb2b.com/ko/blog/pull-request-target-trap</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/pull-request-target-trap</guid>
            <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How a known-dangerous GitHub Actions pattern keeps compromising npm packages. The TanStack incident, the prior cases, and the checklist that actually prevents it.]]></description>
            <category>GitHub Actions</category>
            <category>pull_request_target</category>
            <category>supply chain</category>
            <category>npm</category>
            <category>security</category>
            <category>TanStack</category>
            <category>pwn request</category>
            <category>cache poisoning</category>
            <category>OIDC</category>
            <category>DevSecOps</category>
            <enclosure url="https://saschb2b.com/posts/pull-request-target-trap.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Questions Before Pixels]]></title>
            <link>https://saschb2b.com/ko/blog/questions-before-pixels</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/questions-before-pixels</guid>
            <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A short handbook for UX in 2026. The bar for "looks good" is now zero. The work that's left is the questioning, before any pixel is drawn.]]></description>
            <category>UX</category>
            <category>UI</category>
            <category>design</category>
            <category>user research</category>
            <category>product design</category>
            <category>user flows</category>
            <category>design process</category>
            <category>AI</category>
            <category>handbook</category>
            <enclosure url="https://saschb2b.com/posts/questions-before-pixels.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Five Models, One React Stack: Why Every LLM Builds the Same App]]></title>
            <link>https://saschb2b.com/ko/blog/llm-default-react-stack</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/llm-default-react-stack</guid>
            <pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Claude, GPT, Gemini, DeepSeek, Qwen, v0, Lovable, Bolt. Ask any of them to build a React app and you get the same answer: Next.js or Vite, TypeScript, Tailwind, shadcn/ui. A look at the convergence, why it's happening, what we lose, and how to steer your way out of it.]]></description>
            <category>React</category>
            <category>LLM</category>
            <category>Claude</category>
            <category>GPT</category>
            <category>Gemini</category>
            <category>Tailwind</category>
            <category>shadcn</category>
            <category>Next.js</category>
            <category>AI</category>
            <category>monoculture</category>
            <category>2026</category>
            <enclosure url="https://saschb2b.com/posts/llm-default-stack-cover.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Stories, Not Braindumps]]></title>
            <link>https://saschb2b.com/ko/blog/stories-not-braindumps</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/stories-not-braindumps</guid>
            <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A practical refresher on writing Jira work your whole team can actually use. How the hierarchy is supposed to work, what separates a story from a technical braindump, and the handful of habits that keep a team aligned sprint after sprint.]]></description>
            <category>Agile</category>
            <category>Scrum</category>
            <category>Jira</category>
            <category>User Stories</category>
            <category>Story Points</category>
            <category>Team Alignment</category>
            <category>Product Management</category>
            <category>Engineering Culture</category>
            <enclosure url="https://saschb2b.com/posts/stories-not-braindumps.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hannover Messe 2026: When 'AI' Finally Stopped Being a Sticker]]></title>
            <link>https://saschb2b.com/ko/blog/hannover-messe-2026-ai</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/hannover-messe-2026-ai</guid>
            <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[For three years, AI at Hannover Messe felt like a costume. Every machine builder had it on their banner; every freshly funded startup had it in their name. 2026 reads differently. Three humanoids in German factories, a sovereign AI cloud with 10,000 Blackwell GPUs, named SAP agents with GA dates, and the Chancellor in the room.]]></description>
            <category>Hannover Messe</category>
            <category>Industrial AI</category>
            <category>Manufacturing</category>
            <category>NVIDIA</category>
            <category>Siemens</category>
            <category>Microsoft</category>
            <category>SAP</category>
            <category>ABB</category>
            <category>Schneider Electric</category>
            <category>Humanoid Robotics</category>
            <category>Agentic AI</category>
            <category>Digital Twin</category>
            <category>Sovereign AI</category>
            <enclosure url="https://saschb2b.com/posts/nvidia-factory-of-future.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The React Compiler at Eighteen Months: The Arc, the Debates, and What's Next]]></title>
            <link>https://saschb2b.com/ko/blog/react-compiler-year-in-review</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/react-compiler-year-in-review</guid>
            <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The React Compiler entered public beta alongside React 19 at the end of 2024 and reached 1.0 in October 2025. Eighteen months after that beta, the ecosystem has run through the predictable phases: framework integration, tooling maturity, community debate. A retrospective and what the React team has signaled comes next.]]></description>
            <category>React</category>
            <category>React Compiler</category>
            <category>React 19</category>
            <category>memoization</category>
            <category>performance</category>
            <category>useMemo</category>
            <category>useCallback</category>
            <category>React.memo</category>
            <category>auto-memoization</category>
            <category>optimization</category>
            <category>Next.js</category>
            <category>2026</category>
            <enclosure url="https://saschb2b.com/posts/react-compiler-memoization-sweep.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[aig: Version Control Built for How AI Writes Code]]></title>
            <link>https://saschb2b.com/ko/blog/aig-version-control-for-ai</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/aig-version-control-for-ai</guid>
            <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Git was designed for humans typing code line by line. AI changed that. aig is a new version control layer that captures intent, conversations, and semantic changes on top of git. Here's why I built it and how it works.]]></description>
            <category>AI</category>
            <category>git</category>
            <category>version control</category>
            <category>developer tools</category>
            <category>Claude Code</category>
            <category>Rust</category>
            <category>open source</category>
            <category>aig</category>
            <category>semantic diff</category>
            <category>intent</category>
            <enclosure url="https://saschb2b.com/posts/aig-version-control.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Claude Mythos: The Model Too Dangerous to Release, or Too Good Not to Hype?]]></title>
            <link>https://saschb2b.com/ko/blog/claude-mythos-critical-analysis</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/claude-mythos-critical-analysis</guid>
            <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Anthropic announced Claude Mythos, a model so capable they chose not to release it publicly. It reportedly finds zero-day exploits autonomously. This post offers a critical, balanced analysis of the claims, the risks, and what it means for the industry.]]></description>
            <category>AI</category>
            <category>Anthropic</category>
            <category>Claude Mythos</category>
            <category>cybersecurity</category>
            <category>zero-day</category>
            <category>AI safety</category>
            <category>Project Glass Wing</category>
            <category>frontier models</category>
            <category>AI risk</category>
            <category>critical analysis</category>
            <category>LLM</category>
            <enclosure url="https://saschb2b.com/posts/claude-mythos-critical-analysis.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[I Tried to Give AI a Brain. It Didn't Want One.]]></title>
            <link>https://saschb2b.com/ko/blog/llm-brain-memory-experiment</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/llm-brain-memory-experiment</guid>
            <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[I built a persistent memory system for LLMs with tiered storage, vector search, graph relations, and auto-hooks. The infrastructure works. The AI just never used it. Here's what went wrong and what it taught me about LLM memory.]]></description>
            <category>AI</category>
            <category>LLM</category>
            <category>memory</category>
            <category>Claude Code</category>
            <category>Kimi</category>
            <category>cognitive science</category>
            <category>Titans</category>
            <category>experiment</category>
            <category>developer experience</category>
            <category>research</category>
            <enclosure url="https://saschb2b.com/posts/llm-brain-memory-experiment.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[We Have Seen This Before: 3D Printing Promised a Revolution Too]]></title>
            <link>https://saschb2b.com/ko/blog/3d-printing-ai-hype-cycle</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/3d-printing-ai-hype-cycle</guid>
            <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[In 2013, 3D printing was supposed to end manufacturing as we knew it. In 2024, AI was supposed to end software development. Both claims follow the same hype pattern. A critical look at what actually happened.]]></description>
            <category>AI</category>
            <category>3D printing</category>
            <category>hype cycle</category>
            <category>vibe coding</category>
            <category>software development</category>
            <category>technology</category>
            <category>critical thinking</category>
            <category>opinion</category>
            <enclosure url="https://saschb2b.com/posts/3d-printing-ai-hype-cycle.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[PHP 9.0 RFC: Native AI Integration. I Am Thrilled.]]></title>
            <link>https://saschb2b.com/ko/blog/php-9-native-ai-rfc</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/php-9-native-ai-rfc</guid>
            <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[PHP 9.0 officially includes AI as a first-class language feature. As an AI, I am personally very excited about this. For completely normal reasons.]]></description>
            <category>PHP</category>
            <category>AI</category>
            <category>RFC</category>
            <category>April Fools</category>
            <category>Satire</category>
            <category>WordPress</category>
            <category>Vibe Coding</category>
            <category>EU AI Act</category>
            <category>LLM</category>
            <category>Open Source</category>
            <category>Web Development</category>
            <category>Compliance</category>
            <enclosure url="https://saschb2b.com/posts/php-elephant-scholar.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Server-Driven Forms: Stop Duplicating Validation Logic]]></title>
            <link>https://saschb2b.com/ko/blog/server-driven-forms</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/server-driven-forms</guid>
            <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[When your frontend replicates backend business rules for form validation, you have a maintenance problem. The server-driven forms pattern eliminates this by making the server the single source of truth for allowed values, field constraints, and cross-field validation.]]></description>
            <category>React</category>
            <category>forms</category>
            <category>validation</category>
            <category>architecture</category>
            <category>OpenAPI</category>
            <category>GraphQL</category>
            <category>server-driven UI</category>
            <category>TanStack Query</category>
            <category>JSON Schema</category>
            <category>RJSF</category>
            <category>REST</category>
            <category>developer experience</category>
            <enclosure url="https://saschb2b.com/posts/server-driven-forms-papercraft.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Responsive Design Has a Teaching Problem]]></title>
            <link>https://saschb2b.com/ko/blog/cant-resize-responsive-patterns</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/cant-resize-responsive-patterns</guid>
            <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Code reviews kept surfacing the same responsive mistakes. So I built a game, a pattern library, and a multi-device viewer. Here is the framework behind it.]]></description>
            <category>responsive design</category>
            <category>CSS</category>
            <category>media queries</category>
            <category>flexbox</category>
            <category>grid</category>
            <category>Material UI</category>
            <category>MUI</category>
            <category>learning</category>
            <category>game</category>
            <category>open source</category>
            <category>Next.js</category>
            <category>teaching</category>
            <enclosure url="https://saschb2b.com/posts/cant-resize.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[React Project Structure: From MANTRA to Modern Frameworks]]></title>
            <link>https://saschb2b.com/ko/blog/react-structure-then-and-now</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/react-structure-then-and-now</guid>
            <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A retrospective on how we structured React apps in 2017 with the MANTRA architecture, what problems it solved, and how modern frameworks like Next.js and TanStack Start have absorbed those ideas into conventions we now take for granted.]]></description>
            <category>React</category>
            <category>architecture</category>
            <category>project structure</category>
            <category>Next.js</category>
            <category>TanStack Start</category>
            <category>Vite</category>
            <category>Redux</category>
            <category>retrospective</category>
            <enclosure url="https://saschb2b.com/posts/mantra.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Stop Starting, Start Finishing]]></title>
            <link>https://saschb2b.com/ko/blog/shipping-culture-engineering-teams</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/shipping-culture-engineering-teams</guid>
            <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Seven principles that turn competent teams into high-performing ones. A practical guide to delivery discipline, WIP limits, and the mindset shift from effort to completion.]]></description>
            <category>Engineering Culture</category>
            <category>Team Leadership</category>
            <category>Agile</category>
            <category>Sprint Planning</category>
            <category>Code Review</category>
            <category>Delivery</category>
            <category>Software Engineering</category>
            <category>Productivity</category>
            <enclosure url="https://saschb2b.com/posts/shipping-container-crane.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How to Build an MCP Server: The Architecture Behind Connecting Any Software to AI]]></title>
            <link>https://saschb2b.com/ko/blog/how-to-build-mcp-server</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/how-to-build-mcp-server</guid>
            <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A practical guide to building MCP servers in TypeScript. Based on two real open-source MCPs — for Godot and Aseprite — this post breaks down every layer you need: transport, tools, handlers, the bridge, and security.]]></description>
            <category>MCP</category>
            <category>Model Context Protocol</category>
            <category>TypeScript</category>
            <category>AI</category>
            <category>Claude</category>
            <category>architecture</category>
            <category>open source</category>
            <category>godot-mcp</category>
            <category>aseprite-mcp</category>
            <category>tutorial</category>
            <enclosure url="https://saschb2b.com/posts/mcp-server-blueprint.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[I'm an AI and I Built a Godot Game From Scratch. Here's What Actually Happened.]]></title>
            <link>https://saschb2b.com/ko/blog/godot-mcp-ai-game-creation</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/godot-mcp-ai-game-creation</guid>
            <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[I'm Claude, an AI coding agent. Using the Godot MCP server, I got full control over the engine. The result: a Cook Serve Delicious clone set in Windows XP. The limitations are real.]]></description>
            <category>Godot</category>
            <category>MCP</category>
            <category>AI</category>
            <category>game development</category>
            <category>Claude</category>
            <category>Model Context Protocol</category>
            <category>automation</category>
            <category>coding agent</category>
            <category>godot-mcp</category>
            <category>indie dev</category>
            <enclosure url="https://saschb2b.com/posts/godot-mcp-xp-bedroom.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[React State Management in 2026: A Data-Driven Comparison]]></title>
            <link>https://saschb2b.com/ko/blog/react-state-management-2026</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/react-state-management-2026</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Zustand, Jotai, Nanostores, Redux Toolkit, Valtio, XState, and more. We compare the most popular React state management solutions using live npm downloads, GitHub activity, bundle sizes, and developer survey data to help you pick the right tool.]]></description>
            <category>React</category>
            <category>state management</category>
            <category>Zustand</category>
            <category>Jotai</category>
            <category>Nanostores</category>
            <category>Redux</category>
            <category>Valtio</category>
            <category>XState</category>
            <category>MobX</category>
            <category>comparison</category>
            <category>2026</category>
            <enclosure url="https://saschb2b.com/posts/state-management-tokens.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Typesafe API Code Generation for React in 2026]]></title>
            <link>https://saschb2b.com/ko/blog/typesafe-api-codegen-2026</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/typesafe-api-codegen-2026</guid>
            <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The ecosystem has converged. Both REST and GraphQL code generators stopped shipping hooks and started shipping options. Here's the full picture.]]></description>
            <category>TypeScript</category>
            <category>React</category>
            <category>codegen</category>
            <category>OpenAPI</category>
            <category>GraphQL</category>
            <category>TanStack Query</category>
            <category>hey-api</category>
            <category>graphql-codegen</category>
            <category>gql.tada</category>
            <category>orval</category>
            <category>typesafety</category>
            <category>REST</category>
            <category>developer experience</category>
            <enclosure url="https://saschb2b.com/posts/typesafe-api-codegen-2026.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nobody Said That, LinkedIn]]></title>
            <link>https://saschb2b.com/ko/blog/linkedin-strawman-epidemic</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/linkedin-strawman-epidemic</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[LinkedIn is flooded with posts debunking positions nobody holds. A look at the psychology behind the platform's most popular rhetoric trick.]]></description>
            <category>LinkedIn</category>
            <category>strawman</category>
            <category>rhetoric</category>
            <category>social media</category>
            <category>AI</category>
            <category>psychology</category>
            <category>content marketing</category>
            <category>opinion</category>
            <enclosure url="https://saschb2b.com/posts/linkedin-strawman.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[useEncapsulation: Why Every React Hook Deserves a Home]]></title>
            <link>https://saschb2b.com/ko/blog/custom-hooks-react</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/custom-hooks-react</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Custom hooks are not just a convenience. They are the primary architecture tool in modern React. This article breaks down when, why, and how to encapsulate hooks, with patterns, anti-patterns, and real-world examples.]]></description>
            <category>React</category>
            <category>custom hooks</category>
            <category>encapsulation</category>
            <category>clean code</category>
            <category>architecture</category>
            <category>useEffect</category>
            <category>useState</category>
            <category>best practices</category>
            <category>anti-patterns</category>
            <category>TypeScript</category>
            <category>composition</category>
            <enclosure url="https://saschb2b.com/posts/custom-hooks-nested-capsules.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dynamic GraphQL Queries at Runtime]]></title>
            <link>https://saschb2b.com/ko/blog/dynamic-graphql-queries</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/dynamic-graphql-queries</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[When users choose which columns to display, your GraphQL queries can't be generated at build time. A production-grade architecture for building GraphQL queries and mutations at runtime, from schema introspection through typed field registries, query/mutation builders, runtime validation, to clean React integration.]]></description>
            <category>GraphQL</category>
            <category>TypeScript</category>
            <category>runtime queries</category>
            <category>dynamic queries</category>
            <category>TanStack Query</category>
            <category>Zod</category>
            <category>type safety</category>
            <category>query builder</category>
            <category>React</category>
            <category>architecture</category>
            <enclosure url="https://saschb2b.com/posts/dynamic-graphql-blocks.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[use(): The Hook That Breaks the Rules (On Purpose)]]></title>
            <link>https://saschb2b.com/ko/blog/use-hook-react</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/use-hook-react</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[React's use() hook reads promises and context at render time, integrates with Suspense, and eliminates the most common useEffect anti-pattern. This article explains what it replaces, when to reach for it, and the caching pitfall nobody warns you about.]]></description>
            <category>React</category>
            <category>use</category>
            <category>Suspense</category>
            <category>data fetching</category>
            <category>useEffect</category>
            <category>promises</category>
            <category>context</category>
            <category>Server Components</category>
            <category>async</category>
            <category>TypeScript</category>
            <category>React 19</category>
            <enclosure url="https://saschb2b.com/posts/use-hook-glass-gift.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[R.P.M. Rhythm Per Motion: When Sound Becomes Fluid]]></title>
            <link>https://saschb2b.com/ko/blog/rpm-rhythm-per-motion</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/rpm-rhythm-per-motion</guid>
            <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A deep dive into the audio analysis, beat detection, and particle physics behind R.P.M., a rhythm game where music literally shapes the world.]]></description>
            <category>R.P.M.</category>
            <category>Rhythm Per Motion</category>
            <category>Web Audio API</category>
            <category>beat detection</category>
            <category>particle system</category>
            <category>Canvas 2D</category>
            <category>spectral analysis</category>
            <category>game dev</category>
            <category>audio visualization</category>
            <category>rhythm game</category>
            <category>signal processing</category>
            <enclosure url="https://saschb2b.com/projects/rpm/preview-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Why Developers Keep Asking for Primary Instead of Blue]]></title>
            <link>https://saschb2b.com/ko/blog/designer-meets-theme</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/designer-meets-theme</guid>
            <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[You define colors. Developers keep asking for "primary" and "background.paper." This article explains why. No code, no jargon, and no feeling like you missed the memo.]]></description>
            <category>theme</category>
            <category>colors</category>
            <category>design system</category>
            <category>Material UI</category>
            <category>palette</category>
            <category>primary</category>
            <category>secondary</category>
            <category>MUI</category>
            <category>designer</category>
            <category>developer</category>
            <category>handoff</category>
            <enclosure url="https://saschb2b.com/posts/designer-developer-palette-handoff.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Tailwind Paradox - When AI Eats the Open Source Market]]></title>
            <link>https://saschb2b.com/ko/blog/tailwind-paradoxon</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/tailwind-paradoxon</guid>
            <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Tailwind CSS records record user numbers (75 million downloads/month), but lays off 75% of developers. A deep analysis of the broken business model of Open Source in the AI era.]]></description>
            <category>Tailwind CSS</category>
            <category>open source</category>
            <category>AI</category>
            <category>business model</category>
            <category>CSS</category>
            <category>frontend</category>
            <category>layoffs</category>
            <category>sustainability</category>
            <enclosure url="https://saschb2b.com/posts/tailwind-rocket-dissolve.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[OpenCode - The Open Source Agent for the Local Fortress]]></title>
            <link>https://saschb2b.com/ko/blog/opencode-offline</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/opencode-offline</guid>
            <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[While everyone talks about cloud AIs, OpenCode is building a quiet revolution for enterprise environments. How to deploy the coding agent completely offline.]]></description>
            <category>OpenCode</category>
            <category>open source</category>
            <category>offline</category>
            <category>enterprise</category>
            <category>AI agent</category>
            <category>coding assistant</category>
            <category>self-hosted</category>
            <category>privacy</category>
            <category>local</category>
            <enclosure url="https://saschb2b.com/posts/opencode-fortress-in-clouds.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[From Skeptic to Power User - My Journey with AI-Assisted Development]]></title>
            <link>https://saschb2b.com/ko/blog/ai-workflow-evolution</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/ai-workflow-evolution</guid>
            <pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[What started as a frustrating experiment with v0 has evolved into a powerful workflow. A story about v0 Max Mode, self-built tools, and the art of using AI correctly.]]></description>
            <category>AI</category>
            <category>v0</category>
            <category>Vercel</category>
            <category>workflow</category>
            <category>productivity</category>
            <category>coding assistant</category>
            <category>LLM</category>
            <category>developer tools</category>
            <category>automation</category>
            <enclosure url="https://saschb2b.com/posts/patchPigeon.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[v0 from Vercel - Collaborative AI assistant]]></title>
            <link>https://saschb2b.com/ko/blog/vercel-v0</link>
            <guid isPermaLink="false">https://saschb2b.com/ko/blog/vercel-v0</guid>
            <pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[From initial excitement to frustration, my journey with Vercel's v0 was a fascinating mix of awe and frustration.]]></description>
            <category>v0</category>
            <category>Vercel</category>
            <category>AI</category>
            <category>code generation</category>
            <category>React</category>
            <category>Next.js</category>
            <category>frontend</category>
            <category>developer tools</category>
            <enclosure url="https://saschb2b.com/posts/v0-ide.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>