I put one of my own repos, node-shield, into gitdiagram, mostly out of curiosity. In a few seconds it handed back a clean, accurate architecture diagram of the whole thing. What made that land differently for me is that node-shield itself was already built with AI. I didn't type most of that code by hand. My actual job the whole time was thinking through the architecture and making the calls that would keep it maintainable. So watching another AI read that output and explain it back to me instantly wasn't really a surprise about the tool. It was a surprise about myself: the part I thought was "my work" on that project was never the code. It was the decisions.
The point of this post: being able to build something fast used to feel like a skill worth pointing to. It isn't rare anymore. What I actually value now is simple: growth, without having to overthink everything else around it. I do my best work when the goal in front of me is clear, not vague, so I know exactly what I'm working toward.
What node-shield actually was
Node-shield took me two days to put together, with AI doing most of the actual typing. Everything since has just been small enhancements: a fix here, a tweak there, nothing that changed the shape of it. I didn't build it randomly, though. The goal going in was specific enough: I wanted to experiment with defensive security patterns and logging / audit trail mechanics, things I'd read about but never actually built hands-on.
My part in those two days wasn't writing functions line by line. It was deciding how things should be structured, where boundaries should sit, and what would make the whole thing easy to maintain later instead of turning into something only I could touch. Those are the calls an AI won't make well on its own, because it doesn't carry the weight of what happens six months later when the thing needs to change.
Worth mentioning: I wasn't even running the expensive setup. Node-shield came out of a $20 Claude plan, using Haiku, the cheaper model. Results still vary a lot between models, and honestly it reminded me of cooking. Same ingredients, different hands, different taste. The model matters, sure, but what mattered more here was how I directed it, not which one I picked.
That part, the "why did I start" part, was clear from day one. I did think about the goal, more than once, but every time I tried to pin it down further I hit the same wall: who is this actually for, and what's their problem?
That's not a question I can answer from inside my own head. I don't have a client sitting on the other end with a real, specific requirement I'm building against. No one's told me "this breaks when X happens" or "we need it to handle Y." Without a problem actually in front of me, I can't provide a solution to it, I can only guess at one. So I have no honest way to tell whether node-shield solves an actual problem for actual people, or whether it's just an interesting exercise I enjoyed finishing. Those two things can look identical from the outside and be completely different underneath.
I built it because I could explore the idea. Not because someone brought me a problem and asked me to solve it. That distinction matters more than it sounds like it should.
Building got cheap. Fast.
None of this is new information, but it's worth saying plainly: AI can scaffold a working project in minutes now. It can take a messy, undocumented codebase and hand back a readable explanation of how it's structured, exactly like gitdiagram just did with node-shield. It didn't ask me questions. It didn't need context I hadn't written down anywhere. It just looked, and it understood.
The part that's easy to avoid thinking about: if "I can build X" was ever the whole pitch, it's a much weaker one now. An AI can say the same sentence, back it up just as fast, and never need to be paid, rested, or convinced to take the job. The skill itself isn't gone, but it's no longer scarce, and scarcity is usually what determines value.
What AI still can't do well, at least not that I've seen, is sit across from someone and actually get what's breaking in their business before a single line gets written. Asking a dumb-sounding follow-up question because the first answer felt off, staying in a project long enough to watch the requirements shift and adjusting instead of just running the original spec, that's still a human job. Probably the only part of this whole thing that's going to keep mattering.
Building something isn't the same as it mattering
Node-shield ends up being proof of my own argument, whether I planned that or not. I can build things quickly. That was never really in question, not to me and hopefully not to anyone who's seen my work. What's actually in question, and what I still can't answer honestly about my own project, is whether it solves a real problem for a meaningful number of people.
Best case, maybe it's genuinely useful to a narrow slice of people who happen to hit the exact scenario it was built for. Realistically, the other 80% don't need it, wouldn't go looking for it, and wouldn't notice if it quietly disappeared tomorrow. That's not a unique failure on my part. It's the default outcome any time something gets built because it could be, instead of because a specific person needed it solved.
That gap, between "I can build this" and "this actually matters to someone," isn't something a tool closes for you. It only closes when you're working with someone who can tell you what they actually need, and you're close enough to the problem to keep adjusting as it changes.
What actually matters to me now
I don't want to keep leading with "I can build X." What I value more is working toward a real goal, one that's clear from the start, not "let's see where it goes" or "we'll figure out the requirements as we go." Knowing what we're actually trying to reach lets me put full attention toward getting there instead of guessing at it.
Practically, that means a few things. If I don't know how to do something, I'll say so out loud instead of quietly nodding and shipping something half-broken. If I say yes, I mean it, I'm not saying it to sound more capable than I actually am at that moment. Growth matters more to me right now than comfort, I'd rather put my energy fully into the work than split it worrying about everything around it. And I'd rather stick with a problem through however it changes shape, not just the version of it agreed on at the start.
In short: clarity of direction and honesty about capability matter more to me than looking impressive. I'm less interested in selling a skillset, and more interested in treating a goal like it's genuinely mine to get to.
So, was the diagram even worth writing about?
Yes, just not for the reason I expected going in. It didn't teach me anything new about node-shield's architecture; I already knew how it was put together. What it actually did was force a question I'd been avoiding: if building isn't the hard part anymore, what exactly am I supposed to be getting good at instead?
I think I know part of the answer now. The rest of it, I'd rather figure out with someone, not alone in a repo.
So here's the honest version, no dressing it up: I'd rather sit with someone's actual problem than build another thing just because I can.