journal // Jul 26, 2024
Indie Hacker Diaries: July 22nd-26th, 2024
“So when you can actually focus on a pain, and get a pain killer for it, not a vitamin...the difference between a pain killer and a vitamin is very clear: one, you need—"I gotta get rid of this pain"—a vitamin, maybe it works, maybe it doesn’t, maybe somebody needs it, maybe not; it’s all marketing stuff. So you start with the pain, give em’ a pain killer and hopefully if you can do it in the right way you give them a superpower. An emotional superpower.”
— Tony Fadell
Interesting Links
ImprovMX - Needed to forward email for a new idea and stumbled across this free forwarding tool on Google. Lets you set up a forwarder for all inboxes at a domain to another email address (i.e., no need to have an email server/service just to get things like password emails).
IPX - Found a tweet mentioning a dynamic image processing package for Node.js. Great little tool for handling stuff like conversion, resizing, cropping, etc. on the fly.
NO-IP - A handy tool recommended by a client years ago that I recently remembered (h/t Marvin). Looking to run some Joystick apps off my Linux box at home and needed a static IP address. This tool let’s you create a pseudo static IP for cheap so you can route a domain to a local IP.
Pro Tips
Let your brain lead the way
When I sat down to get work done this week, I had an overwhelming itch to work on Joystick stuff. It’s been a few weeks since I really did any heavy development and decided to go off-script a bit and just get through tasks. The end result? I was able to clear out all of the outstanding stuff before an RC2 release and clean up the issues list on Github. Scratching that itch led to an insanely productive week and from experience, there’s something to that. Don’t try to schedule/plan everything—let your brain focus on what it’s interested in.
Write down your ideas, notes, etc.
One of the things I added to Joystick this week was dynamic pages. Up until now, Joystick didn’t have an SPA (single-page app) convention where you didn’t need a page refresh to go to a new link. This week, I implemented an idea that I later realized I had written down in January of this year (and had been thinking about for at least another 12-18 months). Those notes made the implementation go extremely quickly as I had already done the thinking part, I just needed to do the implementation part. Write. Down. Your. Ideas.
Don’t get in your own way
While implementing the SPA feature in Joystick this week, I ran into some issues with the virtual DOM diffing algorithm in Joystick. It’s worked fairly well the last few years, but it had some edge case glitches that were really bothering me. Even worse, it was preventing the idea I had for the SPA feature from working. So, I decided to see if AI was up to the task. I took the existing algorithm and asked it to make a few adjustments, describing some bugs that I ran into. An hour later? We had a completely overhauled algorithm that solved all of the outstanding issues.
If you would have asked me if I’d trust this a year ago, I’d shout “no!” What I’ve realized about the AI stuff, though, is that it’s not a replacement for developers/quality code, it’s a performance enhancing drug (minus the whole jail time part).
Watching that refactor come together, I realized the importance of getting out of your own way and not letting old opinions or biases toward doing things a certain way stop you from moving forward. When it comes to AI/LLMs, the quality is still up to you, but they can get you where you’re going a hell of a lot faster.
Push ideas forward and evaluate
I’ve had an idea for an app/SaaS I’ve wanted to build for a long time bouncing around my head. Recently, as part of all the AI-driven development, the idea started to crystalize and take shape. Last night, I decided to spend a little bit of time coming up with some branding, mocking up some UI screens, and thinking about a potential business model. After I publish this today, I’ll be getting to work on it.
Where that leads, I’m not sure, but just letting the idea flow and seeing where I get has only served to help in the past, not hurt.
What I Worked On
- Cleaned up issues in the Joystick repo. There were nearly 200 issues open (I use Joystick to track features, refactors, and chores as well as bugs) which I got down to 66. There was a lot of stuff buried that was long completed but not closed.
- Finished up work on database binaries. I need to do a little more testing and write some docs, but now you’ll just be able to download Joystick on MacOS, Windows, and Linux and have your database auto-installed for you.
- Overhauled the virtual dom diffing algorithm for Joystick using Claude AI. Truly impressed by the result considering the limited context I gave the LLM.
- Implemented dynamic pages in Joystick (SPA). This was a long-standing, “last big missing feature” for Joystick. Now, you can build an app like Spotify with Joystick. Exciting as I’ve been itching to build a little home media center app and now it’s possible.
- Came up with a new SaaS product idea and started to implement it. More details on this later, but I think everyone reading this will enjoy it.
Final Thought
Always be shifting, rolling with the punches, and adjusting your stance. Go left. Go right. Duck. Swing. I love to watch old Muhammad Ali videos and in particular, have always thought his popular “float like a butterfly, sting like a bee” line was business advice disguised as fighting advice. If you’ve kept up with my work, you’ll know that I’m always changing course. I learned the importance of this the hard way, after sinking years of effort into ideas that either didn’t work or I decided to abandon.
What I learned from that is the importance of flow, and not getting too caught up in your own consistency bias. What helps is having an awareness of the ultimate destination you’re heading for, allowing yourself to follow detours that still get you there along the way. Commit to an idea and push it forward, but when you realize you have a better idea, explore it and see if there’s something to it. Worst case scenario, you can just double back to the main road later.