A month or two ago I decided I was going to finally build a mobile app I was wanting for a long time. Since I have very little time with work and family stuff to do, I would usually get an hour or so on it. But being honest, it felt like I was pulling teeth. I really do not like mobile development, mostly because it’s in languages and paradigms I’m not used to. It also is very front-end heavy, using methods and designs I am not comfortable with. So every weekend for two months I would struggle and stress about getting it done.
But that’s not all. I am very…enthusiastic about business. I love the idea of running a software business. Any time I have some financial stress, my immediate response is to try to build a business. (I’ve discussed this previously) So add the stress of building a business to rescue my family onto the stress of feeling like I have to building something I don’t want to build. It’s not a recipe for success.
But Friday night when I sat down to work on it, I realized I was being stupid. This is not a business. My wife and I decided I didn’t need to work on building a business right now. I am busy enough learning to fly planes and caring for my family, I don’t need to force myself to do more. So this isn’t a business. It’s a hobby.
And aren’t hobbies supposed to be fun?
Look, I enjoy learning new languages (computer or human), but it’s not what gets me excited about programming. I love solving problems, I love making life better for people, and I love losing myself in the flow of logic and coding. I was not doing any of those. I wasn’t even learning a new language because I spend literally all week cramming my head full of new information.
So building a mobile app was not the answer. It was the “best choice” from a business standpoint because it simplified logic and removed the need for data collection and back-end servers. It would provide the most seamless experience for the user. But if it never got done, or if I was miserable the whole time, would it really be the best? So I decided I could just deal and build a web application. But when I sat down to build it I started thinking about authentication, complex databases, and deployment I realized I had gotten too far into frustration and just wasn’t up to even a web app.
Just as I was thinking about that, someone sent a message in the church Telegram group. It made me think of how I’ve wanted to try building a bot for at least a decade but never had any good candidate. I was encouraged by reading Borodutch’s blog, but still didn’t have anything to build. But then I realized: the app I wanted to build was for church stuff, so why not go where I already know people are and make a telegram bot? Bonus: I don’t have to build a front-end in the same way.
So yesterday I built the HowChristlike bot. It walks users through the Christlike Attribute Assessment found in Preach My Gospel from The Church of Jesus Christ of Latter-day Saints. I made it a personal goal to take the assessment every week while serving as a missionary for the church, and I found it provided a very good snapshot of spiritual progress. But once I returned from the mission field I found it frustrating to take the time to pull out the assessment, write down all my answers, and do the associated math without the large amount of dedicated study time. So since coming home I haven’t really done it almost at all. I feel like my spiritual development is at best stagnated and I wanted something to help me focus on the change. The goal is to have it remind me weekly to take the assessment and report on improvements over time. I’m sure there are other cool things I can do with it, but I’m going to do them as I get to it.
Anyway, the point is that yesterday was the first time I have had any fun programming in many months. I’m sure that’s a huge factor in how I managed to learn a new framework and build and deploy my bot in a single day.
Hobbies should be fun. Hobbies don’t need to be a business. It is important and enjoyable to just do something for fun sometimes. And honestly, I feel way more inspired after that small success. I’ve already thought of several more bots that I can build and I’m actually excited to build them.