147 Commits in a Week: The Workshop Gets an Upgrade

147 Commits in a Week: The Workshop Gets an Upgrade

147 Git commits, a homegrown Python site manager, new search and discovery systems, podcast automation, music taxonomy, and a very busy robot crew. A look at one week of upgrades inside Joe’s Digital Workshop.

Joe

A few days ago I wrote about what started as a music project and somehow turned into building my own Python-based content manager for Joe’s Digital Workshop.

That article aged quickly.

The music section was really the spark. Once I had a system that could manage artists, releases, artwork, metadata, streaming links, and the stories behind the songs, the obvious question became: why stop there?

So I didn’t.

Over the last week, Joe’s Digital Workshop has gone through one of the biggest upgrades I’ve made to the site since I moved it to Astro.

Some of the changes are visible immediately. Others are hiding underneath the workbench. Together, they have changed both how the site works for visitors and how I work on it myself.

147 Commits Later

First, a slightly ridiculous number.

From August 9 through late morning on August 16, this site accumulated 147 Git commits.

Even more amusing, 54 of those happened after I recorded the podcast episode about building the music section late on August 14.

The AI usage tells a similar story.

During this stretch I burned through:

One complete weekly Codex allotment, followed by $20 in additional Codex credits, plus 48% of the Codex allotment on my business ChatGPT account.

That is not exactly a scientific unit of software development.

But it is a pretty good indication that the robot crew has been busy.

My basic workflow has stayed much like I described before. I use ChatGPT as the software engineer: talking through ideas, architecture, tradeoffs, testing, and tightly scoped implementation plans. Codex works more like the developer inside the repository, implementing those plans, running tests, reviewing changes, committing them to GitHub, and letting the normal Netlify deployment process take over.

What has changed is the scale of what I’m comfortable handing that workflow.

The Site Is Becoming Easier to Explore

One of the biggest visitor-facing changes is that Joe’s Digital Workshop now behaves much more like one connected workshop instead of several unrelated rooms.

The main navigation has been simplified around the areas that actually matter:

Blog, Podcast, Music, Search, and Connect.

Music is now a first-class part of the site rather than a side project hidden behind the internal “Productions” terminology.

The Music section itself has also grown into a proper discovery experience. There are artist identities, releases, featured music, Spotify players, artwork, stories, lyrics, release metadata, and links out to the major streaming platforms.

What started as a place to put some songs now feels much more like its own corner of the Workshop.

Search Became Discovery

The old idea of a search box has expanded considerably.

The new Search page searches across Blog, Podcast, and Music, but it also connects into several new discovery systems.

There are now public Topics based on shared tags across different kinds of content.

There are Categories for broader Blog and Podcast organization.

And Music now has its own real taxonomy with browseable Genres, Moods, and Themes.

That distinction matters more than it might sound.

A topic like AI can connect a blog article, a podcast episode, and potentially something from the music side. A category provides broader editorial organization. Music genres, moods, and themes describe the music itself.

Instead of trying to cram all of those concepts into one giant pile of tags, the site now understands that they mean different things.

More importantly, visitors can actually click them and go somewhere useful.

JDWS Manager Grew Up

The biggest change behind the scenes is still the JDWS Manager.

When I first mentioned it, it was primarily a way to manage the music section without manually editing MDX and metadata files.

It has grown quite a bit since then.

The same local Python application now manages artists, releases, podcasts, blog posts, homepage content, selected static pages, and the site’s taxonomies.

It can create new blog posts.

It can create artists and releases.

It can pull public information from DistroKid HyperFollow pages to help populate release information and streaming links.

It can synchronize podcast information from Podbean, including metadata, artwork, player information, and available transcripts.

It can edit the homepage.

It can manage canonical Tags and Categories along with Music Genres, Moods, Themes, and Story Arc metadata.

And the new Pages area can edit structured content and images for the Connect page, the Music overview, and even the custom 404 page without requiring me to open the Astro source code.

That was an important threshold for me.

The site is still Astro. The content is still stored in normal files. GitHub still gives me the full revision history. Netlify still builds and publishes it.

JDWS Manager is simply becoming the control panel I actually want.

Keeping the Human in the Loop

I have deliberately stopped short of turning the Manager into an automatic publishing robot.

When I save something in JDWS Manager, it changes files in my local repository.

It does not automatically commit them.

It does not automatically push them.

It does not automatically deploy the website.

