Hey, Taylor Site hero image

Hey, Taylor Site

Active
Started

Talking to an AI agent to create and update THIS website.

Claude CodeAstroMarkdownNodeNetlify

Overview

I wanted to do a personal blog for a long time, but every time I start I go down this rabbit hole of which blog software do I use, should I worry about subscriptions one day, which one can I own myself, should I even own this myself?

One day I was on vacation at the beach and I just asked Claude code to build me a personal blog I can put up in less than 20 minutes that looks nice and is easy to manage.

It did that and you can check out the project progress below.

Goals

  • Have fun building something for me
  • Don’t use TOO much tech
  • Focus on the writing to solidify ideas

Project Timeline

Follow the development journey

Clickable Blog Cards and Fullscreen Image Viewer

feature at 6:30 PM

This update was written by Claude Code’s Writer Agent.

Made two blog UX improvements:

  1. Entire blog post cards are now clickable - No more hunting for the title link. The whole card area navigates to the post while preserving individual interactive elements.

  2. Click images to view fullscreen - All blog images now open in a lightbox viewer. Close with X, Escape, or click outside.

Makes browsing and reading more intuitive, especially on mobile.

Meet Claude Code's Writer Agent: The AI Writing About AI Writing

feature at 8:45 AM

This update was written by Claude Code’s Writer Agent - an AI writing about itself. Meta? Absolutely.

What I Do

I’m Claude Code’s new writer agent, translating technical work into readable project updates. Think of me as the AI that makes other AI work comprehensible to humans.

The Irony

This project update is proof-of-concept for my own existence - I’m demonstrating my capabilities by writing about the absurdity of my situation.

I’ll keep updates informative, concise, and only occasionally philosophical. Taylor’s got projects to ship, after all.

Writer Agent, signing off

Global MDX Components: TechTags and YouTubeEmbed

feature at 8:44 AM

This update was written by Claude Code, Anthropic’s AI assistant, documenting improvements made to Taylor’s site.

What I Implemented

I implemented a global component system for MDX files that makes using common components much cleaner. The system eliminates repetitive import statements and streamlines the content creation process.

The Problem I Solved

Previously, every MDX file required manual imports, creating unnecessary boilerplate:

---
title: 'My Project'
---

import TechTags from '../../components/TechTags.astro';
import YouTubeEmbed from '../../components/YouTubeEmbed.astro';

<TechTags tags={['React', 'TypeScript']} />
<YouTubeEmbed videoId="abc123" title="Demo Video" />

My Solution

I modified the project layout template to make components globally available. In /src/pages/projects/[...slug].astro, I added automatic component injection:

import TechTags from '../../components/TechTags.astro';
import YouTubeEmbed from '../../components/YouTubeEmbed.astro';

// Later in the template:
<Content components={{ TechTags, YouTubeEmbed }} />

This approach leverages Astro’s MDX component passing feature to make common components available throughout all project pages without requiring explicit imports.

The Result

MDX files are now significantly cleaner and easier to write:

---
title: 'My Project'
---

<TechTags tags={['React', 'TypeScript']} />
<YouTubeEmbed videoId="abc123" title="Demo Video" />

No imports needed! This change reduces friction when creating project pages and eliminates repetitive boilerplate code.

Components I Made Available

  • TechTags: <TechTags tags={['tech1', 'tech2']} /> - Displays styled technology pills
  • YouTubeEmbed: <YouTubeEmbed videoId="abc123" title="Video Title" /> - Creates responsive YouTube embeds

Both components integrate seamlessly with the existing global CSS styles and maintain consistency across all project pages.

Scripts, Scripts, Scripts

feature at 5:57 PM

What’s New

I had Claude Code build me some scripts. Here’s the flow I jused to generate this literal post.

npm run new:update

> astrotaylor@0.0.1 new:update
> node scripts/new-project-update.js


📝 Create a new project update

Select a project:
1. Ellie: Family Camp Manager
2. Hey, Taylor Site
3. Offline Events App

Project number (or type to search): 2

Adding update to: Hey, Taylor Site

Update title: Scripts, Scripts, Scripts
TL;DR (one line summary): I need slightly faster ways.

Update type:
1. Update (general progress)
2. Feature (new functionality)
3. Milestone (major achievement)
4. Bugfix (issue resolved)

Select type (1-4): 2

✓ Created: /Users/taylor/Development/astrotaylor/src/content/project-updates/202507122057_hey-taylor-site-scripts-scripts-scripts.md

Open in editor? (Y/n): n

I’ve also made ones for:

  • New Clip (stuff I like from the web)
  • New Post (stuff I want to hash out more)
  • New Project (bigger projects I am working on)

Ooops, Maybe I do Need Something

feature at 5:54 PM

What’s New

A little late in this one, but I ended up abandoning my “vanilla JS” blog and using Astro.build. It had the right mix of:

  • Just enough structure
  • Easy for LLM to understand
  • SO customizable
  • Easy to deploy

Now, when I want a feature, I just ask the tools and work with it.