However, I’ve recently made the difficult decision to rewrite the frontend in React (specifically React/TS, TanStack Query, Orval, and Shadcn). In a perfect world, I'd rewrite the python backend in go, but I have to table that idea for now.
The reason? The "LLM tax." While HTMX is a joy for manual development, my experience the last year is that LLMs struggle with the "glue" required for complex UI items in HTMX/Alpine. Conversely, the training data for React is so massive and the patterns so standardized that the AI productivity gains are impossible to ignore.
Recently, I used Go/React for a microservice that actually has turned into similarly complex scale as the python/htxm app I focused on most of the year, and it was so much more productive than python/htmx. In a month of work I got done what took me about 4-5 months in python/htmx. I assume because the typing with go and also LLM could generate perfectly typed hooks from my OpenAPI spec via Orval and build out Shadcn components without hallucinating.
I still love the HTMX philosophy for its simplicity, but in 2024/2025, I’ve found that I’m more productive choosing the stack that the AI "understands" best. For new projects, Go/React will now my default. If I have to write something myself again (God, I hope not) I may use htmx.
It's really nice to have a complete and rigorous specification. It's quite common today for docs to be extremely incomplete or vague, especially as more and more teams use LLM to generate a lot of prose that is devoid of information.
For example 1495 is nice if you like IRC. You can pick to implement a server and try to connect with existing clients to validate your implementation, or make a client and join your favorite server (though test on some test server first).
[0] https://blogs.oracle.com/javamagazine/post/interview-with-ke...
So whether the future leans biological, mechanical, or some hybrid, the real miracle isn’t just what new “overlords” or “offspring” arise, but that every unfolding is the same old pattern...the one that dreamed itself as atoms, as life, as consciousness, as community, as art, as algorithm, and as the endlessly renewing question: what’s next? What can I dream up next? In that: our current technological moment as just another fold in this ongoing recursive pattern.
Meaning is less about which pattern “wins,” or which entities get to call themselves conscious, and more about how awareness flows through every pattern, remembering itself, losing itself, and making the game richer for every round. If the universe is information at play, then everything here that we have: conflict, innovation, mourning, laughter is the play and there may never be a last word, the value is participating now, because: now is your shot at participating.