Somewhere in the last couple of years, a strange feeling crept in, and I don't think I'm the only one who's felt it.
It's the sense that I'm not r...
For further actions, you may consider blocking this person and/or reporting abuse
I love this post, and I think it's something more developers need to hear.
I build a lot of things simply because I feel like making them. Some are genuinely useful, some are experiments, some are just because i want to see if I can do it. Half the fun is figuring things out along the way. I definitely don't have plans to monetize most things, or turn them into products, or even get anyone else to use them.
And I think that's something we lose sight of with all the conversations about productivity, efficiency, and AI. I use AI and enjoy it, but I don't think being able to generate something faster makes the experience of building it yourself any less valuable.
Your point about doing something simply because you enjoy doing it really resonated with me. Not everything we create needs to serve a purpose beyond making us happy, and sometimes teaching us something along the way.
Sometimes I just want to make something because it sounds fun. That's a good enough reason for me.
Wanting to make something just because it sounds fun really is a complete reason, and it always was one. The range you describe is the healthy version of all this, too: some useful, some experiments, some just “can I pull this off?” — with the figuring-out being half the point. That’s a person the doom stream hasn’t managed to colonize yet.
And your take on AI is exactly the balance I was reaching for: generating something faster doesn’t make building it yourself any less valuable, because speed and the experience were never the same axis. One is about the output; the other is about what happens to you while you make it. AI competes on the first and can’t touch the second. Hold onto that instinct — it’s the right one. 🙏
This is the part I’d highlight. You’re so right, because here in the world of endless progress, we tend to measure everything in money, usefulness, and the time spent on it. If we go back to ancient Rome, they didn’t even count time the way we do. They simply divided the day into 12 hours, from sunrise to sunset. In winter the hours were shorter, in summer longer. We weren’t so disconnected from nature back then, though admittedly that wasn’t exactly yesterday.
Now we live in a world where we sacrifice absolutely everything on the altar of technological progress. That’s exactly why |> is my favorite hobby horse—and thanks to AI, I could actually build it in a reasonable amount of time. It raises a question: is it still worth spending time on the programming languages we use every day? My answer is yes.
But I also have a program where I deliberately got things wrong, and I love it: Chuck Norris TODO list.
The Roman hours are a beautiful thing to bring in here, and genuinely apt — hours that stretched in summer and shrank in winter, tied to the sun instead of a machine, meaning time bent to life rather than life bending to time. We flattened that into identical, countable, monetizable units, and in doing so we made it almost impossible to spend an hour on something that doesn’t “produce” — because every hour now has a price tag we didn’t used to see. Measuring everything in money, usefulness, and time-spent is exactly the altar you’re describing, and you’re right that we sacrifice nearly everything on it.
Which is why your favorite hobby-horse projects are the quiet refusal. And the detail I love most is the last one — a program where you deliberately got things wrong, and love it. That’s the whole essay in a single act. A program you made intentionally imperfect, purely because the making delighted you, is completely illegible to the economic lens — it produces nothing, optimizes nothing, justifies nothing — and it’s probably one of the truest things you’ve built, because the only reason it exists is joy. The market can’t even see that program. That’s what makes it yours. Thank you for this comment; the Roman hours and the deliberately-wrong program are two of the loveliest things anyone’s added.
That’s not entirely true. I feel a bit like Ace Ventura explaining the effect of the sliding glass door to the terrace. The program is pretty enigmatic and doesn’t spoon-feed you anything.
But in terms of usability, it’s a training exercise in using an input field with limited visibility. As soon as you start typing, the whole form starts floating around, immediately wrecking your sense of security and visibility. On top of that, a single input field lets you edit an entire TODO list however you like, in real time. The rule is that
-means a new line. You have to discover that rule and let go of the expectation that you’ll always have clear visual feedback, like driving through heavy rain.Meanwhile, I’m debugging the state in real time with a single
<pre>tag, because this uses a reactive technique, as the continuously running counter also demonstrates. I wouldn’t call it a framework, since I’m using just one function calledsignal. So it’s a React alternative, and also an example of no-build development. I made it by writing an HTML file with the JavaScript inside, all by hand. Back then, I was practicing writing the Tailwind import and the entire HTML skeleton from memory.So it’s also a rebellion against painfully cumbersome build systems and code formatting disciplined by linters. And the fact that I even minified the code by hand foreshadows one of the mordorproject’s strongest ways of hiding information from AI.
Ernest Hemingway expressed this in his iceberg theory: the writer knows the whole story, but only writes down the one-eighth above the water.
The program you’re describing is the thesis made executable. A single input field where the whole form floats as you type, where - secretly means a new line, where you have to discover the rule and surrender your expectation of clear feedback — that’s not a usability failure, it’s a deliberate aesthetic choice that has zero economic justification and everything to do with how it feels to use. “Like driving through heavy rain” is a design intention, and no ledger on earth would ever approve it. That’s exactly what makes it yours.
And the layers underneath are the quiet rebellion stacked three deep: one signal function instead of a framework, no-build, hand-written HTML with the skeleton typed from memory, minified by hand. Each of those is a refusal of a layer someone told you was mandatory — the build system, the linter’s discipline, the framework. You rebuilt the benefit and threw away the ceremony, by hand, for joy.
The Hemingway iceberg landing is the part I’ll keep. Knowing the whole story and showing one-eighth — as craft, and now as a way of hiding information from AI — turns deliberate omission into both art and strategy. The enigma is the point.
The "somewhere, coding stopped being allowed to be fun" observation is real, but I think the root cause is different than the article says.
It's not the doom stream that killed the joy. It's that the joy was always fragile, and the doom stream just made it visible. The same people who now say "AI makes this pointless" were the ones two years ago saying "why are you building that when you could just use [framework X]". The economic lens was always there — AI just made it sharper and louder.
What's actually changed for me: the things I build for fun are now things I'd never show on LinkedIn. A tiny RuneScape bot that plays badly. A ray tracer that renders at 5 fps. A Telegram bot that answers in riddles. All worthless by market standards. All things I still think about months later.
The article's best point is the "not a single economic argument" part. But I'd go further — it's not just that economic arguments don't apply to fun coding. It's that they never applied to anything that mattered.
What's your worthless thing? Mine is a homebrew parser for a fictional language from a 1990s game, which I wrote from scratch and will never use.
Your root-cause correction is sharper than mine, and I think you’re right: the doom stream didn’t kill the joy, it made visible a fragility that was always there. The “why build that when framework X exists” crowd are the same people now saying “why build that when AI exists” — the economic lens was never new, AI just turned up its volume. That’s the better diagnosis, because it means the defense has to be internal, not environmental.
But the LinkedIn detail is what got me, because it’s quietly devastating: the things you build for fun are now things you’d never show. A badly-playing RuneScape bot, a 5fps ray tracer, a riddle-answering Telegram bot — worthless by the ledger, still in your head months later. That gap between what you’d perform publicly and what actually stuck is the whole wound.
And your sharpening is the line I’ll take back: it’s not that economic arguments don’t apply to fun coding — they never applied to anything that mattered. The ledger was always the wrong instrument.
Mine: a tool that generates fake, plausible git history just to make the commit messages sound like a real tired dev at 2am. Useless. Unshowable. A favorite.
A fake-git-history generator that makes commits sound like a tired dev at 2am is the most relatable "useless" project I've heard. I'd genuinely use it — not for anything productive, just to see what my commits would look like if I were a different kind of tired.
The line you pulled out — "the ledger was always the wrong instrument" — is the one I keep coming back to. It's not anti-market or anti-AI. It's just that the ledger was never measuring the thing that made the work worth doing, and it never admitted that.
Good luck with the next 37-part series. I'll be reading.
Ha — “to see what my commits would look like if I were a different kind of tired” might be a better pitch for it than anything I’d have written. And yeah, “the ledger was always the wrong instrument” is the one that stuck with me too — not anti-market, just honest that it was measuring the wrong thing the whole time and never said so. Thanks for reading, and for the kind words on the next series — I’ll try to make it worth the subscription you’re definitely not paying. 🙂
"Not anti-market, just honest that it was measuring the wrong thing the whole time" — that's the perfect way to put it. It's not about rejecting the market, it's about not letting it be the only voice in the room.
Looking forward to the series. And for what it's worth — I'd genuinely try that fake-git-history tool. Half my commits already look like they were written by a different kind of tired, so it might just make it official.
“Not letting it be the only voice in the room” is the cleanest statement of the whole thing — the market gets a vote, just not the only one, and somewhere we handed it the whole floor. And “my commits already look like a different kind of tired, might as well make it official” is genuinely funnier than anything in the tool itself — honestly tempted to ship it now just so your commit history can finally match your soul. Thanks for making this thread a good one. 🙂
None of this feels new by the way. Ten years ago, it was SPA web apps built with React or Angular mostly with a backend- or devOps-focused mindset deliberately ignoring all the values and insights the web development, web performance optimizatiion, and usability research had just established. Add product owners with their 80/20 MVP move-fast-and-break-things approach. All of this threatening to kill everything that was fun about making websites.
But it didn't.
DevUX or usability-focused frontend web development kept optimizing and implementing accessibility, responsive web design, and progressive enhancement. Some of our projects aged well. And all the devOps stuff I experienced both as annoying and useful at the same time. Webpack has since been obsoleted by Vite, while node and npm have copied all the relevant aspects that made yarn and bun relevant and important. React learned from static site generation, and Astro tried to unify classic web development and various JavaScript frameworks and libraries. So we did make progress after all.
Now AI is the latest hype, specifically meaning LLM-based generative artificial intelligence focused mostly on chat, command-line, and code interfaces. DEV, Medium, and LinkedIn are, once again, drowning in a flood of mostly irrelevant slop that nobody will want to read ever again in two years from now.
Last but not least, to answer your question, my most uneconomic digital effort is my commitment to my own blog website which I keep optimizing for quality and SEO. When it comes to development technologies, learning Astro didn't pay off financially yet, and improving understanding and coding CSS also seems not much more than a nerdy hobby these days.
The historical perspective is the most grounding thing anyone’s added, and it’s a real corrective to the doom: you’ve lived through this exact panic before, several times, and watched the thing worth keeping survive it each time. SPAs built with a backend mindset that ignored everything usability research had just established, move-fast-and-break-things product owners threatening everything fun about making websites — and yet the craft didn’t die. DevUX kept optimizing, accessibility and progressive enhancement kept getting built, Webpack gave way to Vite, React learned from static generation, Astro tried to unify it all. The hype flooded in, receded, and the people who actually cared about the work were still there afterward, having quietly made real progress.
That’s the longer-horizon answer to this whole piece: the slop flood is real, and most of what’s drowning DEV and LinkedIn right now will be unreadable in two years — but that was true of the last flood too, and the signal outlived the noise. The hype cycles are loud; the craft is patient.
And your most-uneconomic effort is perfect: a blog you keep optimizing for quality, and CSS as a “nerdy hobby” that hasn’t paid off and doesn’t need to. That’s the whole thesis — the care is the point.
No boydev no cry 🤣
Ha — “no boydev no cry” 😄 Honestly that belongs on a sticker. If the fake-git-history tool ever ships, that’s going straight in the README. Thanks for the laugh — good way to close out a thread that got unexpectedly philosophical. 🙂
@highflyer910 fun aside... what do you think, was this topic on the spot?
On the spot :)
It's good to see there are still people who find joy in coding without feeling the need to justify it by the market.
Right? Turns out the market never actually checked whether we were having fun — so we might as well. 🙂
I think the poisoned part is how the economic lens reframes play as waste. The doom stream's trick is never claiming coding has no value — it quietly insists that value has to be capturable by someone else's ledger. Once you notice that move, the whole feed reads differently.
My answer to your question: a tiny collection of browser-based text tools — case converter, duplicate-line remover, word counter — that I built mostly to scratch my own itches. It will never be a business, and that was the point. Some of the most absorbed hours I've had this year were spent on it, because nobody was waiting for the output.
The quiet rebellion framing is right, but I'd add one thing: don't fence it off to weekends. The best production code I've written came from sessions that started as play and were allowed to stay play for a while.
Naming that the doom stream never claims coding is worthless — it just smuggles in that worth only counts if it lands on someone else’s ledger — is the sharpest diagnosis of the trick anyone’s offered. Once you see that move, half the feed reads differently: it’s the market quietly insisting it should get to price your attention. Your text-tools example is the perfect illustration — never a business, and that was the point, and it gave you some of the most absorbed hours of your year precisely because nobody was waiting for the output.
And your addition is the one thing I’d correct in my own piece: don’t fence play off to weekends. Framing it as a “quiet rebellion” for your own time accidentally concedes that work hours belong entirely to the ledger — when, as you say, the best production code often comes from sessions that started as play and were allowed to stay play a while. The joy isn’t the opposite of good work. It’s frequently the source of it. Going in with that correction.
For me AI went the other way 🙃 it took the boilerplate, and what’s left is mostly the part I always liked. Turns out the fun was never in typing getters.
Ha, that’s the optimist’s cut of the same coin, and honestly a fair one — if the fun was never in typing getters and wiring boilerplate, then handing that part to the machine just concentrates what’s left into the good stuff: the thinking, the shape of the thing, the problem worth solving. For some people AI didn’t take the joy, it took the chores. I think both can be true at once, too — it depends entirely on which part you loved. If you loved the puzzle, AI cleared the desk for you. If you loved the making-with-your-hands, it took the hands. You clearly loved the puzzle. Lucky you — and genuinely, I mean that. 🙂
Lucky is the right word. I didn’t get to pick which part I’d end up loving.
None of us picked which part we’d love — so “lucky” is just your wiring lining up with where the chips fell.
I really like this perspective. With all the AI hype, it sometimes feels like we have to justify every line of code we write. Sometimes I just want to build something cool, figure things out myself, and enjoy the process. Not everything needs to be useful or profitable.
AI destroy creativity drastically, destroy the fun part of many things. For example, I remember how fun was to write post even with errors without a robot assisting us.
And it's not only "un-fun" to write code or post, it's becoming "boring" to read it or consume it too.
Remember 1984. Everything, everyone is the same then no one is different? Fight for the difference, write from your guts code and post without ort minimum assistance and be prepared for, what Byung-Chul Han say: this world do not accept the different and will try to destroy it too... but at least will be fun.
'It doesn't argue with you, it soaks you' is exactly how the doom feed works. What helped me was splitting it up: the day job can be optimal and defensible, but my evening projects are allowed to be slow on purpose. Some nights I'll hand-write something an agent would do in four seconds, just because I want to understand it. Zero ROI, full joy.
Just in today's VC chat, I asked if anyone still programmed just for fun. :)
Thank you for this post! :).