Coding with my assistant
In the beginning of 2017 me and my wife decided that we would share out maternity leave and I would stay home for a year. I would take a break from my work at Toggl and become a full time stay at home dad. In the amazing country of Estonia it is possible to stay at home with your small child and the state will pay you your average wage in the period of a year and a half. So for a year I would have no worries about salary or work and could focus on raising my little girl. Almost.
How did it happen?
In January we had an issue that we often we struggled to remember when the baby’s feeding time was. We tried writing it down, but struggled to do it consistently. For how long can you try to remember your baby’s feeding times according to the commercial brakes of Walking Dead. So I created an app that would help us — NomLog.
While creating the app I shared other ideas about apps that I had running in my mind and then it happened. “How about you build an app a month for this year, since you are not coding for work”, my wife said. It sounded as an amazing idea. The time constraint would force me to only create the most important parts of the app and it would allow me to create all the apps that I thought I liked to create, but didn’t have the time.
Where do you find the time?
Staying home with a little baby is no vacation, let’s start with that. Everybody has 24 hours in a day it’s just how you use them that counts. To make time for something you need to drop something else. From the start I knew that although the challenge of coding 12 apps was important to me, I could not take the time to code from my family time. During this year there were only few times when I spent coding away when I could have been spending time with the family. But when do you code then? A fair question. I defined my so called “Work time” to be in the early morning, when the family was sleeping, the time for our girl’s little midday sleep and the late nights when the whole family was already a sleep. The most productive time for me was from 10pm to 2am. That’s when most of my apps were created.
The apps
I successfully created and released 12 apps or games in 12 months so the whole challenge was a great success. While being a great learning experience and giving me a lot of wisdom about releasing things, I would really think twice before doing it again. Here is the amazing list of my efforts in this challenge:
NomLog — Baby feeding tracker As I already described this was my first app and I got some great feedback from the fresh moms to tweak it to fit the most basic needs. You could track how much you milk the baby received, when was the feeding time and what was the source (bottle or which breast). Also you could setup notifications so you’d know when it was time to eat again
NomLog — Just log and forget
MisBiit — Eesti raadiotes hetkel eetris
Misbiit (meaning “What Beat” in Estonian) was a simple app that would show you what songs were playing in the most popular Estonian radio stations. The info about the songs came straight from the radio station’s servers so was as accurate as it could be. When creating this app I got in touch with all the stations and asked for permission to use their data. I was really surprised that all of them were very excited to hear about my project and offered me help and tips about their servers.
In the app you can see what song is playing, add it to you favourites list and also listen to all the stations. I actually created a prototype for the same app about 4 years ago and just kept it for my personal use. At the time design was nonexistent and the list of radio stations was very short.
Gives you answer in seconds
Fruity Fingers — Fast paced mobile reflex game
As the title says, it’s a simple tap-all-the-fruits mobile game. I also had a very basic prototype for this project created a while back. The prototype was very simple and just a concept of taping things that appear. To make this game shine I had to put in some solid work.
Tap all the Fruits!
Trigger Reflex — Western themed duel game This was the most graphically ambitious project of the year. When I started this game it was meant to be a local multiplayer PC game, but as releasing a PC game is much bigger thing than pushing out a mobile release, I decided to only release this game for mobiles. I have plans to continue working on this game and push it out on PC, but this will be at some unknown time in the future.
Basically it is a western duelling game for mobiles where you have to tap the bullet button that appears somewhere on the screen. When you tap the bullet your hero draws the gun and shoots. If you are fast enough you will blast away the enemy and stay victoriously standing, if not you’ll be the one on the ground.
Are you fast enough?
LoveNote — The Modern Way of Saying “I Love You”
As the month of May is the birthday of the love of my life I decided to go all in with the gift this year. I created an app that would make it possible for you to send all your love notes to your special person with ease. Needless to say my wife was pleased and so were a bunch of other people who found it useful.
If you can’t say it, then just app it!
ColorSkip — Game so simple you should just play it!
Probably the easiest and fastest project of the year. As I put in a lot of hours and effort to the Love note app, I needed something easier and plain dumb to take down the pressure. ColorSkip was just that, simple, dumb and easy to pickup. Player has to tap the screen when the background color and the text don’t match.
Heyy, that’s not blue!
LetsGo — Never miss an event again!
LetsGo was again an idea that I had running in my mind for some time and I just couldn’t find the time or motivation to tackle it. The final push to start working on it was at one of our monthly dates with the wife. We were in a restaurant and wanted to continue the night at some lounge or night club. I opened up the Facebook app and looked for event for Today. As it was already past midnight the Facebook app showed me only event from the next day. I was confused and disappointed. At that moment I knew it was time for a better app for events. The LetsGo app allows you to see what events are happening around you, so you would never miss an awesome event again. The data comes from Facebook events API so only events in Facebook are shown. You can set the focal point and the radius you want to see events from. Also you can check out the events in a list or on a map.
No more missed discos, ever!
Annoy — World’s most annoying gaming experience!
After releasing LetsGo I was kind of annoyed by the idea that I had to come up with a new app and execute it in the next few weeks. Then it hit me — Let’s do something annoying to express my current emotions. That’s how Annoy was born. A game just too annoying to be a positive experience. The game has different type of levels that each are challenging player’s temper and skills. To start the game you have to tap the start text at least 20 times so this sets the mood for the whole game.
This game actually got a lot of attention and I was even asked to go on Estonian national tv to speak about it.
I broke my phone playing this so be careful
Timebite — Online time wasting tracker!
Timebite is a Chrome extension and I created it from a real need to know what is going on with my time. Every time I started to code one of my projects I felt as time flew away and I was moving forward really fast. So I created this Chrome extension that tracks web pages you visit and then categorizes them either productive or time wasted. I figured out fast that starting my workout session with Youtube was never a good idea.
Why you slackin’ bro?
CirlceBox — Boxes and Reflexes!
CircleBox is a casual game for mobile where you have to hold your finger on the screen to move around a circle. The main aim is to collide your circle with only boxes that have the same color. Every time you lift your finger from the screen the color changes so be careful. This game was a totally new concept and it actually came to me quite fast. This is the only app that I decided to make a paid app.
Tap and Snow — Snowfight with balls
A snowy reflex game with snowballs for mobiles. The concept of creating a snow fighting game had been in my mind before, but I hadn’t created a certain concept. The idea of this game is that you are put to a snowball fight battleground and you have to dodge and block all the snowballs that are flying toward you.
Luule — Eesti mõnusaim jõululuuletuste äpp
When Christmas came knockin I was again faced with the issue that I did not know any poems. (In Estonia people have to read poems, sing or perform in any other way to get their presents). So I decided to put together a poem app that had a bunch of poems in it that you could then memorize or read from the app. Sadly I had some issues with the rights of the poems so I had to take down the app for the time being.
What I learned
Starting this challenge I had released only 1 game and it was a platformer called ZombieRun. It took me 2 years to create the game and I wasn’t still happy at release day. Now the number is 13 and some projects are still mid-development and will hopefully be released in the future.
Development
For the first app NomLog I used Cordova. I used it because I had experience with it and it was the easiest for me to get things done fast. While coding it I felt that the styling was not working as I expected and it just felt off. I decided to learn React Native and I’m glad I did. All the other apps are created with React Native and it is indeed an awesome tool. If you get a hang of it, it’s easy and powerful with a large community. For games I used HaxeFlixel a 2d game development framework. Haxe is actually a programming language that compiles to different languages and is cross-platform. It allows to create multi-platform games from one single codebase.
Done is better than perfect
With this journey I learned the most important thing about getting things out there. It’s the good old feature freeze. When starting a project I would write down a list of features that I would like to have in the app/game. As the development went on I would move high priority things more to the top and eliminate all “nice to have” things.
Things happen to people who make things happen
During my time developing these apps I had a reason and a chance to get in touch with many new interesting people. Possibilities that would not have happened if I wouldn’t have made these apps. I was asked to go to speak in the radios 2 times and 1 time I got the chance to be a guest in the daily live show on tv. Also I got the chance to contact all biggest radios stations in the country to get info and permission to go a head with my radio app MisBiit. All these experiences that came to live because I was creating things and getting noticed.
Statistics
Let’s start with the stats about my coding habits.
- I programmed over 300 hours in 2017. (Taking time off programming you say?) On average, I programmed 1 hour and 9 minutes per day.
- I mostly used Sublime Text on Mac and my top language was Haxe. (Guess who’s the big Haxer in Town!)
- My longest day was coding for 8 hrs 19 mins on Dec 20 2017
The time accounted for is only the time I spent inside an IDE writing the code. The process of research, idea generation, UI/UX design, and App Store/Play Store content is not included.
Statistics about apps
- In total all my apps have been installed more than 20000 times
- The most popular app until today is LoveNote — The True Love App
- The app that just did not find it’s audience is ColorSkip
- Fun fact — The Annoy app was featured in South Korea and got a really big spike of impressions on it’s first week ( about 200000 impressions )