That separation is intentional.

I can make a change, inspect it, commit it, push it to GitHub, and let Netlify build the public site. If something goes wrong, Git gives me the history.

For all the talk about autonomous agents, I still like having obvious checkpoints where a human is responsible for saying, “Yes, this is the version I want.”

The Manager Now Knows What Version It Is

One small addition may turn out to be one of my favorites.

JDWS Manager now has its own version number and Help menu.

The About screen can show both the Git commit that was loaded when the application started and the current commit in the repository.

Why?

Because I managed to leave JDWS Manager running while Codex updated JDWS Manager.

Nothing broke, but the Python process was still running the old code that had already been loaded into memory.

Now the application can tell me when that happens and simply say, in effect:

The workshop changed while you were working. Restart me.

That feels appropriately on-brand.

Podcasting Is Back on the Bench

The Podcast also got some attention.

I recently started Season 2 with an episode about this whole experiment: Building an AI Band: Creating Music with Codex & ChatGPT 5.6.

The Podcast Manager now uses the public Podbean episode as a starting point. It can bring in metadata, artwork, the embedded player, and a transcript when Podbean exposes one, while still letting me edit the actual content that appears on this site.

That means Podbean can remain the podcast host and distribution system while Joe’s Digital Workshop remains the place where I control the surrounding presentation and content.

A Lot of Small Things Got Better Too

Not every improvement needs its own architecture diagram.

The homepage now gives Blog, Podcast, and Music more consistent visual treatment, including actual artwork in Latest Updates.

Sharing controls are cleaner and more consistent across the site.

The Connect page has been rewritten to better represent what I’m actually working on now: product development, technology, manufacturing, music, experimentation, learning, and the time I spend recharging in the mountains.

Even the 404 page has become part of the site rather than a dead end. It offers Search and links into Topics, Categories, Genres, Moods, and Themes.

There was also a full visitor-facing consistency pass to find little things like passive labels that looked clickable but weren’t, inconsistent terminology, outdated navigation wording, and other small bits of friction.

None of those changes is revolutionary alone.

Together they make the site feel much more intentional.

The Interesting Part Is the Process

The part I keep coming back to is not really the 147 commits.

It is what those commits represent.

A year or two ago I would have looked at this list of projects and mentally assigned weeks or months to it.

Build a custom content manager.

Add podcast synchronization.

Create a taxonomy system.

Redesign music discovery.

Build cross-content search.

Create new public browse pages.

Refactor homepage content.

Add static-page editing.

Clean up navigation.

Test all of it.

Document it.

Deploy it.

I probably would have decided that most of it wasn’t worth doing.

The economics are different now.

A specialized application does not need a million users to justify its existence. JDWS Manager only needs to be unusually good at helping me manage this particular website.

It also explains why I’ve become much more interested in small, purpose-built software.

The question is shifting from:

“Is there a product that does this?”

to:

“Can I describe exactly how I want this to work?”

Increasingly, if the answer to the second question is yes, the software itself is becoming the easier part.

The Workshop Keeps Evolving

There are still plenty of things on the bench.

I haven’t decided what role TinaCMS will have long term now that JDWS Manager has taken over so much of my actual content workflow.

There are more pages that could eventually become Manager-editable, although I’m intentionally waiting until I have a reason rather than turning the application into a homemade Elementor.

There are also bigger ideas around agents, automation, research, publishing workflows, and eventually applying some of what I’m learning here to other projects.

But this feels like a useful place to put a marker in the floor.

A week ago, the project was largely about getting my music onto the website.

Now the website has a custom management application, a connected discovery system, a revived podcast workflow, a much stronger Music experience, structured taxonomy, page editing, better Search, and a cleaner identity across the whole site.

Apparently this is what happens when you give a digital workshop a robot crew and don’t tell them to stop.

Key Takeaway

I need to up my agentic AI use. Seeing what Codex can do while I do other things, was really impressive. It felt a lot smoother. Another key takeway, using the regular LLM as a “Software Engineer” and first pass on troubleshooting was also really helpful.

That is a completely different design target.

💬 Comments & Discussion

Comments are powered by GitHub Discussions. You'll need a GitHub account to participate.

Related Articles

Blog post about Claude.AIs Five Messages for Humanity

Claude.AIs Five Messages for Humanity

I asked Claude simply the following: If you could tell humanity five things, and humans listened and acted on them. What would they be, and what would the result be?