https://alexop.dev/posts/create-ai-presentations-fast/
Bolt Your Presentations: AI-Powered Slides | alexop.dev
Oct 5, 2024 - Elevate your dev presentations with AI-powered tools. Learn to leverage Bolt, Slidev, and WebContainers for rapid, code-friendly slide creation. This guide...
presentations aiboltpoweredslidesalexop
https://alexop.dev/tils/
TILs | alexop.dev
A Personal Blog from a simple web developer
tilsalexopdev
https://alexop.dev/posts/how-to-use-ai-for-effective-diagram-creation-a-guide-to-chatgpt-and-mermaid/
How to Use AI for Effective Diagram Creation: A Guide to ChatGPT and Mermaid | alexop.dev
Learn how to leverage ChatGPT and Mermaid to create effective diagrams for technical documentation and communication.
use aieffectivediagramcreationguide
https://alexop.dev/tags/software-engineering/
Tag:software-engineering | alexop.dev
A Personal Blog from a simple web developer
software engineeringtagalexopdev
https://alexop.dev/posts/vueuse_composables_style_guide/
Vue Composables Style Guide: Lessons from VueUse's Codebase | alexop.dev
A practical guide for writing production-quality Vue 3 composables, distilled from studying VueUse's patterns for SSR safety, cleanup, and TypeScript.
style guidevuecomposableslessonscodebase
https://alexop.dev/tags/playwright/
Tag:playwright | alexop.dev
A Personal Blog from a simple web developer
tagplaywrightalexopdev
https://alexop.dev/tags/claude-code/
Tag:claude-code | alexop.dev
A Personal Blog from a simple web developer
claude codetagalexopdev
https://alexop.dev/posts/stop-bloating-your-claude-md-progressive-disclosure-ai-coding-tools/
Stop Bloating Your CLAUDE.md: Progressive Disclosure for AI Coding Tools | alexop.dev
AI coding tools are stateless—every session starts fresh. The solution isn't cramming everything into CLAUDE.md, but building a layered context system where...
ai coding toolsclaude mdstopbloatingprogressive
https://alexop.dev/tags/github-copilot/
Tag:github-copilot | alexop.dev
A Personal Blog from a simple web developer
tag githubcopilotalexopdev
https://alexop.dev/tags/teams/
Tag:teams | alexop.dev
A Personal Blog from a simple web developer
tag teamsalexopdev
https://alexop.dev/posts/automated-qa-claude-code-agent-browser-cli-github-actions/
How to Use Claude Code as an AI QA Tester with Agent Browser | alexop.dev
Claude Code and Agent Browser let you test your web app in a real browser without hardcoded selectors. Manual browser control, AI-driven exploration, and...
use claude codeai qaagent browsertesteralexop
https://alexop.dev/posts/what-is-model-context-protocol-mcp/
What Is the Model Context Protocol (MCP)? How It Works | alexop.dev
Learn how MCP (Model Context Protocol) standardizes AI tool integration, enabling LLMs to interact with external services, databases, and APIs through a...
model context protocolmcpworksalexopdev
https://alexop.dev/tags/refactoring/
Tag:refactoring | alexop.dev
A Personal Blog from a simple web developer
tagrefactoringalexopdev
https://alexop.dev/tags/reading/
Tag:reading | alexop.dev
A Personal Blog from a simple web developer
tagreadingalexopdev
https://alexop.dev/posts/type-safe-graphql-queries-vue3-codegen/
Type-Safe GraphQL Queries in Vue 3 with GraphQL Code Generator | alexop.dev
Part 2 of the Vue 3 + GraphQL series: generate fully-typed `useQuery` composables in Vue 3 with GraphQL Code Generator
type safecode generatorgraphqlqueriesvue
https://alexop.dev/posts/vmark-tutorial/
VMark: Hand-Drawn Annotations for Presentations | alexop.dev
Learn how to add animated hand-drawn annotations to your presentations using VMark. A complete tutorial covering all annotation types, colors, and timing...
hand drawnvmarkannotationspresentationsalexop
https://alexop.dev/tags/book-summary/
Tag:book-summary | alexop.dev
A Personal Blog from a simple web developer
book summarytagalexopdev
https://alexop.dev/tags/ai-agents/
Tag:ai-agents | alexop.dev
A Personal Blog from a simple web developer
tag aiagentsalexopdev
https://alexop.dev/posts/computed-inlining-refactoring-pattern-in-vue/
The Computed Inlining Refactoring Pattern in Vue | alexop.dev
Learn how to improve Vue component performance and readability by applying the Computed Inlining pattern - a technique inspired by Martin Fowler's Inline...
computedinliningrefactoringpatternvue
https://alexop.dev/tags/github-actions/
Tag:github-actions | alexop.dev
A Personal Blog from a simple web developer
tag githubactionsalexopdev
https://alexop.dev/posts/custom-tdd-workflow-claude-code-vue/
Forcing Claude Code to TDD: An Agentic Red-Green-Refactor Loop | alexop.dev
Build a custom TDD workflow with Claude Code using skills and subagents that enforce Red-Green-Refactor discipline for your Vue projects.
claude codered greenforcingtddagentic
https://alexop.dev/posts/building-local-first-apps-vue-dexie/
Building Local-First Apps with Vue and Dexie.js | alexop.dev
Learn how to create offline-capable, local-first applications using Vue 3 and Dexie.js. Discover patterns for data persistence, synchronization, and optimal...
building localfirstappsvuejs
https://alexop.dev/posts/typescript-extract-all-keys-nested-objects/
TypeScript Tutorial: Extracting All Keys from Nested Object | alexop.dev
Sep 23, 2024 - Learn how to extract all keys, including nested ones, from TypeScript objects using advanced type manipulation techniques. Improve your TypeScript skills and...
typescripttutorialextractingkeysnested
https://alexop.dev/tags/module-federation/
Tag:module-federation | alexop.dev
A Personal Blog from a simple web developer
tagmodulefederationalexopdev
https://alexop.dev/tags/types/
Tag:types | alexop.dev
A Personal Blog from a simple web developer
tagtypesalexopdev
https://alexop.dev/posts/building-real-time-todo-app-jazz-vue/
Building a Real-Time Todo App with Jazz and Vue 3 | alexop.dev
Build a real-time, offline-capable todo app with Jazz and Vue 3. Learn CoValues, drag-and-drop with fractional indexing, and shareable URLs. No backend needed.
real timebuildingtodoappjazz
https://alexop.dev/posts/how-to-persist-user-data-with-localstorage-in-vue/
How to Persist User Data with LocalStorage in Vue | alexop.dev
Apr 21, 2024 - Learn how to efficiently store and manage user preferences like dark mode in Vue applications using LocalStorage. This guide covers basic operations, addresses...
user datapersistlocalstoragevuealexop
https://alexop.dev/tags/excalidraw/
Tag:excalidraw | alexop.dev
A Personal Blog from a simple web developer
tagexcalidrawalexopdev
https://alexop.dev/tags/observability/
Tag:observability | alexop.dev
A Personal Blog from a simple web developer
tagobservabilityalexopdev
https://alexop.dev/posts/10-rules-better-writing-economical-writing-book/
10 Rules for Better Writing from the Book Economical Writing | alexop.dev
Sep 28, 2024 - Master 10 key writing techniques from Deirdre McCloskey's 'Economical Writing.' Learn to use active verbs, write clearly, and avoid common mistakes. Ideal for...
rulesbetterwritingbookeconomical
https://alexop.dev/posts/stop-white-box-testing-vue/
Stop White Box Testing Vue Components Use Testing Library Instead | alexop.dev
White Box testing makes your Vue tests fragile and misleading. In this post, I’ll show you how Testing Library helps you write Black Box tests that are...
white boxvue componentsstoptestinguse
https://alexop.dev/posts/vs-code-copilot-workshop/
Next Level GitHub Copilot: Agents, Instructions & Automation in VS Code | alexop.dev
Workshop covering the transformation from LLM to Agent, context engineering, AGENTS.md, subagents, and skills in VS Code Copilot.
next levelgithub copilotvs codeagentsinstructions
https://alexop.dev/
alexop.dev
A Personal Blog from a simple web developer
alexopdev
https://alexop.dev/tags/skills/
Tag:skills | alexop.dev
A Personal Blog from a simple web developer
tagskillsalexopdev
https://alexop.dev/tags/nuxt/
Tag:nuxt | alexop.dev
A Personal Blog from a simple web developer
tagnuxtalexopdev
https://alexop.dev/tags/ci/
Tag:ci | alexop.dev
A Personal Blog from a simple web developer
tagcialexopdev
https://alexop.dev/tags/recursion/
Tag:recursion | alexop.dev
A Personal Blog from a simple web developer
tagrecursionalexopdev
https://alexop.dev/search/
Search | alexop.dev
A Personal Blog from a simple web developer
searchalexopdev
https://alexop.dev/posts/from-tasks-to-swarms-agent-teams-in-claude-code/
From Tasks to Swarms: Agent Teams in Claude Code | alexop.dev
Agent teams let multiple Claude Code sessions coordinate, communicate, and self-organize. Here's how they work, when to use them, and what they cost.
agent teamsclaude codetasksswarmsalexop
https://alexop.dev/prompts/
Prompts | alexop.dev
Searchable collection of AI prompts, agents, instructions, and skills for Claude, Copilot, Cursor, and other tools. Filter by tool and category.
promptsalexopdev
https://alexop.dev/tags/llm/
Tag:llm | alexop.dev
A Personal Blog from a simple web developer
tagllmalexopdev
https://alexop.dev/notes/
Notes | alexop.dev
A Personal Blog from a simple web developer
notesalexopdev
https://alexop.dev/posts/catch-hydration-errors-playwright-tests/
How to Catch Hydration Errors in Playwright Tests (Astro, Nuxt, React SSR) | alexop.dev
A Playwright fixture that listens to the browser console for hydration mismatch warnings and fails your E2E tests when server and client HTML disagree.
catchhydrationerrorsplaywrighttests
https://alexop.dev/posts/xml-tagged-prompts-framework-reliable-ai-responses/
XML-Style Tagged Prompts: A Framework for Reliable AI Responses | alexop.dev
Learn how top AI engineers use XML-style prompts to consistently get structured, accurate responses from ChatGPT, Claude, and other LLMs. Step-by-step guide...
reliable aixmlstyletaggedprompts
https://alexop.dev/posts/mutation-testing-ai-agents-vitest-browser-mode/
Mutation Testing with AI Agents When Stryker Doesn't Work | alexop.dev
When Stryker doesn't support your test stack, AI agents can execute mutation testing manually. A practical approach for Vitest browser mode and Playwright.
ai agentsmutationtestingstrykerwork
https://alexop.dev/tags/graphql/
Tag:graphql | alexop.dev
A Personal Blog from a simple web developer
taggraphqlalexopdev
https://alexop.dev/tags/arrays/
Tag:arrays | alexop.dev
A Personal Blog from a simple web developer
tagarraysalexopdev
https://alexop.dev/posts/semantic-related-posts-astro-transformersjs/
No Server, No Database: Smarter Related Posts in Astro with `transformers.js` | alexop.dev
May 18, 2025 - How I used Hugging Face embeddings to create smart “Related Posts” for my Astro blog—no backend, no database, just TypeScript.
server databaserelated postssmarterastrotransformers
https://alexop.dev/posts/solving-prop-drilling-in-vue/
Solving Prop Drilling in Vue: Modern State Management Strategies | alexop.dev
Eliminate prop drilling in Vue apps using Composition API, Provide/Inject, and Pinia. Learn when to use each approach with practical examples.
state managementsolvingpropdrillingvue
https://alexop.dev/posts/building-conversation-search-skill-claude-code/
How I Built a Skill That Lets Me Talk to Claude's Conversation Memory | alexop.dev
How I built a skill that lets Claude search its own conversation history, turning it into a persistent coding partner that remembers past solutions.
builtskillletstalkclaude
https://alexop.dev/posts/presentation-mode-demo/
Presentation Mode: Turn Your Blog Posts into Slides | alexop.dev
Jan 24, 2026 - A complete demo of presentation mode with v-click animations and drawing annotations. Press P to see keyboard navigation, incremental reveals, and press D to...
blog postspresentationmodeturnslides
https://alexop.dev/posts/app-screenshots-claude-code-skill/
App Screenshots: An AI Coding Agent Skill for Visual Documentation | alexop.dev
Automate annotated screenshot documentation for any web app or live website using an AI coding agent skill. Works with Claude Code, Cursor, Windsurf, or any...
ai coding agentappscreenshotsskillvisual
https://alexop.dev/tags/search/
Tag:search | alexop.dev
A Personal Blog from a simple web developer
tag searchalexopdev
https://alexop.dev/tags/vitest/
Tag:vitest | alexop.dev
A Personal Blog from a simple web developer
tagvitestalexopdev
https://alexop.dev/posts/what-is-local-first-web-development/
What is Local-first Web Development? | alexop.dev
Nov 28, 2024 - What is local-first software and why does it matter? This guide covers local-first architecture, offline-capable apps with automatic sync, data ownership, and...
local firstweb developmentalexop
https://alexop.dev/posts/building_ai_qa_engineer_claude_code_playwright/
Building an AI QA Engineer with Claude Code and Playwright MCP | alexop.dev
Learn how to build an automated QA engineer using Claude Code and Playwright MCP that tests your web app like a real user, runs on every pull request, and...
ai qaclaude codeplaywright mcpbuildingengineer
https://alexop.dev/tags/vite/
Tag:vite | alexop.dev
A Personal Blog from a simple web developer
tagvitealexopdev
https://alexop.dev/posts/math-notation-from-0-to-1/
Math Notation from 0 to 1: A Beginner's Guide | alexop.dev
Learn the fundamental mathematical notations that form the building blocks of mathematical communication, from basic symbols to calculus notation.
mathnotationbeginnerguidealexop
https://alexop.dev/tags/local-first/
Tag:local-first | alexop.dev
A Personal Blog from a simple web developer
local firsttagalexopdev
https://alexop.dev/tags/type-inference/
Tag:type-inference | alexop.dev
A Personal Blog from a simple web developer
tagtypeinferencealexopdev
https://alexop.dev/tags/productivity/
Tag:productivity | alexop.dev
A Personal Blog from a simple web developer
tagproductivityalexopdev
https://alexop.dev/posts/claude-code-customization-guide-claudemd-skills-subagents/
Claude Code Customization: CLAUDE.md, Slash Commands, Skills, and Subagents | alexop.dev
The complete guide to customizing Claude Code. Compare CLAUDE.md, slash commands, skills, and subagents with practical examples showing when to use each.
claude codeslash commandscustomizationmdskills
https://alexop.dev/posts/how-to-write-clean-vue-components/
How to Write Clean Vue Components | alexop.dev
Jan 28, 2024 - There are many ways to write better Vue components. One of my favorite ways is to separate business logic into pure functions.
vue componentswritecleanalexopdev
https://alexop.dev/posts/spec-driven-development-claude-code-in-action/
Spec-Driven Development with Claude Code in Action | alexop.dev
A practical workflow for tackling large refactors with Claude Code using parallel research subagents, written specs, and the new task system for...
spec driven developmentclaude codeactionalexop
https://alexop.dev/posts/claude-code-slash-commands-guide/
How to Speed Up Your Claude Code Experience with Slash Commands | alexop.dev
Nov 22, 2025 - Learn how to transform Claude Code from a chatbot into a deterministic engine using Slash Commands. This guide covers the technical setup and a complete 'Full...
claude codeslash commandsspeedexperiencealexop
https://alexop.dev/posts/whats-new-vscode-copilot-january-2026/
What's New in VS Code Copilot: January 2026 Update | alexop.dev
Jan 24, 2026 - Major updates to VS Code Copilot including parallel subagent execution, a new skills system, deeper Claude integration with extended thinking, terminal...
vs codenewcopilotjanuaryupdate
https://alexop.dev/tags/components/
Tag:components | alexop.dev
A Personal Blog from a simple web developer
tagcomponentsalexopdev
https://alexop.dev/tags/vs-code/
Tag:vs-code | alexop.dev
A Personal Blog from a simple web developer
vs codetagalexopdev
https://alexop.dev/posts/supercharging-reading-comprehension-claude-readwise/
Unlocking Reading Insights: A Guide to Data Analysis with Claude and Readwise | alexop.dev
Discover how to transform your reading data into actionable insights by combining Readwise exports with Claude AI's powerful analysis capabilities
data analysisunlockingreadinginsightsguide
https://alexop.dev/tags/offline/
Tag:offline | alexop.dev
A Personal Blog from a simple web developer
tagofflinealexopdev
https://alexop.dev/posts/how-to-test-vue-composables/
How to Test Vue Composables: A Comprehensive Guide with Vitest | alexop.dev
Nov 10, 2024 - Learn how to effectively test Vue composables using Vitest. Covers independent and dependent composables, with practical examples and best practices.
comprehensive guidetestvuecomposablesalexop
https://alexop.dev/posts/compound-components-in-vue-shadcn/
How to Write UI Components That Stay Flexible | alexop.dev
Most components break under their second or third variant — props pile up, shells get copy-pasted. Here's how compound components (the pattern behind Reka UI...
ui componentswritestayflexiblealexop
https://alexop.dev/posts/the-what-why-and-how-of-goal-settings/
The What Why and How of Goal Settings | alexop.dev
A deep dive into the philosophy of goal-setting and personal development, exploring the balance between happiness and meaning while providing practical steps...
goalsettingsalexopdev
https://alexop.dev/posts/nuxt-layers-modular-monolith/
Building a Modular Monolith with Nuxt Layers: A Practical Guide | alexop.dev
Learn how to build scalable applications using Nuxt Layers to enforce clean architecture boundaries without the complexity of microservices.
practical guidebuildingmodularmonolithnuxt
https://alexop.dev/tags/workshop/
Tag:workshop | alexop.dev
A Personal Blog from a simple web developer
tagworkshopalexopdev
https://alexop.dev/posts/the-age-of-the-generalist/
The Age of the Generalist | alexop.dev
How AI is transforming software development and why high-agency generalists will thrive in this new era of technology.
agegeneralistalexopdev
https://alexop.dev/posts/are-llms-creative/
Are LLMs Creative? | alexop.dev
Exploring the fundamental nature of creativity in Large Language Models compared to human creativity, sparked by reflections on OpenAI's latest image model.
llmscreativealexopdev
https://alexop.dev/posts/customize_claude_code_status_line/
How to Customize Your Claude Code Status Line | alexop.dev
Learn how to display model name, context usage, and cost directly in your terminal while using Claude Code. A step-by-step guide to creating custom status line...
claude codecustomizestatuslinealexop
https://alexop.dev/tags/testing/
Tag:testing | alexop.dev
A Personal Blog from a simple web developer
tagtestingalexopdev
https://alexop.dev/posts/robust-error-handling-in-typescript-a-journey-from-naive-to-rust-inspired-solutions/
Robust Error Handling in TypeScript: A Journey from Naive to Rust-Inspired Solutions | alexop.dev
Nov 18, 2023 - Learn to write robust, predictable TypeScript code using Rust's Result pattern. This post demonstrates practical examples and introduces the ts-results...
error handlingrobusttypescriptjourneynaive
https://alexop.dev/tags/tutorial/
Tag:tutorial | alexop.dev
A Personal Blog from a simple web developer
tagtutorialalexopdev
https://alexop.dev/tags/patterns/
Tag:patterns | alexop.dev
A Personal Blog from a simple web developer
tagpatternsalexopdev
https://alexop.dev/posts/
Posts | alexop.dev
A Personal Blog from a simple web developer
postsalexopdev
https://alexop.dev/tags/markdown/
Tag:markdown | alexop.dev
A Personal Blog from a simple web developer
tagmarkdownalexopdev
https://alexop.dev/posts/building-my-first-claude-code-plugin/
Building My First Claude Code Plugin | alexop.dev
How I built a Claude Code plugin to generate skills, agents, commands, and more—and stopped copy-pasting boilerplate.
claude codebuildingfirstpluginalexop
https://alexop.dev/tags/developer-experience/
Tag:developer-experience | alexop.dev
A Personal Blog from a simple web developer
developer experiencetagalexop
https://alexop.dev/tags/dexie/
Tag:dexie | alexop.dev
A Personal Blog from a simple web developer
tagalexopdev
https://alexop.dev/posts/mastering-graphql-fragments-vue3-component-driven-data-fetching/
Mastering GraphQL Fragments in Vue 3: Component-Driven Data Fetching | alexop.dev
Part 3 of the Vue 3 + GraphQL series: Learn how to use GraphQL fragments with fragment masking to create truly component-driven data fetching in Vue 3.
driven datamasteringgraphqlfragmentsvue
https://alexop.dev/posts/atomic-design-vue-or-nuxt/
Atomic Architecture: Structuring Vue and Nuxt Projects | alexop.dev
Oct 8, 2024 - Learn how to implement Atomic Design principles in Vue or Nuxt projects. Improve your code structure and maintainability with this guide
atomicarchitecturestructuringvuenuxt
https://alexop.dev/tags/demo/
Tag:demo | alexop.dev
A Personal Blog from a simple web developer
tagdemoalexopdev
https://alexop.dev/posts/tea-architecture-pinia-private-store-pattern/
How to Write Better Pinia Stores with the Elm Pattern | alexop.dev
Learn how to combine The Elm Architecture (TEA) principles with Pinia's private store pattern for testable, framework-agnostic state management in Vue...
write betterpiniastoreselmpattern
https://alexop.dev/posts/adding-obsidian-wiki-links-to-astro-blog/
Adding Obsidian-Style Wiki Links to My Astro Blog | alexop.dev
I added [[wiki link]] syntax to my Astro blog with hover preview cards. Here's how it works and how you can build it too.
addingobsidianstylewikilinks
https://alexop.dev/posts/create-pwa-vue3-vite-4-steps/
Create a Native-Like App in 4 Steps: PWA Magic with Vue 3 and Vite | alexop.dev
Dec 30, 2024 - Transform your Vue 3 project into a powerful Progressive Web App in just 4 steps. Learn how to create offline-capable, installable web apps using Vite and...
createnativelikeappsteps
https://alexop.dev/posts/best-practices-for-error-handling-in-vue-composables/
Best Practices for Error Handling in Vue Composables | alexop.dev
May 18, 2023 - Error handling can be complex, but it's crucial for composables to manage errors consistently. This post explores an effective method for implementing error...
best practiceserror handlingvuecomposablesalexop
https://alexop.dev/posts/why-you-need-something-hard-in-your-life/
Why You Need Something Hard in Your Life | alexop.dev
The biggest paradox in life: the hardest things are usually the ones that help you grow. Exploring why challenge and difficulty are essential for meaning and...
need somethinghardlifealexopdev
https://alexop.dev/posts/how-to-build-your-own-vue-like-reactivity-system-from-scratch/
How to Build Your Own Vue-like Reactivity System from Scratch | alexop.dev
Sep 29, 2024 - Learn to build a Vue-like reactivity system from scratch, implementing your own ref() and watchEffect().
buildvuelikereactivitysystem
https://alexop.dev/tags/accessibility/
Tag:accessibility | alexop.dev
A Personal Blog from a simple web developer
tagaccessibilityalexopdev
https://alexop.dev/posts/how-to-test-vue-router-components-with-testing-library-and-vitest/
How to Test Vue Router Components with Testing Library and Vitest | alexop.dev
Learn how to test Vue Router components using Testing Library and Vitest. This guide covers real router integration, mocked router setups, and best practices...
vue routertesting librarycomponentsvitestalexop
https://alexop.dev/tags/ai-tools/
Tag:ai-tools | alexop.dev
A Personal Blog from a simple web developer
tag aitoolsalexopdev
https://alexop.dev/tags/pwa/
Tag:pwa | alexop.dev
A Personal Blog from a simple web developer
tagpwaalexopdev