Few months ago during my job search, I decided that I want to add some new skills to my arsenal (resume) so I went ahead to build a bill splitting webapp (and the month before, an Alexa skill). Granted, the backend was built weeks before during a hackathon (shoutout to HackISU), I’m just focusing on building the UI that makes post requests to the backend. In the process, I also ended up fixing some inherent flaws I left behind in the backend.

Idea

Be realistic. You don’t want to end your weekend with an unfinished product that would cause you to lose focus of work / study during the week because you “really need to go back and get it done with”. On the other hand, you also don’t want to just straight away give up in your first few hours because “it’s impossible”.

In cases where the thing you really wanted to build is huge and complicated, try breaking it down into smaller pieces and maybe span it over multiple weekends. The point being to have a realistic idea of what to expect at the end of the weekend and achieve it while not mounting yourself additional pressure (and distractions) to ‘complete’ the other parts of it during your work / study week that would jeopardize what you are supposed to be doing during the day.

![]({{ site.baseurl }}/assets/img/sideProject2.png)

Preparation

Plan

I would be lying if I said I have a detailed plan of how long I’ll take to get each part done. I just draft up the most minimal version that I think covers the basic need and leave it at that. Don’t over dictate yourself that you don’t have flexibility in case something happened to be harder than you thought, which is almost always the case.

Pick something you are not already familiar with. The best way to improve is to get out of your comfort zone. It’s also only a weekend long so even if that turn out to be something you dislike, at least you now have a solid opinion backed with experience on that.

Food & beverages

I think this is a major one. Figure out how you’re going to get food supplies over the weekend that will reduce the amount of time you spend not coding. If you usually cook for yourself, just make sure to look for meals that takes little time to prepare and prepare ahead of time too.

Also do you even Soylent? (Credit to Jane Manchun Wong)

![]({{ site.baseurl }}/assets/img/sideProject3.png)

Process

Hold yourself accountable. I’m not saying to reject every single invitation from your friends to hang out but be you have to be aware and be flexible of your schedule. If you are in the train of thoughts or ‘in the zone’ to finish up one major part of it, let your friends or whoever you’re gonna hang with know slightly in advance. I’m sure they wouldn’t mind the slightly additional wait while you have a peace of mind out partying or doing whatever instead of subconsciously constantly thinking about what you would be implementing.

Take it slow. The faster you go in the beginning, the faster you burn out. This happens a lot and everywhere. It can be overwhelming in the beginning so you slowly take your time to walk through things and watch some tutorials (YouTube is amazing) to get help on learning to build whatever you wanted to (especially with new technologies you never tried).

Take frequent breaks. I can’t stress how important it is to relax in between. You don’t get maximum efficiency by rushing things, you get them by being in between too comfortable and too overwhelmed. Personally, I would take a break and go out for a walk and fresh air every 30 mins or so. This highly differs among individuals so you have to figure out what works best for you.

![]({{ site.baseurl }}/assets/img/sideProject4.png)

Wrap up

Don’t get too hung up on the project. I’m not saying you shouldn’t be proud of it but the skills you obtained in the process will very likely to be much more valuable than that. As mentioned, you don’t want to feel obligated to come back and ‘complete’ the project in the future when you’re procrastinating while you actually have other priorities like project deadlines, homeworks etc. so its important to wrap up your project properly in a way that its a minimal product presentable but also something you understand that you can always add onto whenever you feel like it.

Of course, in an off chance that it blows up, congrats! For starters, maybe you can start thinking about how to monetize it? I don’t know (this has not happened to me). Maybe some guys at I can handle the business side can help you with that. 😉😂 /j


About me

I currently work at Apple Inc. on the role of Siri Language Engineer as an Independent Contractor through AdvantisGlobal. I spend a lot of my free time experimenting and building new things with technologies I find fun and interesting. Follow my exploration journey here or on GitHub.

This article was originally published on my personal Medium publication.