Stacking the Deck
I've been playing around with Claude Code a lot lately. I think I've mentioned it elsewhere, but it's impressive. Not as impressive as those claiming it'll supplant software engineers and "make human language the new programming language," but impressive nonetheless. I'll address some of the concerns in an upcoming post, but today I want to talk about finding a stack and getting into a productivity groove.
A stack, in this case, is simply a grouping of tools that you're using to produce, well, anything. For the most part, in my guitar world, it's my telecaster or acoustic electric, my modeling amp, my microphone for vocal recording, and my 8-track recorder for everything else. There are several other components I could add (and I have), like a drum pedal, a drum machine, actual drums, etc. But that adds complexity to the stack, and you need to weigh the trade-offs of what a new component gives you vs. the learning curve and management of the component.
I've decided to focus on guitar-centered music. I can use my 8-track to record lead and rhythm parts and simulate any bass parts. It also has electronic drum capabilities. To ensure that I can actually write and produce music at a reasonable clip, I've decided to use vanilla loops (or the occasional minor tweak) rather than fret about either learning to play the drums or spending too much time programming a custom loop.
So, that's my music stack. It has its trade-offs and limitations, but adhering to a stack moves a lot of administrativa headaches out of the way so I can focus on creating music rather than tweaking the system.
The same principle applies to a tech stack - you make trade-offs for stability and consistency. Since I've left the corporate world, I've been refining my stack more and more to make it something that I can simply step into without a reference manual by my side. Originally, the idea was - if I'm going to consult to help people build websites, the more I don't have to worry about the boilerplate setup, and the faster the turnaround time to complete a project and make another contribution to my yacht fund.
I don't know if I'll ever reach the exalted status of website/app builder for Joe Citizen, but fine-tuning my stack still makes sense. It gives me a stronger base to start from for exploration and gives me something I can communicate to others about with relative intelligence and consistency.
That stack is currently Astro for the JavaScript framework (both server-side and for static site generation), Alpine.js and htmx for front-end JavaScript-related tasks (taking the place of heavier frameworks like React), TailwindCSS for styling, and SQLite for databases. I'm using Cloudflare tools (predominantly Workers) for operating and scaling my work.
If I were working on enterprise-grade scalability, I'd need to make adjustments, particularly around the server side and database, but for the types of projects I'm anticipating, my setup should suffice. However, I shouldn't ever let a foolish consistency impede the hobgoblin of my little mind if another tool fits a project I'm working on better.
More interesting, though, is that, in the realm of technology, there's another stack that's quickly emerging for me - that of my AI development stack. If you asked me when I first started writing this post (it's been about 3 weeks since I wrote the first lines above), I would've had a significantly different set of tools than I do now, because I'm still rapidly learning about the whole space.
Now, at the end of the month, I'm using Google Stitch for UX, information architecture, and site design. This is a godsend, not because it's grasping at general intelligence - it's equally as dull as its siblings - but because this is my weakest skill, and it provides enough guidance to create sites that don't look like they were built in 1998.
For a coding assistant, I've swapped OpenCode for Claude Code. I haven't seen any drop in quality, the interface is better, and it's cheaper (it's currently free, but even if I need to start paying, I'd be paying half the cost with fewer restrictions).
For a second opinion, I'm using Google Gemini models. They're annoying and try way too hard to be my buddy by bringing up phrases or questions I used in previous sessions (I once mentioned I wanted a boring setup for installing software on my laptop, and now that comes up in everything I ask), but they're generally competent, especially for catching issues when my primary coding assistant goes into an idiot loop. I'm considering spending some money here to bridge the gap for things like Claude Projects that OpenCode lacks, so I have a more comprehensive suite of tools.
In the last few days, I've been exploring LLM APIs. Cloudflare has an offering, but it seems to have flaky availability, so I started exploring OpenRouter. I'm using the same model I use in OpenCode (MiniMax m2.5), and it did an excellent job of parsing PDF files. I've got to do a bit more vetting before I add it as an official tool, but early results are promising despite the shitty Reddit reviews.
Those are my thoughts. God knows how my stack will evolve over the next 30 days, but I'll keep you posted!
Until next time, my human and robot friends.
Comments
Post a Comment