Posts
26
Articles currently hosted on my site and cross-posted to Medium.
Posts
26
Articles currently hosted on my site and cross-posted to Medium.
Tags
62
Topics and themes covered in my writing across various publications.
Series
3
Grouped reading tracks so related posts are easier to follow in sequence.
Experience
9+
Years of writing and sharing engineering knowledge across the web.
Latest post first, then browse by topic and depth.
Why I built Astro Doctor: a CLI, ESLint plugin, editor extension, GitHub Action, and agent skill system for catching Astro anti-patterns early.
A practical tour of the shipped @santi020k/eslint-config-basic v2.0 release: ESLint 10, one main install, lazy frameworks, lite mode, monorepos, CLI checks, and AI standards.
In series: ESLint in Practice · Part 5
DX improvements that cannot be measured rarely survive long enough to compound. Treating them like product work changes that.
In series: The santi020k way · Part 12
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.
In series: Building a Production Next.js App · Part 8
AI agents rerun checks constantly. Quiet logs, compact reporters, and parallel verification reduce token waste without lowering the quality bar.
In series: The santi020k way · Part 11
AI speeds up code changes, but ESLint, tests, snapshots, and end-to-end checks are what keep probabilistic output from turning into production risk.
In series: The santi020k way · Part 10
Why I deprecated @santi020k/eslint-config-santi020k in favor of a composable monorepo with clearer packages, better docs, and stronger DX.
In series: ESLint in Practice · Part 3
Positive conditionals usually reduce mental load and make branches easier to scan, review, and change.
In series: The santi020k way · Part 9
A release process should lower stress, tighten feedback loops, and make production changes easier to trust.
In series: The santi020k way · Part 8
A new blog section collecting the principles I keep returning to around ownership, code quality, feedback, responsive thinking, and calmer releases.
This series turns a private set of notes into public writing. The throughline is simple: stronger teams care about the whole system, not just the local task in front of them.
The posts cover ownership, code smells, review language, Git habits, responsive standards, team conventions, release discipline, and small readability choices that compound over time.
Focus areas
It is the right track if you want the cultural and operational rules behind how I like to build software teams, not only the framework-specific implementation details.
Related posts now live in clearer tracks, so topics like Next.js delivery systems and ESLint tooling feel like connected reading instead of isolated entries.
A practical sequence for turning a fresh Next.js codebase into a product teams can lint, test, document, deploy, and secure with confidence.
A guided walkthrough from project structure to auth and delivery.
Browse seriesA focused track on config design, migrations, and the standards work that keeps code reviews sharper without slowing teams down.
Evergreen tooling notes for teams standardizing JavaScript and TypeScript work.
Browse seriesA running set of principles on ownership, review quality, code clarity, responsive thinking, and releases that do not rely on heroics.
Opinionated field notes on how strong software teams stay clear, calm, and accountable.
Browse seriesOne deep post each month, one refreshed evergreen guide. The archive compounds instead of aging.
Continuous Integration and Deployment for Next.js Projects
Testing React Components with Vitest and React Testing Library
Development Workflow with Husky for Next.js, ESLint, and Vitest Integration