<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Santiago Molina | santi020k RSS Feed</title><description>Writing on software, reading, gaming, and everyday discoveries.</description><link>https://santi020k.com/</link><item><title>Open-sourcing authentication without sharing accounts</title><link>https://santi020k.com/blog/open-sourcing-santi020k-auth-cloudflare/</link><guid isPermaLink="true">https://santi020k.com/blog/open-sourcing-santi020k-auth-cloudflare/</guid><description>Why I made @santi020k/auth-cloudflare public, how it reuses email-code and passkey policy across Cloudflare applications, and where the shared boundary deliberately ends.</description><pubDate>Fri, 25 Sep 2026 13:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>authentication</category><category>cloudflare-workers</category><category>passkeys</category><category>security</category><category>open-source</category><author>Santiago Molina</author></item><item><title>How I Built the santi020k Developer Tool Ecosystem</title><link>https://santi020k.com/blog/building-santi020k-developer-tool-ecosystem/</link><guid isPermaLink="true">https://santi020k.com/blog/building-santi020k-developer-tool-ecosystem/</guid><description>How Lumen, ESLint Config Basic, Quality, Astro Doctor, Commitprompt, Dep Beacon, OG, Theme, and Auth form one practical system for my projects.</description><pubDate>Thu, 24 Sep 2026 22:45:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>developer-experience</category><category>developer-tools</category><category>open-source</category><category>automation</category><category>design-systems</category><author>Santiago Molina</author></item><item><title>What Changed When I Started Writing Architecture Notes Every Month</title><link>https://santi020k.com/blog/what-changed-when-i-started-writing-architecture-notes-every-month/</link><guid isPermaLink="true">https://santi020k.com/blog/what-changed-when-i-started-writing-architecture-notes-every-month/</guid><description>A year of monthly architecture notes changed how I review systems, how I catch drift, and how I explain decisions to the people who inherit them.</description><pubDate>Fri, 11 Sep 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>architecture</category><category>documentation</category><category>software-design</category><category>engineering-culture</category><author>Santiago Molina</author></item><item><title>Why I Moved from VS Code-Based Editors to Zed</title><link>https://santi020k.com/blog/why-i-moved-to-zed/</link><guid isPermaLink="true">https://santi020k.com/blog/why-i-moved-to-zed/</guid><description>Why Zed became my editor of choice: responsive work across multiple projects, flexible AI integrations, and Dep Beacon now available as a Zed extension.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>zed</category><category>developer-experience</category><category>productivity</category><category>ai</category><category>developer-tools</category><author>Santiago Molina</author></item><item><title>How I Got R.E.P.O. Running on Mac Without Whisky</title><link>https://santi020k.com/blog/run-repo-on-mac-with-silo-dxmt/</link><guid isPermaLink="true">https://santi020k.com/blog/run-repo-on-mac-with-silo-dxmt/</guid><description>A tested Apple silicon setup for running R.E.P.O. through Silo, Wine, and DXMT, including the DirectX graphics failure and its exact fix.</description><pubDate>Fri, 04 Sep 2026 18:56:45 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>macos</category><category>apple-silicon</category><category>gaming</category><category>wine</category><category>dxmt</category><author>Santiago Molina</author></item><item><title>Building RoadScore: An Offline Road-Trip Game for One Shared Phone</title><link>https://santi020k.com/blog/building-roadscore-offline-road-trip-game/</link><guid isPermaLink="true">https://santi020k.com/blog/building-roadscore-offline-road-trip-game/</guid><description>How I designed RoadScore around a co-pilot, an offline catalog, flexible trip sessions, and privacy boundaries that keep game data on the device.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>roadscore</category><category>expo</category><category>react-native</category><category>offline-first</category><category>game-development</category><category>accessibility</category><author>Santiago Molina</author></item><item><title>How I Flashed International Firmware on an Xteink X4</title><link>https://santi020k.com/blog/flash-xteink-x4-international-firmware/</link><guid isPermaLink="true">https://santi020k.com/blog/flash-xteink-x4-international-firmware/</guid><description>A tested guide to replacing Chinese Xteink X4 firmware with the international release by using its microSD updater when USB flashing is unavailable.</description><pubDate>Thu, 03 Sep 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>reading</category><category>xteink</category><category>e-reader</category><category>firmware</category><category>hardware</category><category>troubleshooting</category><author>Santiago Molina</author></item><item><title>Deterministic Open Graph images without design lock-in</title><link>https://santi020k.com/blog/deterministic-open-graph-images-without-design-lock-in/</link><guid isPermaLink="true">https://santi020k.com/blog/deterministic-open-graph-images-without-design-lock-in/</guid><description>Why I separated social-image generation mechanics from project-owned visuals, then built caching, safe cleanup, worker concurrency, and CI checks around that boundary.</description><pubDate>Sat, 22 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>open-graph</category><category>typescript</category><category>nodejs</category><category>developer-experience</category><category>build-tools</category><author>Santiago Molina</author></item><item><title>Coolstead: Safety-first cooling for a Mac</title><link>https://santi020k.com/blog/coolstead-safety-first-mac-cooling/</link><guid isPermaLink="true">https://santi020k.com/blog/coolstead-safety-first-mac-cooling/</guid><description>What it takes to design a native fan-control utility around bounded requests, invalid sensor data, reversible behavior, and macOS as the final safety layer.</description><pubDate>Fri, 21 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>macos</category><category>swift</category><category>hardware</category><category>safety-engineering</category><category>native-apps</category><author>Santiago Molina</author></item><item><title>One quality command across polyglot repositories</title><link>https://santi020k.com/blog/one-quality-command-across-polyglot-repositories/</link><guid isPermaLink="true">https://santi020k.com/blog/one-quality-command-across-polyglot-repositories/</guid><description>How I built a native CLI that coordinates existing analyzers across Rust, Swift, Android, Kotlin, JavaScript, and Astro without flattening their ecosystem-specific strengths.</description><pubDate>Fri, 21 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>rust</category><category>code-quality</category><category>developer-experience</category><category>ci-cd</category><category>tooling</category><author>Santiago Molina</author></item><item><title>Between Contractions: Local-First Partner Sync</title><link>https://santi020k.com/blog/between-contractions-sync-critical-path/</link><guid isPermaLink="true">https://santi020k.com/blog/between-contractions-sync-critical-path/</guid><description>How I designed optional cross-platform Partner Sync without making a contraction timer depend on the network, an account, or a central history database.</description><pubDate>Fri, 21 Aug 2026 07:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>distributed-systems</category><category>cloudflare</category><category>websockets</category><category>swiftui</category><category>android</category><category>local-first</category><author>Santiago Molina</author></item><item><title>Why I Built Between Contractions</title><link>https://santi020k.com/blog/why-i-built-between-contractions/</link><guid isPermaLink="true">https://santi020k.com/blog/why-i-built-between-contractions/</guid><description>How waiting for Aarón became a calm, private contraction timer across the web, iOS, Android, watches, widgets, and partner devices.</description><pubDate>Thu, 20 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>product-engineering</category><category>swiftui</category><category>android</category><category>astro</category><category>privacy</category><category>personal-projects</category><author>Santiago Molina</author></item><item><title>Astro and Alpine Patterns for Fast Content-Heavy Sites</title><link>https://santi020k.com/blog/astro-and-alpine-patterns-for-fast-content-heavy-sites/</link><guid isPermaLink="true">https://santi020k.com/blog/astro-and-alpine-patterns-for-fast-content-heavy-sites/</guid><description>The Astro and Alpine.js patterns that keep content-heavy sites fast without giving up the interactive details that make them feel polished.</description><pubDate>Fri, 14 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>astro</category><category>alpine</category><category>performance</category><category>frontend</category><category>javascript</category><author>Santiago Molina</author></item><item><title>PostLens: A private on-device content studio</title><link>https://santi020k.com/blog/postlens-private-on-device-content-studio/</link><guid isPermaLink="true">https://santi020k.com/blog/postlens-private-on-device-content-studio/</guid><description>Why PostLens keeps selection, scoring, enhancement, composition, and caption preparation on the iPhone while making optional generative handoffs explicit.</description><pubDate>Fri, 14 Aug 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>ios</category><category>swiftui</category><category>on-device-ai</category><category>privacy</category><category>photography</category><author>Santiago Molina</author></item><item><title>Expanding Santi020k Theme from editor to terminal</title><link>https://santi020k.com/blog/expanding-santi020k-theme-to-the-terminal/</link><guid isPermaLink="true">https://santi020k.com/blog/expanding-santi020k-theme-to-the-terminal/</guid><description>How a VS Code palette became a generated terminal system with six application formats, three Starship styles, managed shells, validation, and Homebrew releases.</description><pubDate>Wed, 15 Jul 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>terminal</category><category>design-systems</category><category>developer-experience</category><category>homebrew</category><category>open-source</category><author>Santiago Molina</author></item><item><title>Shipping macOS tools with a personal Homebrew tap</title><link>https://santi020k.com/blog/shipping-macos-tools-with-a-homebrew-tap/</link><guid isPermaLink="true">https://santi020k.com/blog/shipping-macos-tools-with-a-homebrew-tap/</guid><description>How I separated product code from distribution metadata and turned signed terminal releases into familiar Homebrew install and upgrade commands.</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>homebrew</category><category>macos</category><category>release-engineering</category><category>developer-experience</category><category>open-source</category><author>Santiago Molina</author></item><item><title>Designing ESLint Packages Teams Actually Adopt</title><link>https://santi020k.com/blog/designing-eslint-packages-teams-actually-adopt/</link><guid isPermaLink="true">https://santi020k.com/blog/designing-eslint-packages-teams-actually-adopt/</guid><description>What separates ESLint configurations that spread across a codebase from ones that get removed after the first sprint.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>eslint</category><category>code-quality</category><category>javascript</category><category>typescript</category><category>developer-experience</category><author>Santiago Molina</author></item><item><title>Lumen UI: One system, three frameworks</title><link>https://santi020k.com/blog/lumen-ui-one-system-three-frameworks/</link><guid isPermaLink="true">https://santi020k.com/blog/lumen-ui-one-system-three-frameworks/</guid><description>How I built 123 accessible primitives for Astro, React, and Web Components while sharing tokens and behavior without forcing one runtime model.</description><pubDate>Sat, 04 Jul 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>design-systems</category><category>astro</category><category>react</category><category>web-components</category><category>accessibility</category><author>Santiago Molina</author></item><item><title>Dep Beacon: Dependency Signals Inside VS Code</title><link>https://santi020k.com/blog/dep-beacon-vscode-extension/</link><guid isPermaLink="true">https://santi020k.com/blog/dep-beacon-vscode-extension/</guid><description>Why I built Dep Beacon, a VS Code extension that keeps npm update paths, pnpm catalog context, and OSV security warnings inside manifests.</description><pubDate>Wed, 01 Jul 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>vscode</category><category>developer-experience</category><category>dependencies</category><category>security</category><category>open-source</category><author>Santiago Molina</author></item><item><title>Astro Doctor: A Health Check for Astro Codebases</title><link>https://santi020k.com/blog/astro-doctor-announcement/</link><guid isPermaLink="true">https://santi020k.com/blog/astro-doctor-announcement/</guid><description>Why I built Astro Doctor: a CLI, ESLint plugin, editor extension, GitHub Action, and agent skill system for catching Astro anti-patterns early.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>astro</category><category>developer-experience</category><category>performance</category><category>accessibility</category><category>open-source</category><author>Santiago Molina</author></item><item><title>What Is New in @santi020k/eslint-config-basic v2.0</title><link>https://santi020k.com/blog/eslint-config-basic-version-2/</link><guid isPermaLink="true">https://santi020k.com/blog/eslint-config-basic-version-2/</guid><description>Explore @santi020k/eslint-config-basic v2 with ESLint 10, one-package setup, lazy framework support, monorepo tooling, lite mode, and CLI checks.</description><pubDate>Sat, 20 Jun 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>eslint</category><category>javascript</category><category>typescript</category><category>developer-experience</category><category>open-source</category><author>Santiago Molina</author></item><item><title>Why Developer Experience Work Should Be Measured Like Product Work</title><link>https://santi020k.com/blog/why-developer-experience-work-should-be-measured-like-product-work/</link><guid isPermaLink="true">https://santi020k.com/blog/why-developer-experience-work-should-be-measured-like-product-work/</guid><description>DX improvements that cannot be measured rarely survive long enough to compound. Treating them like product work changes that.</description><pubDate>Fri, 12 Jun 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>developer-experience</category><category>engineering-culture</category><category>metrics</category><category>leadership</category><author>Santiago Molina</author></item><item><title>Building Aaronmgz as a family platform</title><link>https://santi020k.com/blog/building-aaronmgz-as-a-family-platform/</link><guid isPermaLink="true">https://santi020k.com/blog/building-aaronmgz-as-a-family-platform/</guid><description>How a nautical personal site became a shared family platform for messages, invitations, administration, and a long-lived digital home.</description><pubDate>Thu, 04 Jun 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>astro</category><category>nextjs</category><category>cloudflare</category><category>product-architecture</category><category>personal-projects</category><author>Santiago Molina</author></item><item><title>Playwright Accessibility Checks That Teams Keep Running</title><link>https://santi020k.com/blog/playwright-accessibility-checks-that-teams-keep-running/</link><guid isPermaLink="true">https://santi020k.com/blog/playwright-accessibility-checks-that-teams-keep-running/</guid><description>How to add accessibility automation to your Playwright suite in a way that is fast enough to stay in the workflow and specific enough to actually catch problems.</description><pubDate>Fri, 15 May 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>accessibility</category><category>playwright</category><category>testing</category><category>e2e</category><category>developer-experience</category><author>Santiago Molina</author></item><item><title>Muted Commands Make AI Automation Faster and Cheaper</title><link>https://santi020k.com/blog/muted-commands-make-ai-automation-faster-and-cheaper/</link><guid isPermaLink="true">https://santi020k.com/blog/muted-commands-make-ai-automation-faster-and-cheaper/</guid><description>AI agents rerun checks constantly. Quiet logs, compact reporters, and parallel verification reduce token waste without lowering the quality bar.</description><pubDate>Wed, 29 Apr 2026 15:00:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>ai</category><category>automation</category><category>developer-experience</category><category>testing</category><category>ci-cd</category><author>Santiago Molina</author></item><item><title>AI Coding Is Probabilistic. Your Delivery Process Should Not Be.</title><link>https://santi020k.com/blog/ai-coding-is-probabilistic-your-delivery-process-should-not-be/</link><guid isPermaLink="true">https://santi020k.com/blog/ai-coding-is-probabilistic-your-delivery-process-should-not-be/</guid><description>AI speeds up code changes, but ESLint, tests, snapshots, and end-to-end checks are what keep probabilistic output from turning into production risk.</description><pubDate>Wed, 15 Apr 2026 15:30:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>ai</category><category>eslint</category><category>testing</category><category>e2e</category><category>developer-experience</category><author>Santiago Molina</author></item><item><title>Why I Moved My ESLint Library to @santi020k/eslint-config-basic</title><link>https://santi020k.com/blog/why-i-moved-my-eslint-library-to-eslint-config-basic/</link><guid isPermaLink="true">https://santi020k.com/blog/why-i-moved-my-eslint-library-to-eslint-config-basic/</guid><description>Why I deprecated @santi020k/eslint-config-santi020k in favor of a composable monorepo with clearer packages, better docs, and stronger DX.</description><pubDate>Wed, 01 Apr 2026 18:30:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>eslint</category><category>flat-config</category><category>developer-experience</category><category>open-source</category><category>typescript</category><author>Santiago Molina</author></item><item><title>Avoid Inverted Conditionals When Clarity Matters</title><link>https://santi020k.com/blog/avoid-inverted-conditionals-when-clarity-matters/</link><guid isPermaLink="true">https://santi020k.com/blog/avoid-inverted-conditionals-when-clarity-matters/</guid><description>Positive conditionals usually reduce mental load and make branches easier to scan, review, and change.</description><pubDate>Mon, 13 Oct 2025 12:56:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>readability</category><category>javascript</category><category>frontend</category><category>clean-code</category><author>Santiago Molina</author></item><item><title>A Release Process That Reduces Drama</title><link>https://santi020k.com/blog/a-release-process-that-reduces-drama/</link><guid isPermaLink="true">https://santi020k.com/blog/a-release-process-that-reduces-drama/</guid><description>A release process should lower stress, tighten feedback loops, and make production changes easier to trust.</description><pubDate>Sun, 05 Oct 2025 18:44:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>release-management</category><category>git</category><category>qa</category><category>delivery</category><author>Santiago Molina</author></item><item><title>Code Standards That Scale With a Team</title><link>https://santi020k.com/blog/code-standards-that-scale-with-a-team/</link><guid isPermaLink="true">https://santi020k.com/blog/code-standards-that-scale-with-a-team/</guid><description>The version of coding standards I would actually hand to a growing frontend team today.</description><pubDate>Sun, 14 Sep 2025 14:18:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>engineering-standards</category><category>typescript</category><category>frontend</category><category>team-process</category><author>Santiago Molina</author></item><item><title>Responsive Design Standards That Scale Across Components</title><link>https://santi020k.com/blog/responsive-design-standards-that-scale-across-components/</link><guid isPermaLink="true">https://santi020k.com/blog/responsive-design-standards-that-scale-across-components/</guid><description>Responsive work gets easier when breakpoints and layout decisions are treated like a shared system.</description><pubDate>Fri, 12 Sep 2025 16:40:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>responsive-design</category><category>frontend</category><category>design-systems</category><category>ui-engineering</category><author>Santiago Molina</author></item><item><title>Git Best Practices for Calm Collaboration</title><link>https://santi020k.com/blog/git-best-practices-for-calm-collaboration/</link><guid isPermaLink="true">https://santi020k.com/blog/git-best-practices-for-calm-collaboration/</guid><description>Simple commit and pull-request habits that reduce review friction and make collaboration calmer.</description><pubDate>Mon, 21 Jul 2025 13:10:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>git</category><category>pull-requests</category><category>collaboration</category><category>developer-experience</category><author>Santiago Molina</author></item><item><title>Write Better Review Feedback with Conventional Comments</title><link>https://santi020k.com/blog/write-better-review-feedback-with-conventional-comments/</link><guid isPermaLink="true">https://santi020k.com/blog/write-better-review-feedback-with-conventional-comments/</guid><description>A lightweight review language that makes feedback clearer, kinder, and easier to act on.</description><pubDate>Sat, 17 May 2025 17:34:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>code-review</category><category>engineering-culture</category><category>communication</category><category>git</category><author>Santiago Molina</author></item><item><title>Avoid Magic Strings in TypeScript and JavaScript</title><link>https://santi020k.com/blog/avoid-magic-strings-in-typescript-and-javascript/</link><guid isPermaLink="true">https://santi020k.com/blog/avoid-magic-strings-in-typescript-and-javascript/</guid><description>Replace ad-hoc string literals with clearer domain language, stronger typing, and safer refactors.</description><pubDate>Sat, 29 Mar 2025 14:22:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>typescript</category><category>javascript</category><category>code-quality</category><category>refactoring</category><author>Santiago Molina</author></item><item><title>Common Code Pitfalls That Signal Maintenance Risk</title><link>https://santi020k.com/blog/common-code-pitfalls-that-signal-maintenance-risk/</link><guid isPermaLink="true">https://santi020k.com/blog/common-code-pitfalls-that-signal-maintenance-risk/</guid><description>The code smells that usually predict rising maintenance cost before a team feels the full pain.</description><pubDate>Tue, 07 Jan 2025 15:08:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>code-quality</category><category>maintainability</category><category>refactoring</category><category>software-design</category><author>Santiago Molina</author></item><item><title>Skin in the Game for Software Teams</title><link>https://santi020k.com/blog/skin-in-the-game-for-software-teams/</link><guid isPermaLink="true">https://santi020k.com/blog/skin-in-the-game-for-software-teams/</guid><description>Why strong engineers care about product outcomes, users, and system health instead of stopping at ticket completion.</description><pubDate>Sun, 08 Dec 2024 16:12:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>engineering-culture</category><category>leadership</category><category>product-thinking</category><category>software-teams</category><author>Santiago Molina</author></item><item><title>Boosting Code Quality and Efficiency with My ESLint Configuration Library</title><link>https://santi020k.com/blog/boosting-code-quality-and-efficiency-with-my-eslint-configuration-library/</link><guid isPermaLink="true">https://santi020k.com/blog/boosting-code-quality-and-efficiency-with-my-eslint-configuration-library/</guid><description>Reusable ESLint library for React, Next.js, and TypeScript projects. Enforces code quality with flat config support and simplifies the move from ESLint 8 to 9.</description><pubDate>Sat, 23 Nov 2024 19:27:02 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>react-native</category><category>react</category><category>eslint</category><category>typescript</category><category>eslint-config</category><author>Santiago Molina</author></item><item><title>Migrate ESLint 8 or Less to ESLint 9</title><link>https://santi020k.com/blog/migrate-eslint-8-or-less-to-eslint-9/</link><guid isPermaLink="true">https://santi020k.com/blog/migrate-eslint-8-or-less-to-eslint-9/</guid><description>A practical guide to moving from ESLint 8 to flat config in ESLint 9, with a cleaner setup for React, Next.js, and TypeScript projects.</description><pubDate>Sun, 19 May 2024 15:41:30 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>eslint</category><category>typescript</category><category>react</category><category>nextjs</category><category>migration</category><author>Santiago Molina</author></item><item><title>Authentication and Authorization in Next.js Applications with Supabase</title><link>https://santi020k.com/blog/authentication-and-authorization-in-next-js-applications-with-supabase/</link><guid isPermaLink="true">https://santi020k.com/blog/authentication-and-authorization-in-next-js-applications-with-supabase/</guid><description>Build maintainable Next.js authentication with Supabase SSR, protected routes, session handling, and clear authorization patterns for production teams.</description><pubDate>Thu, 25 Apr 2024 18:20:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>supabase</category><category>authentication</category><category>authorization</category><category>nextjs</category><category>typescript</category><author>Santiago Molina</author></item><item><title>Continuous Integration and Deployment for Next.js Projects</title><link>https://santi020k.com/blog/continuous-integration-and-deployment-for-next-js-projects/</link><guid isPermaLink="true">https://santi020k.com/blog/continuous-integration-and-deployment-for-next-js-projects/</guid><description>Build a practical Next.js CI/CD pipeline with GitHub Actions that installs cleanly, runs linting and tests, verifies builds, and deploys trusted code.</description><pubDate>Thu, 18 Apr 2024 17:12:00 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>ci-cd</category><category>github-actions</category><category>nextjs</category><category>react</category><category>deployment</category><author>Santiago Molina</author></item><item><title>Testing React Components with Vitest and React Testing Library</title><link>https://santi020k.com/blog/testing-react-components-with-vitest-and-react-testing-library/</link><guid isPermaLink="true">https://santi020k.com/blog/testing-react-components-with-vitest-and-react-testing-library/</guid><description>A practical setup for testing React components with Vitest and React Testing Library, focused on behavior, confidence, and maintainable frontend code.</description><pubDate>Thu, 11 Apr 2024 15:46:53 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>vitest</category><category>testing-library</category><category>react</category><category>typescript</category><category>nextjs</category><author>Santiago Molina</author></item><item><title>Configuring MongoDB with Homebrew on macOS: Converting a Standalone Instance to a Replica Set</title><link>https://santi020k.com/blog/configuring-mongodb-with-homebrew-on-macos-converting-a-standalone-instance-to-a-replica-set/</link><guid isPermaLink="true">https://santi020k.com/blog/configuring-mongodb-with-homebrew-on-macos-converting-a-standalone-instance-to-a-replica-set/</guid><description>Convert a standalone MongoDB instance to a replica set on macOS using Homebrew. Covers mongod.conf changes, replication settings, and local verification steps.</description><pubDate>Fri, 05 Apr 2024 18:33:37 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>mongo</category><category>configuration</category><category>homebrew</category><category>mac</category><author>Santiago Molina</author></item><item><title>Storybook in Action with Next.js, Tailwind and TypeScript</title><link>https://santi020k.com/blog/storybook-in-action-with-next-js-tailwind-and-typescript/</link><guid isPermaLink="true">https://santi020k.com/blog/storybook-in-action-with-next-js-tailwind-and-typescript/</guid><description>Set up Storybook in a Next.js project with Tailwind and TypeScript. Build isolated UI components, write stories, and improve design system collaboration.</description><pubDate>Fri, 29 Mar 2024 00:11:10 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>typescript</category><category>tailwind</category><category>storybook</category><category>react</category><category>nextjs</category><author>Santiago Molina</author></item><item><title>Development Workflow with Husky for Next.js, ESLint, and Vitest Integration</title><link>https://santi020k.com/blog/development-workflow-with-husky-for-next-js-eslint-and-vitest-integration/</link><guid isPermaLink="true">https://santi020k.com/blog/development-workflow-with-husky-for-next-js-eslint-and-vitest-integration/</guid><description>A practical Husky setup for Next.js projects so linting, testing, and pre-push checks become part of the team workflow instead of a last-minute cleanup step.</description><pubDate>Thu, 21 Mar 2024 17:47:55 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>pre-commit</category><category>vitest</category><category>husky</category><category>react</category><category>nextjs</category><author>Santiago Molina</author></item><item><title>Building the Best Next.js TypeScript Standard Vitest ESLint Configuration</title><link>https://santi020k.com/blog/building-the-best-next-js-typescript-standard-vitest-eslint-configuration/</link><guid isPermaLink="true">https://santi020k.com/blog/building-the-best-next-js-typescript-standard-vitest-eslint-configuration/</guid><description>Configure ESLint for Next.js with TypeScript and Vitest integration. Covers code quality rules, import conventions, and a scalable setup for React projects.</description><pubDate>Thu, 14 Mar 2024 18:01:55 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>eslint</category><category>vitest</category><category>typescript</category><category>standards</category><category>react</category><author>Santiago Molina</author></item><item><title>Atomic Module Component Structure for React</title><link>https://santi020k.com/blog/atomic-module-component-structure-for-react/</link><guid isPermaLink="true">https://santi020k.com/blog/atomic-module-component-structure-for-react/</guid><description>Structure React projects using Atomic Module Components — covering file layout, naming conventions, and scalability patterns for growing TypeScript codebases.</description><pubDate>Thu, 07 Mar 2024 22:05:53 GMT</pubDate><dc:creator>Santiago Molina</dc:creator><category>development</category><category>react</category><category>nextjs</category><category>typescript</category><author>Santiago Molina</author></item></channel></rss>