Productivity

How To Make 12 Apps in 12 Months

In the beginning of 2017, my wife and I decided that we would share the maternity leave and I would stay home for a year. I would take a break from my work on Toggl apps and become a full-time stay at home dad.

The amazing country of Estonia offers paternal leave, making it possible for me to stay at home with my child, while the state provided my average wage over a year and a half. So for a year, I wouldn’t have to worry about salary or work and could focus on raising my little girl.

Almost.

sade_code_-apps
Coding with my assistant

How did it happen?

In January, we had an issue. My wife and I kept forgetting when the baby’s feeding times were. We tried writing it down but struggled to do it consistently.

How long can you keep track of your baby’s feeding times by timing them with the commercial brakes of Walking Dead? Turns out not long. So, I created an app that would help us — NomLog.

While creating the app, I shared other app ideas that had run through my mind; 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 like an amazing idea. The time constraint would force me to only create the most important parts of the apps and allow me to create all the apps that I wanted to make, but didn’t have time for before.

Where do you find the time?

Staying home with a baby is no vacation. Although the challenge of coding 12 apps was important to me, I knew from the start that I could not take time from my family with coding time.

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. During the year, there were only a few times when I could have been spending time with the family but coded instead.

But when do you code then? A fair question. I scheduled my so-called “Work time” while my family slept: in the early morning, during my girl’s midday sleep and late nights, when the whole family was already asleep.

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/ games in 12 months, so the challenge was a great success.

While it was a great learning experience and gave me a lot of wisdom about releasing things, I would really think twice before doing it again. Why? I’ll get into that in a moment, but first, the Apps:

NomLog — Baby feeding tracker

As I already mentioned, this was my first app. I got some great feedback from new moms that allowed me to tweak it to fit their most basic needs.

You can track how much milk the baby received when the feeding time was, and the source (bottle or which breast). You could also set up notifications, so you’d know when it was time to feed again.

nomlog_ios_main-apps
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 on 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 have been.

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 tips about their servers.

In the app, you can see what song is playing, add it to your favorites list as well as listen to all the stations. I actually created a prototype for the same app about 4 years ago and just kept it for personal use. At the time, design was nonexistent and the list of radio stations was very short.

MisBiit mobile app screenshot
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 already created. The prototype was simple, just a game of taping things that appear. To make this game shine, I had to put in some solid work.

fruityfingers-apps
Tap all the Fruits!

Trigger Reflex — Western-themed duel game

This was the most graphically ambitious game of the project. When I started, it was meant to be a local, multiplayer PC game, but as releasing a PC game is a much greater undertaking than a mobile release, I decided to only release for mobile. 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.

The game itself is a western dueling game where you tap the bullet button that appears somewhere on the screen. When you tap, your hero draws the gun and shoots. If you’re fast enough, you will blast away the enemy and stay victoriously standing. If not, you’ll be the one on the ground.

trigger_reflex_og_1200x630-apps
Are you fast enough?

LoveNote — The Modern Way of Saying “I Love You”

As the love of my life’s birthday is in may, I decided to go all in with the gift this year. I created an app that would make it easy to send love notes to your special person. Needless to say, my wife was pleased and so were a bunch of other people who also found it useful.

lovenote_main_1200x630-apps
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 off the pressure. ColorSkip was just that: simple, dumb and easy to pick up. The player has to tap the screen when the background color and the text don’t match.

colorskip_1200x630-apps
Heyy, that’s not blue!

LetsGo — Never miss an event again!

LetsGo was, again, an idea that I had running through 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 on one of the monthly dates with the wife.We were in a restaurant and wanted to continue the night at some lounge or nightclub. I opened up Facebook and looked for events happening 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 events better app.

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. Drop a pin and set the radius for the area you want to see events from. You can also check out the events in a list or on a map.

letsgo_main_1200-apps
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 — I’ll do something annoying to express how I feel. That’s how Annoy was born.

A game just too annoying to be a positive experience. The game has many different types of levels but each challenges the 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.

annoy_og_1200x630-apps
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.

