Debugging Dan
My personal journey balancing life, a job and sideprojects.
 

004 - Completing a project

01-07-2024
podcast observalyzepodcastprojects

In this episode I discuss the challenges of completing a side project. Adding gamification to Observalyze is used as an example, as is starting this podcast.

This the article from Antoine that I mentioned: Side Projects: 10 Tips for being successful, about ending on a high note.

Transcript

Today, I'd like to talk about completing projects and completing things. So my current side project that I'm actively working on is Observalyze. I'm in the process of having a pivot for that project. It used to be only about app insights and analytics, focused on SaaS platforms and getting real insight into user activity. And I pivoted and changed it to a gamification platform that also has app insights. And what I noticed is that I was having trouble completing it.

So for context, it's a side project for me. I have a full-time job during the day. I have a family. I don't really have other hobbies than doing fun stuff with my family. And I do side projects, but no really other hobbies. So I get to spend like five to 10 hours a week on side projects and making a pivot for gamification was a pretty big change, which then will take me several weeks. And at some point in April, I started and then I was already having some issues motivating myself getting it done, because in the beginning I was really inspired by the idea and really making progress.

But at some point it became more monotonous. And when I did all the fun stuff, like doing the socket implementation in the real time to do the crud, create update stuff, building the SDK, stuff that was already working, but building on top of that. And I had trouble getting motivated. What works for me is when I start to write down a really detailed to-do list. So activities that might take 15 minutes to half an hour. And for me, that really works because sometimes I only have 15 minutes or half an hour to work on something. So that doing it really detailed gives me a very specific part on what I need to do to get some big item done in this case, gamification for server-wise, but it will also help me when I sit down and I figure, hey, I have time now, what was I doing?
I can see very detailed what I was doing and what I need to do to move on to the next item.
So that really worked for me.

I have a tablet where I can take notes digitally. So I use that to really create detailed lists and I created a high level list of items. And then for the more complex ones, I just created the new page and I created all the to-do items to do that specific beer item. And that really worked for me. And what I figured is what will also help me is if I create a deadline. So in the beginning of May, there was Easter at the end of April, my kids were having a two-day holiday and then I also often have more time to work on side projects because I don't have to get them ready for school in the morning, but those were all items that helped me getting a bit more time.

And I figured, hey, Pentecost is the last vacation day, mandatory vacation day that we have in May and also in the months after that. Let me set a deadline for Pentecost to have ever been done. When I set the deadline, I knew it was very challenging.
I didn't really know whether I was able to make it, but I figured now that I had a deadline, the dot on the horizon, that's something that I can work too. And it also kind of helped because it helped me remove features that I figured at the beginning, oh, that needs to be in there. But as Pentecost came closer, it turned out that if I had to do that, which was a big item, I wouldn't be able to read, come, done on the deadline that I set. And that deadline was yesterday, spoiler alert, I wasn't able to meet the deadline.

I'm almost there, but I didn't meet the deadline. That's kind of the introduction. Topic of today, completing. So I already told you one of the methods that I use is to make a really detailed planning. And for me, that helps because I have only small iterations of time.
I have some time in the weekends, Sunday morning, Saturday morning. And during the day, I wake up at like, I try to wake up at 6.15, often I'm up at 6.30. And then I try to do some side project work between 6.30 and 7. Sometimes it works. Sometimes I'm not able to get up and sit behind the laptop and I just read some other stuff so that it differs.

But if I'm motivated, I'm often able to also get some work done in the morning.
But for Observalyze, I was on a good track. The planning was proper. So if I had been able to really focus for the last few days on it, I would have been able to complete it, I guess. And the reason that I didn't, I think it's kind of twofold. Of course, having a couple of extra days off doesn't mean I can spend all that time on side projects. It also means that I have time off with my family.
So I also did fun stuff with my family. We went to the theater, went grocery shopping together.
We did other fun stuff.


And I'm not a machine, so I'm not able to do fun stuff and then get home. And then I dive immediately behind my laptop now, played some board games. It was difficult for me to get my head into the zone to say to my family, hey, I'm not going to be participating actively in family life for a couple of hours, even though that would have been fine. I would have accepted it and also said, hey, it's okay if you do that. Just tell us how long and we'll know what to expect.
But I also find it difficult for myself to really take that time and step out of that family life and then do stuff for myself. And I'm also able to do some side project work in the evening sometimes.
But in the past few days, I had trouble. I did less work during those off days than I expected.
And one of that was, there was also family time. The other one was that kind of also meant that it was completed. And I said to myself before, when it is completed, I'm not going to immediately start working on a different project.


Now I completed Observalyze gamification, then I'm going to have to work on marketing.
So I already upgraded my Twitter account to premium. I started debugging then, so I registered accounts in the lanes a couple of, no, two weeks ago. So I also need to start figuring out how I'm going to do that.

