Scratching My Itches
Published by James Gallagher on .
This article takes approximately 6 minutes to read.
As a programmer, I often feel tempted to brainstorm ideas for “projects.” What is my next project going to be? How am I going to make it interesting? I’ve come to find that all of the best projects I work on are those that scratch the itches that I am facing. If I look back on the projects I have built that have lasted the longest, they all have one thing in common: they are related to my personal website.
I care about having a personal website because it’s my internet home. It’s a place over which I have full control. I do not get tired of saying this because it is something that I didn’t understand fully until I started to explore the IndieWeb. This is my home. What I do here is entirely up to me. With that freedom, I’ve been able to work on a lot of interesting projects.
Quantified Self as an Example
I’ve developed a growing interest in quantified self. I do not see it as a way for me to make life-changing discoveries. I know some people have built extensive data collection systems that gather metrics about many areas of their life. I see quantified self as a hobby. I like analyzing data and there’s nothing more interesting than analyzing data that has some personal significance. What could be more significant on a personal level than my own exercise data or the music that I listen to.
I cannot expect that any social platform will ever support quantified self integrations. But that is one of my main needs on the internet. I want to collect quantified self data and share it with the world. Because I was unable to display my data in a way that I liked, I decided to build my own solution.
Building My Own Solutions
Part of why I love coding is that I can build my own solutions to the problems that are personally significant to me. When I think about the IndieWeb, I’m always thinking about projects in the context of what itches I have. I want to build projects that solve my own problems. Having this freedom is liberating. It’s not something that you can really understand until you start coding yourself. When I see a problem with how I use tech, it’s nice to know that I can solve that problem. Visualizing and sharing my quantified self data was a problem. I built my own solution.
What I build is not necessarily for the world. It’s for me. That is what has made my personal website stand the test of time. I have devoted countless hours to building this personal website over the last few months because I have found new itches that I want to scratch. As my interest in quantified self has grown, my needs have changed. My newfound interest in coffee guided me toward starting a podcast. I didn’t want to host my podcast on a platform like anchor.fm where I would not have control over my data. I wanted to roll my own solution.
Solving problems that I experience is a sure-fire way to ensure the longevity of my code. There are a number of projects on my GitHub page that have sat their for months without any updates. This is exactly the reason why I am not too concerned about working on “side projects” on the IndieWeb. Most, if not all, of the itches I have are my own. Maybe other people have them but I don’t know how they want to solve their problems. I only know how I want to solve problems so I build solutions for me. I document on this blog so that the rest of the world can learn from what I am doing.
I would say that scratching my own itches does leave me without IndieWeb projects to work on. I don’t have any changes I want to make to this site right now. This is fine because I’d rather build software for the long-term that solves a problem I have than to write a project just for the sake of having something to talk about.
I have planted a flag on this site. It says: “I want to control my data.” I do not want big technology companies to control how I use my data. I must admit that I do use siloed systems. That’s an almost unavoidable part of using the internet. I have tried to escape using tools like LastPass and I’ve found that the inconvenience is so great that it is not worth it. I am presently using Ecosia as my default search engine but I often go to Google because Ecosia doesn’t return the response that I’m looking for in all cases.
I use Fitbit to collect my exercise data. I just don’t have the resources to build my own solution. I use Instagram to keep up to date with a few coffee companies I like. I only scroll for a minute or two a day because my feed is really short. I don’t really submit data to Instagram. If I have something that I want to share, I do it on this personal website. I am fine with using these platforms now and again because they provide me with value.
But these platforms also serve as a reminder. I read an interesting statement on the IndieWeb wiki about how you can’t reasonably expect that an API will function in the same way it did a year ago. That’s something I had never thought about. What makes this sentiment particularly significant is that I was going to build an Instagram integration on this site only to realize that their API seems to be dead, at least for people who are not creators. If I had built something using their API in the past, it probably would not work today.
I do not hold any faith in the services that I use being fully committed to transparency and allowing users to own their own data. I don’t complain about it. I just put all my important data on this site. My writing, arguably my most important creation on the web, is on this site. My code is mirrored to sourcehut just in case. I have a local backup. I am not being paranoid. I just feel better about not having to put blind faith into companies who may not have my best interests at heart. They probably don’t. I’m just a customer to a big tech company. On this site, I am the webmaster.