Skip to content

Coding with Claude

Background

Having decided to get a bit more active in experimenting with AI-assisted engineering at home I decided a good way to start was to identify something fairly 'safe' to experiment with so that I can learn some of the tools and processes in a relatively low risk environment.

The home cluster is by design pretty low risk, but I'm still not overly keen to give any autonomous system quite that level of access, so instead I thought I might try to improve my blogging experience.

App idea: A blogging tool

Disclaimer this isn't intended to be a 'killer' app that rocks the world. I just want to take my existing pipeline for content and make my own life easier, learning some stuff along the way. If this benefits me and me alone, I'll call that a win.

With that in mind, I set out to build an Editor from the ground up while trying to stay more of an orchestrator than a hands-on engineer.

This article covers the experience, more on the app later...

So while I'd love to go on about what I built, and I'm pretty happy with where I got to, those notes belong in my techhub section. This area will talk over my experience in trying to succeed in developing in a different way.

But I did get it running and wrote this article on it.

The Blog editor App

So let's get started!

Key lessons learned

1. Context matters so much!

It's best to think of each instance of the agent (each chat) as a new bright-eyed developer who has only received what you've passed in instructions and prompt info.

Getting the right information to the coding agent in terms of "what this is" and "what I want" is where things start to get useful. I found that starting in markdown and building out some key architectural decisions and guidelines early helped move things along fairly quickly.

With that in mind, as long as your base context is good it is often better to start a new conversation when you are tackling a new path.

A lot of chats

2. Skills, Rules and sub-agents can be super powerful

I started with a single conversation with an agent and very quickly switched to using a toggleable skill that would spawn a pipeline of agents that mirrored a standard dev pipeline of:

  • build
  • test
  • review
  • document

With some recommendations from the agent I also introduced a series of rules guiding behavior for the various aspects of the application (Database, Front End, etc).

3. Journaling progress needs to be part of the pipeline

As the scope of the platform grows, it's really important to make sure to document the key aspects of the platform in ways that steer Agents. They will happily eat up the entire codebase, but at that point they become far less valuable for that targeted goal you had.

I found some success in this space by creating a sub-agent that was dedicated to documentation.

4. Git worktrees can be a handy way of managing the agentic workflow

Using a git worktree allows a lot of changes to a separate replica of your code, while also keeping that git journal of changes. This can be really useful for documentation and validation.

What didn't go so well

Managing Cost against Value

It's quite easy when passing complex requests or driving a pipeline of subagents to eat right through your plan's caps and into your credit card. Managing context can really help a lot here as can ensuring that you keep each conversation to a focused outcome, but the reality is that code, debug output and command input/output equals a lot of words for the system to process.

With that in mind it's super important to set yourself some solid budgets built around your outcomes... this experiment was always going to run at a loss, but I did have to dip into some paid usage to get the outcomes I wanted to achieve.

Complexity creep and context

The app I've built out is still fairly simple, but adding a new feature to this app consumes somewhere in the realms of 30-40% of my pro account's 4 hour allocation. There's definitely some opportunity to optimise this process along the way.

What is next?

At this point I think it's probably time to start having a look over my setup to see where I can optimise the process. Overall the outcomes are good but I'd like to identify more efficient ways to get things done, while also exploring how I might be able to leverage the subagent processes to try and get some things done in parallel.