So I created this Chrome extension that tracks web pages you visit, then categorizes them into either productive time or wasted time. I figured out fast that starting my workout session on Youtube was never a good idea.

timebite_main_1200-apps
Why you slackin’ bro?

CirlceBox — Boxes and Reflexes!

CircleBox is a casual game for mobile where you hold your finger on the screen to move around a circle. The main aim is to collide your circle with only boxes of the same color. Every time you lift your finger from the screen the color change,s so be careful.

This game was a totally new concept and it actually came to me quite fast. When thinking about creating mobile games, I usually visualize a game with a pretty design and simple mechanics. That’s exactly what CircleBox is: a nice color palette and very simple idea.

circle_og_1200x630-apps

Tap and Snow — Snowfight with balls

A reflex game with snowballs for mobiles. The concept of creating a snow fighting game had been in my mind before, but I didn’t have a specific idea. 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.

tapandsnow_1200x630-apps
Dodge all the balls!

Luule — Eesti mõnusaim jõululuuletuste äpp

luule_screen-apps
All the poems at your fingertips

When Christmas came knocking, I was 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 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. I think I’ll get all the rights needed before next Christmas and Luule will be back again.

What I learned about building apps

Starting this challenge I had released only 1 game and it was a platformer called ZombieRun. It took me 2 years to create and I wasn’t happy with it even after release. Now I’ve released 13 projects, many of which are games. Some projects are still mid-development and will be released in coming months.

Development

For the first app NomLog , used Cordova. I used it because I had experience with it and it easy for me to get things done fast. While coding, I felt that the styling was not working as I expected and it just felt off. That’s when I decided to try out React native for my next projects and I’m glad I did. All the other apps are created with React native and it is an awesome framework. If you get a hang of it, it’s very logical and powerful with a large community.

For games, I used HaxeFlixel, a 2d game development framework created in Haxe language. Haxe is a language that compiles different languages and is cross-platform. It allows the user to create multi-platform games from a single code-base. During the development, I had a chance to learn how to create different functionalities like ads, analytics, social media sharing and leaderboards for two frameworks.

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 apps/game. As the development went on I would move high priority features towards the top and eliminate all “nice to have” things.

Statistics

For some time now, I’ve tracked my coding habits to see how productive I am and how diverse my coding is. Stats for 2017 are as follows:

  • 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 on down!)
  • My best day was coding 8 hrs 19 mins on Dec 20, 2017

The time accounted for is only time spent actually coding. The process of idea generation, UI, UX creating and App Store/Play Store content is not included.

All in all, I’m very happy that I took on this challenge as the knowledge I gained is very valuable when going forward with the future projects. Until next releases!

By On January 23, 2018

  1. Really interesting experiment, thanks for sharing it. At the beginning, you say you’d think twice before starting this experiment again, but I don’t see anything about this in the conclusion? I’m also really interested how you dealt with user feedback, bug fixes and basically all “maintenance” of the existing stuff as the year went on and you got more and more apps out there?

  2. Great post! Just one question: how did you go about getting the front end done? My problem is that with every idea I get everything working under the hood, but I usually abandon the project when it comes to getting the UI done…

    • I did not build backend to any of my projects. I used some public API-s to fetch info and that was it. For example I used Facebook API for the Let’s Go app. The UI is kind of a love-hate thing. I know it’s hard to get started, but when you do it’s awesome. For most of my projects I looked for inspiration online and found some good examples and then designed my UI based on it. I used React native for most of the projects and creating UI with it is quite simple.

  3. This history was very inspirational for me! Thank you for your time writing it, sadly in Mexico we haven’t the patern yearly leave (we have only 5 days not gov officialy supported)

  4. It seems that I really have no clear conclusion for the thinking twice part in the blog post. What I meant was that for a year off, the challenge caused a lot of stress because of the short deadlines and I’m not sure if I’d choose to do it again instead of taking a breather from coding.

    The good thing about simple apps is that I narrowed down the functionality to a minimum and this avoided many bugs. Usually I would get the biggest feedback about issues in first 2 weeks after release. This meant that I created one or two bugfix releases if needed. Keeping it simple is the key I guess.