How am I going to do the marketing? And of course you could argue that should be something that you already have figured out, but that's not the way that it works for me. I focused on completing serverized because that's development work and that's what I do that.
I'm always a bit hesitant to start a work that I'm not that good at, like the marketing
for example. Development is done on Observalyze, hopefully today, when I have some time to work on it this evening, I have to do more marketing.

So I plan to do some streaming or recording or adding Observalyzed gamification to one
of my other projects and see where we go from there. And it's not going to be something that goes fast or viral, but I need to start working on SEO, start working on getting more content out.
That's the goal. So let's, even this podcast, I haven't, when I'm recording this, I haven't put out the
first episode yet. I first need to figure out how to do the editing. I'm going to, how the process works, I've never really done, I've never done a podcast before. So that's something that I still have to figure out. And that's also something that because I haven't done it before, I really need to sit to figure it out, to do it and to make sure its quality is good enough. So because I've already accepted that by doing it from the car, the audio quality isn't that great. I've already accepted that because I don't have a lot of time, I can't really do a lot of editing because that takes a lot of time. I don't have any budget to hire an editor. So I need to do that myself. So I have to do everything in one take.

So I think that's already also stopping me from really completing Observalyze because when I've completed Observalyze, I've need to get into that big great unknown. And as I'm telling you this, I think I already have the answer for this. I need to create a detailed to-do list for the next steps.
Sometimes that's easily done. On moments I really need to sit down and focus on doing that and find the time because I need to get into the proper mindset to be able to figure it all out.
But now I hadn't really realized yet that I just need to start writing down the stuff
that I want to do and so that I can also reorder it. And when I see it before me, more ideas will start coming and I will just have a better grasp of what I need to do.

Of course, as I already mentioned, prioritization. What is most important after completing Observalyze to continue with? Is it giving this podcast out? Is it doing the branding, getting designs out for thumbnails or for my YouTube banner? Or do I want to change things more for debugging then? Or also I'll rename my NPM account or GitHub, or can that be done later? That kind of stuff.
So yeah, I think those are the two things that really stopped me from completing Observalyze.
And I had a lot of fun with my family this weekend, so I don't feel bad about not completing
Observalyze. I do feel bad about the second reason.


But now that I've talked it through in the podcast, basically, and you were just a witness
of that, I kind of figured, okay, I had to take some time somewhere in between while also working on Observalyze to write the things down and I want to do next so that I get a proper idea of what can be changed and what needs to be done next time. So that might be something that I do probably not tonight because I did some work this morning and I was able to end up on a high note, which I will go into later in a few minutes, perhaps tomorrow morning or because the rule is that sometimes I need to be in a proper mindset. Sometimes I can also do it in between and just write things down and then later on when I have some more focus, I can iterate on what I've already written down. Yeah, so this morning I ended on a high note and that's something that was verbalized by an old colleague of mine, Antoine, who mentioned that when doing side projects, there comes a time to stop working on it, you need to end your work on a high note.
So try not to end it in the middle of a debugging session when you don't know what's going on
and why it's not working because that will make it harder to pick up what you were working
on the next time.


If you have some kind of mental barrier that you know, okay, I was in this mental state
and I felt pretty bad because I wasn't able to find the problem, if you just created that
awesome feature or function component or visualization and at that point you figure, hey, I'm very
happy about how this is going, then you should try to end it or stop and do something else
so that next time when you decide, hey, I want to continue, you have the positive feeling
of, hey, I ended up and I did something awesome. So the next thing I'm going to do is also going to be awesome. So that's the thing of ending on a high note, which is very important. And this morning I ended on a high note. Yesterday I had some stuff that wasn't working because I had published new version packages for the SDKs. It wasn't really working properly. I needed something to connect to the local system instead of the live Observalyze system. And I hadn't built a way to configure that yet in the boilerplate that I'm using. So I needed to update the boilerplate package that I'm using. So all kind of small things that piled up together and just threw up a barrier that
told me, okay, maybe you're not going to finish it. So I grabbed my steam deck and I started playing a game because I figured, hey, my mind is currently not in the mood. I can force it, but then I won't really make any progress. But I'll still feel bad about it. So I was watching TV and also playing on a steam deck at the same time. And I had fun on the steam deck.

But of course I would have preferred to complete Observalyze and met the deadline and was
able to share that I completed it and see how the production release went and probably
do another production release because there were some bugs that only surface when you
do a production release. And that also would have been okay because that's something that I expect because I do everything myself. So there's not somebody else doing a validation.
What I build, there's no acceptance environment, so that's okay. So I guess what I learned from talking to this podcast is that next time it's not enough to create a detailed to-do list for the current project. Maybe a detailed to-do list would be enough, but I also need to organize my to-do list
so that I have proper visibility of what I also need to do for the next site.

Yeah, so that's what I learned today. And hopefully you've benefited a little bit of me explaining how I approach completing projects. Maybe some of my tips helped.