Software architecture comes before technology
I recently moved my Jackie Leven tribute site from PHP to Go in one day, working with coding agents. The content and appearance stayed the same.
The site began as a small personal project about a Scottish songwriter whose music and personality mean so much to me. As I collected more material, the project grew quite a lot. I wanted to make the archive material accessible through semantic search, and chose Go for the next stage of the application.
What made the move manageable was a decision I had made much earlier: keeping the texts and catalogues separate from the program logic. The public behaviour of the site was also defined clearly enough to compare the old and new versions. That gave the agents a structure to work within and me a way to check the result.
This has changed how I think about choosing technology. In the past, my choices were strongly shaped by the languages I knew or the tools already established around me. Working with agents lets me consider options that would previously have required a substantial investment in learning before I could build anything useful.
It also makes me pay closer attention to the structure of the application: what each part is responsible for, what it depends on, and where its boundaries lie. Agents work with the code they find. Clear boundaries make it easier to keep a change contained and check its effects. When those boundaries are blurred, even a small idea can spread through the codebase.
On this project, I could see quite concretely what thoughtful architecture bought me: the freedom to change the implementation while preserving the work I had put into the site.