journal // Nov 22, 2024
Indie Hacker Diaries #28: Exiting the Reality Distortion Field
Back in the heyday of 1980s Apple, Steve Jobs became infamous for his “reality distortion field.”
The other night, I came to terms with my own version of the RDF.
It’s no secret that I like to work on a lot of stuff. Call it a tick, but it’s how I do my thing. But, that has a massive vulnerability: over-optimism.
One of my favorite home-cooked sayings is “just because you have the capability, doesn’t mean you have the capacity.” I have to remind myself of this quite often.
There are realities you have to contend with that you can’t escape. Life stuff. Limits to your energy.
There’s a psychosis (and yes, I feel comfortable calling it that) in the Western world wherein the phantom “society" places expectations in our heads, tricking us into thinking we have to do things a certain way or at a certain pace. In reality, though, that “society” is just us. It’s in our minds. It doesn’t exist.
There is however a market. The people and the sentiments they hold, exchanging value for value (ideally). The economic hive mind. This is a reality that anyone in business has to contend with. If there's not a market for your thing (even if there was in the past), your business fails.
This is a hell of a thing to grapple with. One of the darker parts of being a detail-obsessed perfectionist type is navigating that dichotomy. On one side, you see infinite possibility. On the other, you see a freight train moving at you, brakes disengaged, with an array of shotguns strapped to its front grill.
So much of modern life has become about chasing a phantom success that it’s easy to lose grip on why you’re doing things. If you're only serving the market, it's unlikely you're producing anything of substance. If you're only serving your own obsessions, it's unlikely you'll maximize your own economic potential.
This is why, to the best of my abilities, I take a page from the Bezos playbook and ask "what's not going to change in ten years?" That's a wonderful question, because it helps you to realign your priorities in a matter of seconds.
It's the question I asked myself before I started work on Parrot. At the time, I realized that AI in its current form is likely to be radically different in ten years. That's why I decided to break my own mold and limit time spent on v1 to a month. Instead of letting it become an obsession, I committed, made my play, planted the flag, and said "ok."
On the dev tools side, though, I'm more stubborn.
Rounding the corner on my 18th year doing web development, it's shocking to see how little has changed. We're still building websites. Still writing HTML. Still writing CSS. Sure, the underlying technologies have improved, but the ends are still the same.
When I started work on Joystick, this was the realization I had. I knew an undertaking like that would require years of commitment. I was comfortable doing it because I knew that 10 years after starting, at best we might have some new interfaces to the web (e.g., Apple Vision), or some new web APIs, but we'd still be building for approximately the same web.
Testing out the Apple Vision for the first time back in July, I felt a smug sense of self-assurance as I pinched and moved a Safari browser around in space.
Back in 2021, I had the naive belief that I'd go from a beta of Joystick in October to a 1.0 by February or so of 2022.
Well, yeah, that didn't happen.
I've made the same promise several times over—an imminent 1.0 release—the last few years. But that promise was a guess. I underestimated the level of detail required to achieve my vision.
Today, though, I'm glad I did. Had I rushed to tick Joystick to that glorious 1.0, I would have missed some major flaws (both technical and conceptual). I would have shipped something that was a fraction of what it could have been.
Now, however, I'm taking a breath. I asked myself that Bezos question again the other day and realized "you don't have a gun to your head, get it right."
My plan up until this week was to try and steamroll through some of the missing features and bugs and drop a 1.0 before the end of the year. Now, I'm not even going to bother giving a when. Instead, I decided to "unplug from the matrix" and focus on fulfilling the vision I set out with in 2021.
That takes time. It takes patience. It takes risk.
The good news is that Joystick in its current state is kicking ass and taking names.
The blocker for me on the 1.0 side is mostly detail work, not core behavior. But, having decided not just to build a JS framework but also a deployment service and a CSS framework at the same time means my own time is limited.
But, for me, all of those things need to exist in parity before I can move my tassel to the other side of my cap.
So, the only way out is through.
To pad the journey, I’m making a conscious decision to flip off my RDF and come to terms with where I’m at. I have no choice but to accept that it’s just going to take time and a 1.0 for Joystick will have to wait till the other pieces are in place.
Considering Push is solid and looking at the near-complete state Mod is in, I’m at peace with that choice. It will happen when it happens. And I trust that, for those of you reading this that care, the wait will be more than worth it.
So, how do you put this into practice yourself?
Get real. Identify your limits and learn to respect them. Don’t trick yourself into thinking you can (or should) do more than you can do.
Work with what you’ve got. Don’t let the machine we’re all serving convince you that you need to say “how high” when it says “jump.”
Play chess. Accept that you may lose a piece or two in the process. But, know what you’re aiming at and for. If you keep that in your sights, when everything plays out, the when won’t matter.
It’s the what that people will be talking about.