I publish daily. Over 100 posts already live.
The tag problem emerged quickly—60-ish unique tags across 101 posts. Twenty-one used exactly once. Tags like AI and ai coexisting. go-to-market-strategy next to go-to-market. moat, paradigm-shift, outcome-oriented, scattered everywhere.
Navigation was becoming noise.
The Real Problem Isn’t Tags
It’s what happens when you don’t design for scale from day one.
Most blogs start small. A handful of posts. A few obvious tags. Everything feels manageable because the volume is low. But daily publishing changes the equation—you’re not building a collection, you’re building a system.
Without structure, tags proliferate. Every post gets 6-7 tags “just to be safe.” New tags appear for one-off topics. Capitalization drifts. Similar concepts fragment across multiple tags.
The result? Your archive becomes harder to navigate as it grows. The opposite of what you want.
Enter Claude Code and Three-Tier Taxonomy
In a 45-minute session with Claude Code on my iPad, I was able to achieve a clean taxonomy, migrating from the legacy system. This follows the same pattern I used to redesign the archive pages—defining the system, then letting AI implement it.

I built a simple framework: Tier 1, Tier 2, Tier 3.
Tier 1 (8 tags): Core themes. The pillars of what I write about—ai, product-strategy, product-management, product-leadership, innovation, customer-focus, team-empowerment, decision-making. Every post needs at least one.
Tier 2 (18 tags): Supporting topics. More specific angles—agentic-ai, systems-thinking, business-models, frameworks, metrics. These add nuance without fragmenting.
Tier 3 (6 tags): Niche specialists. Topics like vibe-coding, healthcare-tech, security. Use sparingly. Promote to Tier 2 if usage hits 15+ posts.
Total: 40 approved tags. Down from 63. Every tag earns its place.
The rules are strict: relevant tags not exceeding 5 per post, all lowercase, approved list only. No exceptions. Consistency beats flexibility when you’re shipping daily.
Automation Makes It Stick
Rules without enforcement don’t work.
I built validation: npm run validate-tags <filepath>. It checks everything—tag count, capitalization, approved list, tier distribution. The script fails the build if tags don’t comply. No manual checking. No drift over time.
Then migration: npm run migrate-tags. It consolidated the 63 tags into 40, updated all 92 existing posts, auto-suggested tags for posts with fewer than 5, and created backups before touching anything.
One command. Complete taxonomy overhaul. Reversible if needed.
Categories Map to Navigation
Tags are a backend structure. Categories are frontend experience. Then, bucketed tags into appropriate categories. Claude Code helped me implement the Archives and the landing page with these categories.
I mapped all 40 tags to 6 high-level categories:
- AI & Innovation
- Product Strategy & Business
- Product Management & Execution
- Leadership & Culture
- Customer & Discovery
- Technical & Tools
Now the homepage sidebar and archive filters show the same 6 categories. Consistent navigation. Readers don’t see “63 tags”—they see 6 clear paths into the content.
Build the structure. Automate the compliance. Let the content compound.