In this article
I spent a bit of time on X last week, and somewhere between the follow swaps, AI hype, recycled advice, and people pretending software is easy now because chatbots exist, I started to understand what I actually want Old Stack Journal to become.
I want it to be a practical corner of the web for people who are trying to build useful things and keep going. That includes programmers, learner programmers, WordPress people, PHP people, automation people, vibe coders, solo builders, people building after work, and anyone brave enough to ask the question they think sounds stupid.
That last group matters more than people admit, because a lot of people don’t quit because they’re lazy or not technical enough. They quit because every error message feels like proof they’re not meant to do this, every tutorial skips the one step they needed, and every public conversation makes it sound like everyone else understood the whole thing years ago.
I want OSJ to feel like the opposite of that. Not soft in the sense of pretending everything is easy, but useful in the sense of making people feel like they can keep learning, keep building, and ask better questions without being laughed out of the room.
A Place for People Building Real Things
There’s a particular kind of builder I keep thinking about when I write OSJ posts. It’s the person who has a day job, a family, limited time, too many ideas, and a folder full of half-finished projects that still somehow feel worth coming back to.
They’re not trying to become a startup character on social media. They’re trying to make something useful, learn enough to keep going, and maybe turn one of their ideas into something that pays. That’s a very different world from the one that gets talked about in the loudest parts of tech, and it needs different writing.
That person probably doesn’t need another thread telling them to “just ship.” They probably know they should ship. They’ve probably known that for years. What they need is help with the actual friction that stops normal people from shipping: deployment, scope creep, authentication, database changes, backups, screenshots, social posts, pricing, weird API errors, broken CSS, WordPress quirks, and the mental cost of reopening the same project for the seventh weekend in a row.
That’s the world I know best. It’s not Figma, Slack, Uber, Netflix, or whatever giant app people use as the default comparison when they want to sound serious. It’s normal web apps, admin tools, WordPress plugins, content sites, automation workflows, small dashboards, useful pages, and bits of software that need to work without turning into a full-time engineering department.
AI Helps, But It Hasn’t Removed the Work
AI has changed a lot about building software, and I’m not going to pretend otherwise. I use it all the time, and I’d be lying if I said it hasn’t made me faster, especially when I’m trying to understand a messy function, write a safer prompt for Codex, compare two approaches, or get unstuck on something that would’ve taken me half the evening before.
But there’s a big difference between “AI helped me get unstuck” and “software is easy now.” That difference matters because the second idea sets people up for frustration. It makes new builders feel like they must be doing something wrong when the first version breaks, the database change looks risky, the deploy goes sideways, or the app works locally but falls apart on the VPS.
AI can write code and still leave you with no idea why it works. It can generate a plugin and still miss the one WordPress edge case that breaks it on your actual site. It can suggest a database change that sounds fine until you realise it would wipe real data if you ran it in the wrong place. It can confidently invent how your project is structured because it hasn’t seen the files you forgot to paste in.
That’s why I want OSJ to talk about AI as a tool rather than a miracle. Ask for smaller patches. Read the diff. Test before you deploy. Keep backups. Don’t let an AI rewrite half your app because you asked a fuzzy question. Learn enough to know when the answer sounds wrong, even if you can’t explain exactly why yet.
New Coders Can Absolutely Win
I really do believe new coders can become successful. I don’t mean in the “learn JavaScript in seven days and build a startup” way, because that’s mostly nonsense and it always has been. I mean in the slow, stubborn, slightly annoying way where you learn a bit, build a bit, break something, ask for help, fix what you broke, and slowly become the kind of person who can make useful things.
That path still works, and it might even be better now in some ways because AI can sit beside you while you learn. You can paste an error message and ask what it means. You can ask for a simpler explanation. You can ask it to compare two approaches. You can ask it to review a function before you touch production. You can ask it why your PHP file is throwing a warning you’ve never seen before, and sometimes it’ll give you exactly the clue you needed.
That’s a huge deal when you don’t have a senior developer sitting next to you, but AI still isn’t a replacement for understanding. It’s more like a patient helper that’s useful until it gets confidently wrong, misses your context, or gives you a solution that works in a demo and creates a mess in the real project.
The skill isn’t just prompting. The skill is learning enough to know when to trust it, when to question it, and when to slow down. Tutorials still matter. Trial and error still matters. Reading code still matters. Building the same kind of thing three times until it finally clicks still matters. The tools have changed, but the process of becoming useful at this stuff hasn’t magically disappeared.
A Good Reply Can Save Someone Hours
One thing X reminded me of, despite all the noise, is that a genuine reply from the right person can still be incredibly valuable. Someone says, “I’m stuck on this WordPress thing,” and another person replies, “Check your permalink settings and flush rewrite rules.” Someone says, “My cron job isn’t firing,” and another person explains the difference between real cron and WP-Cron. Someone says, “Codex wants to rewrite half my app,” and another person says, “Tell it to inspect the current files first and make a minimal patch.”
That kind of help doesn’t always look impressive from the outside, but it can completely change someone’s evening. It might save three hours. It might stop someone from deleting the project. It might give them enough confidence to ask the next question. It might help them realise they’re not stupid, they’re just stuck on the same annoying thing everyone else got stuck on at some point.
That’s the community part I care about most. Not “community” as a marketing word, and not a Discord full of people dropping links and ignoring each other, but people being willing to answer real questions, share what worked, admit what failed, and make the next person feel less like an idiot for starting.
Vibe Coders Need Better Rails
I’ve seen plenty of people dismiss vibe coders like they’re all reckless idiots asking AI to build banks from a one-line prompt. Some of that exists, and I’m not going to defend unsafe nonsense when people ship things they don’t understand and then act surprised when it falls apart.
But there’s another side to it. A lot of vibe coders are just people who finally found a way into building. Maybe they bounced off coding before. Maybe they understand the product idea better than the implementation. Maybe they can think clearly in workflows, pages, forms, content, user problems, and business logic, but they don’t yet know enough PHP, SQL, JavaScript, hosting, or deployment to build cleanly on their own.
Mocking those people is lazy. Helping them build safer habits is more useful. That might mean teaching them to use staging before production. It might mean showing them how to read a diff. It might mean explaining why backups matter before a database change. It might mean encouraging them to ask AI for a plan before code, or to request a focused patch instead of a full rewrite. It might mean saying, “Don’t paste that into your live site,” without making them feel like they should never have tried in the first place.
There’s a huge difference between gatekeeping and guardrails, and I’m far more interested in guardrails.
The Old Web Still Has Something to Teach Us
Part of the reason I keep coming back to old-web thinking is that the older web often felt more human. Not perfect, not always nicer, and definitely not some magical golden age, but there was something useful about forums, blogs, directories, personal sites, comment threads, and weird pages made by people who cared about one subject.
You could find a post from 2009 written by someone who had the exact error you had. You could stumble into a forum thread where three people argued their way into the answer. You could bookmark a page because it had one clean explanation that solved your problem, even if the design looked like it had been left in a shed for fifteen years.
A lot of that has been replaced by feeds that reward certainty, speed, outrage, and recycled advice. Feeds can still help you find smart people, and I’ve found plenty, but they also change the shape of the conversation. Helpful material gets buried under performance. Useful replies vanish into the timeline. The same “ten tools that changed everything” post gets rewritten every week by someone who probably hasn’t used half of them properly.
Old Stack Journal doesn’t need to recreate the old web exactly. I’m not trying to cosplay 2003, and I’m not pretending everything was better when websites had guestbooks and tiny buttons. But I do want to borrow the parts that still work: useful pages, readable posts, clear links, build notes, honest write-ups, and a general bias toward helping someone solve the next problem in front of them.
What OSJ Should Stand For
I want OSJ to be a place where practical builders feel at home. PHP people are welcome. WordPress people are welcome. AI-assisted coders are welcome. Automation people are welcome. Learner programmers are welcome. Vibe coders are welcome. People who’ve failed at projects for years and still haven’t given up are very welcome.
The thing I care about is honest usefulness. I don’t want to pretend every tool is amazing. I don’t want to write like every app idea deserves a funding round. I don’t want to sell AI as magic. I don’t want to make new builders feel like they’re behind because someone else claims they shipped a full product in one weekend, especially when nobody has seen the admin panel, the logs, the backups, the support inbox, or the broken bits hidden behind the launch screenshot.
I’d rather write about the actual work: what I built, what broke, what I’d use again, what I’d avoid next time, where AI helped, where AI made a mess, which old stack still does the job, which modern tool was worth the trouble, which shortcut saved time, and which shortcut quietly created more work later.
That feels more useful to me than pretending every post needs to be a lesson from the mountain.
We Get Better Faster When We Help Each Other Build
The more I think about OSJ, the less I think it should be just a site about tools. Tools are part of it, obviously, because I like building with them, testing them, breaking them, and writing about where they actually helped. But the bigger theme is how people keep building when the internet keeps throwing trends, pressure, shortcuts, and bad advice at them.
AI tools are useful. Simple stacks are useful. WordPress is useful. Old forums are useful. Tutorials are useful. Build notes are useful. But genuine people are still the best shortcut we have, and that’s the part I don’t want to lose.
A good reply can save hours. A clear article can stop someone repeating the same mistake. A build note can show the messy middle that polished launch posts hide. A bit of encouragement can be enough to keep someone moving, especially when they’re learning alone after work and wondering whether they’re ever going to get good at this.
That’s what I want Old Stack Journal to be: a practical place for people building useful things, learning in public without being made to feel stupid, and helping each other get better at the work. If we help each other build better, we all get better faster. Fact.