All blogs / JavaScript / TypeScript
alexop.dev
A Personal Blog from a simple web developer
JavaScript / TypeScriptAI / MLTesting / QAFrontend / CSS / browsers
- Posts
- 116 from 23 Sep 2022 to 24 Oct 2026
- Posting
- weekly (57 in the last year)
- Kind
- personal blog
- Feed
- https://alexop.dev/rss.xml
2026 45
- Goodbye vue-tsc? Moving a Vue Project to TypeScript 7.1 Content Mappers
- Learning from pstack: Build Your Own Reliable Coding Agent Stack
- I think software teams will shrink to 2-4 people plus agents
- The death of the software developer
- The Dirty Flag Pattern, Explained with Snake
- pstack's Playbooks, Explained as Factorio Factories
- Run Only the Playwright Tests Your Change Can Affect
- How I made exercise icons with Codex and ChatGPT
- Hexagonal Architecture in Vue: Where to Put Your Code and Why
- Enforce Tailwind CSS Design Tokens in Vue with @shadcn/lint
- What my first Tacon taught me: give AI a better testing process and know your audience
- What Should a Green Test Prove? Vue Testing with Vitest Browser Mode
- Stop using the Clanker for my writing
- The Democratization of Software Development
- Clean Code Is Sexy Again: Making Your Vue Project AI-Ready
- How VS Code Copilot Chat Compacts Your Conversation
- Open Knowledge Format: I Already Do This, and Now It Has a Name
- The Four Types of Memory for AI Agents (and How Claude Code Implements Each)
- Build Your Own Eval Harness from Scratch with Bun and claude -p
- I Rebuilt Cloudflare's AI Code Review in a 250-Line Workflow
- How I Became an International Speaker
- Claude Code Workflows: Deterministic Multi-Agent Orchestration
- How to do AFK Coding
- How to Write UI Components That Stay Flexible
- A Modern Quality Pipeline and Testing Strategy for Frontend Projects
- Exploratory QA with AI Agents: Building a Site-Agnostic Harness
- How to Use Claude Code as an AI QA Tester with Agent Browser
- How to Catch Hydration Errors in Playwright Tests (Astro, Nuxt, React SSR)
- App Screenshots: An AI Coding Agent Skill for Visual Documentation
- The Software Factory: Why Your Team Will Never Work the Same Again
- Building a Real-Time Todo App with Jazz and Vue 3
- How I Turned Claude Code's Thinking Indicator into a One Piece Adventure
- How I Added Sound Effects to Claude Code with Hooks
- Building a Walkthrough Skill for AI Coding Agents
- Claude Code Agent Teams: How Multiple Sessions Coordinate (2026)
- VMark: Hand-Drawn Annotations for Presentations
- Spec-Driven Development with Claude Code in Action
- My Opinionated ESLint + Oxlint Setup for Vue Projects
- Next Level GitHub Copilot: Agents, Instructions & Automation in VS Code
- What's New in VS Code Copilot: January 2026 Update
- Presentation Mode: Turn Your Blog Posts into Slides
- Stop Bloating Your CLAUDE.md: Progressive Disclosure for AI Coding Tools
- How I Built a Skill That Lets Me Talk to Claude's Conversation Memory
- In Five Years, Developers Won't Write Code By Hand
- Mutation Testing with AI Agents When Stryker Doesn't Work
2025 44
- Why You Don't Need the Nuxt MCP When You Use Claude Code
- Claude Code Customization Guide (2026): CLAUDE.md vs Skills vs Subagents
- How to Customize Your Claude Code Status Line
- Vue 3 Testing Pyramid: A Practical Guide with Vitest Browser Mode
- Building an AI QA Engineer with Claude Code and Playwright MCP
- Vue Composables Style Guide: Lessons from VueUse's Codebase
- A Claude Code TDD Skill: Forcing Red-Green-Refactor Discipline
- Claude Code Notifications: Get Alerts When Tasks Finish (Hooks Setup)
- Claude Code Slash Commands: A Complete Guide (2026)
- Claude Code Explained (2026): MCP, Skills, Subagents, Hooks & Plugins
- How to Build a Claude Code Plugin: Skills, Agents & Commands
- Building a Modular Monolith with Nuxt Layers: A Practical Guide
- How to Handle API Calls in Pinia with The Elm Pattern
- How to Write Better Pinia Stores with the Elm Pattern
- How to build Microfrontends with Module Federation and Vue
- Why You Need Something Hard in Your Life
- What Is the Model Context Protocol (MCP)? How It Works
- How VueUse Solves SSR Window Errors in Vue Applications
- Mastering GraphQL Fragments in Vue 3: Component-Driven Data Fetching
- How I Use Claude Code for Doing SEO Audits
- The Age of the Generalist
- How I Use LLMs
- No Server, No Database: Smarter Related Posts in Astro with `transformers.js`
- Type-Safe GraphQL Queries in Vue 3 with GraphQL Code Generator
- LLM-Powered Search: o4-mini-high vs o3 vs Deep Research
- Watching OpenAI's o3 Model Sweat Over a Paul Morphy Mate-in-2
- Getting Started with GraphQL in Vue 3 — Complete Setup with Apollo
- How ChatGPT Works (for Dummies)
- Stop White Box Testing Vue Components Use Testing Library Instead
- The Computed Inlining Refactoring Pattern in Vue
- Are LLMs Creative?
- The Inline Vue Composables Refactoring pattern
- Math Notation from 0 to 1: A Beginner's Guide
- How to Implement a Cosine Similarity Function in TypeScript for Vector Comparison
- How I Added llms.txt to My Astro Blog
- How to Do Visual Regression Testing in Vue with Vitest?
- How to Test Vue Router Components with Testing Library and Vitest
- Building a Pinia Plugin for Cross-Tab State Syncing
- How to Use AI for Effective Diagram Creation: A Guide to ChatGPT and Mermaid
- The Browser That Speaks 200 Languages: Building an AI Translator Without APIs
- Solving Prop Drilling in Vue: Modern State Management Strategies
- Building Local-First Apps with Vue and Dexie.js
- Adding Obsidian-Style Wiki Links to My Astro Blog
- Unlocking Reading Insights: A Guide to Data Analysis with Claude and Readwise
2024 20
- The What Why and How of Goal Settings
- XML-Style Tagged Prompts: A Framework for Reliable AI Responses
- How to Use the Variant Props Pattern in Vue
- SQLite in Vue: Complete Guide to Building Offline-First Web Apps
- Create Dark Mode-Compatible Technical Diagrams in Astro with Excalidraw: A Complete Guide
- Frontend Testing Guide: 10 Essential Rules for Naming Tests
- Create a Native-Like App in 4 Steps: PWA Magic with Vue 3 and Vite
- Atomic Architecture: Structuring Vue and Nuxt Projects
- Bolt Your Presentations: AI-Powered Slides
- 10 Rules for Better Writing from the Book Economical Writing
- TypeScript Tutorial: Extracting All Keys from Nested Object
- TypeScript Snippets in Astro: Show, Don't Tell
- Vue 3.5's onWatcherCleanup: Mastering Side Effect Management in Vue Applications
- How to Build Your Own Vue-like Reactivity System from Scratch
- What is Local-first Web Development?
- Vue Accessibility Blueprint: 8 Steps
- How to Structure Vue Projects
- How to Persist User Data with LocalStorage in Vue
- How to Write Clean Vue Components
- The Problem with as in TypeScript: Why It's a Shortcut We Should Avoid
2023 6
- Exploring the Power of Square Brackets in TypeScript
- How to Test Vue Composables: A Comprehensive Guide with Vitest
- Robust Error Handling in TypeScript: A Journey from Naive to Rust-Inspired Solutions
- Mastering Vue 3 Composables: A Comprehensive Style Guide
- Best Practices for Error Handling in Vue Composables
- How to Improve Accessibility with Testing Library and jest-axe for Your Vue Application