One hour of side project coding a day - UPDATE #1

How to take advantage of any spare time you have to deliver mini side projects

Andy O'Sullivan
7 min readFeb 7, 2018
who needs fancy protoyping tools?

This is the first update since my post about my plans to do one hour of side-project coding a day in 2018. I wanted to give it at least a month before I did any updates, so I’d have some time to see how it was going after the initial burst of enthusiasm!

Insight #1 - Take any spare chance you get to work on your side-projects

That image at the top of the post is a photo of two pictures - one is (I’m sure you’ll agree) a rather splendid painting of a flower, by one of my daughters, and the other is an early mockup of screen designs for an app I’m building.

I drew them one Saturday morning in January when my kids asked me to paint with them. I wanted to draw something with them - but they insisted that I draw something myself. They didn’t want me interfering with their paintings but wanted me to spend time with them! (As an aside, almost 10 years of parenting has taught me that all kids really want is to spend some quality time with you).

So I took the opportunity to draw some designs - and get some feedback from the kids in the process. It’s all about the early feedback 😉

Likewise, there’s been a few other times in the month when, instead of planning to sit down to write some code, or work on some backend services, I’ve just come across some spare time. If this happens - grab the MacBook and do some work before something else comes along. I stayed up late to watch the Superbowl - and got a ton of work done on an app!

Insight #2 - Plan your side-projects as well as you plan your professional ones

Just because you’re building something in your spare time doesn’t mean you shouldn’t go through the same rigorous process that you would while building a professional app at work. At a high level for each project you should:

  • Design first. Don’t just start building, design out what you’re going to build and why.
  • Validate your design by seeking feedback from family or friends. I don’t think I’ve ever regretted asking for people’s opinions on designs or projects. You don’t have to agree with everything they say, but in general more than one set of eyes is always better.
  • Plan how you’ll build the design. I use Trello to plan tasks, even without going into too much detail:
  • I find this helps to plan out the work needed to get the solution built and also provides some perspective on the scale of work required. Sometimes when you take the time to write out all the required steps, you realise there’s a lot more to do than you first thought.
  • It will also help fight against “scope creep” — the continual addition of new features and ideas.

Insight #3 - It’s really hard to find time for this challenge

There’s no point sugar-coating it: it’s really hard to find one hour a day to work on side-projects. Here’s a few other things competing for time in my life at the moment:

  • My actual job — that I love! We’re working on some really cool projects at the moment (one so cool I’m not sure that I’m even allowed to blog about it) that I think about at home as well. When you’re working on something interesting, you may not want to just think about it in the office anymore.
  • Expectant wife — there’s no denying, the Mrs. is due soon and there’re things to be done before the big day. Assembling cribs, trying to fit four car seats in my car, and so much more!
  • The Plague* — Pretty much the whole family has been sick in January at various stages.
  • Netflix — Seriously! I once read that Netflix considers sleep to be its main competitor. I heard Triple H say the same thing about the NFL Network at Web Summit last year. For me, one of this challenge’s main competitors is definitely Netflix. Has anyone seen how good Star Trek Discovery is? Series 2 of Travelers? It’s difficult to decide between Code or find out what happens next… 🤔

*Not actually the plague. It just felt like it.

I don’t mention all these to fish for some sympathy. I realise I’m lucky to have a great family, a great job, and Netflix, but I just wanted to highlight that life will get in the way of your side projects. I’ve found out that some nights I do a few hours of coding, while others I may not even reach a full hour. But, I make sure I do some coding everyday, as it’s a slippery slope if you say “I’ll do it tomorrow”.

What have I actually achieved?

I can waffle all day about the challenge, but at the end the proof is in the results. So here is what I have actually achieved so far:

Make Believe - An Alexa skill to suggest make believe games for kids to play. I built this for my entry to the Alexa Kids Skill online hackathon. I had three months to build something, but only spent about 10 days on it. That’s one of the reasons why I started this challenge — to give projects like this the time they deserve.

Given the small amount of time I spent on it, I was only able to put in the basic ideas I wanted (allowing kids to get suggestions for make believe games) so I wasn’t expecting to win! But I enjoyed making it, and now that the hackathon is over, I’m going to spend more time on updating the Skill to add the extra features and ideas I have for it.

For those who haven’t tried building an Alexa Skill yet, it’s pretty straightforward. Check out my tutorial here if interested.

What was good about the hackathon, though, was that there was a deadline — so I had to build something shippable. It’s a cliché at this stage, but Facebook is right: “Done is Better than Perfect”.

As Yet Unnamed App - I’m currently building an iOS app (the one in the painted designs above), that I’m aiming to submit to the Apple app store by the end of February 2018.

The main challenge that I need to overcome is that “scope creep” that I mentioned earlier. Like so many projects I work on, I keep thinking of new features to add to the app - but by setting a deadline of the 28 Feb 2018 to release, I’ll try to remain focused on getting the initial features working. I may not market it immediately, but wait until I add more features, but getting a first version out there, live, is important.

What does it do? It’s for offering perspectives into something that you’re doing - could be trying to eat healthily, exercising, working on a coding project, whatever. It’s a simple app to let you keep track of how you’re doing, in the hope that it’ll be a motivation to make good progress.

It’ll be free and will provide the user with additional features (scope creep) via in-app purchases.

The hardest part is, as expected, coming up with a name for it! Picking a name that’s unique, easy to remember and spell, and somewhat interesting is difficult. Here are some of my choices.

  • Perspective - my number one choice, but it’s already taken. 😠
  • Prspctv - try the cool startup method by removing the vowels. Already taken. 😠
  • You Track - already taken. 😠
  • Overview - already taken. 😠

You get the idea. I may just call it “I didn’t know what to call it” and see if it gets past the App Store validation. Feel free to add a suggestion for an app name in the comments.

School App - I’m behind in the delivery of a completely rebuilt iOS app for my kids’ school, mainly because I’m rebuilding the back-end as well. In January, I built a new services layer, using Node.js on API Gateway & Lambda. It’s added extra time to the original plan, but will be worth the additional effort in the end, as it will make the entire solution more maintainable and scalable.

I’m rebuilding the app in Swift (the original version was in Objective-C) and I’ve set myself a deadline of mid-Feb 2018 to get this one done and submitted to Apple. Tight deadlines but they’re needed for motivation!

Any negative impacts so far?

My blogging and tutorial writing has been impacted, since I don’t have time to write decent articles when I’m supposed to be coding. Ultimately, though, I think the extra work I’m doing will feed into better blog posts, as I find my best blogs are those talking about stuff I’ve actually done.

How are you getting on?

I got a ton of comments and feedback on my original side-project post, so please let me know how you’re getting on if you’re also trying this challenge! Feel free to hit me up on Twitter and LinkedIn.

--

--