1207 words, ~7 min read

Shower Thoughts 2026-01-01

Welcome to my first Shower Thoughts arcticle. This is a series that I came up with while taking a shower this morning. I am not planning on writing an article every day or anything. As I don't necessarily have significant shower thoughts every day. But when I do this is an outlet for me to get them out and share them with my future self and the world.

Of course they will primarily be business, product and engineering focused as that is where my career is spent.

Coming back to Sharing Things

For about a year now I have taken a step back from sharing things that I am working on or sharing things that I have been thinking about. This was partially because of various things going on in my life, e.g. switch to Principal Engineer at OnDiem, etc. But probably most significantly it was because it takes a decent amount of time and effort to share things and I just wasn't sure the value in terms of what it brings to other people, how much it helps my standing within the community, etc. was there.

Now that it has been about a year and I am looking back. I believe I have been looking at the "value" all wrong. I now believe there is something innate to it that helps me stay happy. I am not sure exactly what it is or why. Maybe it is some deep need within me to connect with people in terms of the things that I am working on and thinking about. But I do know at this point it is definitely a significant component that impacts my emotional state.

Beyond that if there is one thing I have found to be true over the years. It is that taking the extra few minutes to write something down generally ends up saving me more time in the future.

So with those two points in mind I am going to be coming back to sharing things more often.

Righting the Wrongs of Software Development

Another topic that came to mind while in the shower this morning is this deep seeded need to right what I see as wrongs within the Software Development world. I have tried to let go of this mental stance over the past year or so as I haven't necessarily seen a direct & clear path to profit from it.

I have failed in terms of letting go of this and have decided that for my own sanity, happiness, etc. I really need to double down on this instead of letting go of it. And not worry about the money and the profitability as much. At least right now.

So what is this mentality of "Righting the Wrongs of Software Development" you may ask?

Well, it is hard to fully articulate. So, I will simply try to call out some wrongs that I see and that I think about, some of which I may be actively exploring addressing.

  • Why is it we can have video games that can perform well above 244 hz while doing tons of computation but we can't have desktop apps that can scroll some basic content smoothly?
  • Why do there have to be so many layers to things in general? It makes everything slower, harder to debug, and much harder to make performant.
  • Why are we trying to build local state based applications in browsers via Javascript? Or maybe even in WebASM if you are really on the bleading edge. It is just more layers of what was already possible in native development in a much better fashion.
  • Why does everyone think the only way to build cross-platform applications is to do so through a browser? Making everything with much more layers and much less performance.
  • Why is it people are so attached to social networks when they generally don't breed true conversation? People would be better offer writing blog posts and simply having people email them if someone wants to comment on a post. Or maybe email a mailing list for that post so that other people interested in that topic could follow along. It would probably be better to facilitate more real meaning conversations. A mailing list could be at the author level or maybe at a per article level. And guess what mailto: links allow you to specify a subject line, body, etc. to start the email with.
  • Why is it every product feels like it has to do a million things. I want the products I use to do less things but do them better. Example I want a simple service to exist that lets people subscribe to mailing lists and that is it. I want another tool that can interact with said service to get emails from that list. Why does everything have to be so needlessly coupled. In Mailchimp for example why can't I send my own custom made raw emails without paying more money?

The list goes on and on and on an on. With tools, services, products in general that I interact with on a daily basis. The hard part is focusing and prioritizing which if any to actual focus effort and energy into. Beyond that, identifying where people went wrong with things and making sure that those things don't happen within my products.

Simple Mailing Lists & Flexible Mail Pipeline

This is an idea that I had a while back and I even spent some time working on at one point. But in today's shower thoughts it came back up and makes me think that maybe I should finish out the work to get it at least to an initial phase of completion. Making it fully usable.

The core idea here is to split out the service that allows people to subcribe to a mailing list. Making it extremely focused, light weight, performant, cross-platform, etc.

Then have another tool that can take Markdown files and produce HTML email content.

Then have another tool that can take HTML email content and send it to a collection of users.

Modular Mailing List System

The idea being that all these components that be simple, focused, performant, and modular. So that they can do their one thing and do it well. This will give me the flexibility. And who knows maybe it will give me some thoughts on how to package things up as a service or a product.

But irrespective it will give me the baseline tools to run my mailing list the way I want and give me the flexibility to evolve in the ways that I want.

You are probably going. Well, what out click tracking, and open tracking, and all that other stuff that everyone wants their email marketing tools to do. I am not doing any of it. I don't value it. What I am sharing with the world I am going to share if there is 1 person listening or 1 million people listing. That metric isn't useful to me and there are much more valuable and meaningful metrics to pay attention to.

This really boils down to simply architecting things in a better way. But this was actually driven out of my frustration with marketing automation tools like Mailchimp, etc.