Hi! I am the maker of Claritask.com, a task management framework where nothing is ever lost and everyone knows what needs to get done. Below is my story of how I taught myself to code in about a month. And how for 9 months in total, within an 18 month period, I managed to envision and build (from scratch) a fully working product with more features than some of the leading products in the same space.

It's best to float while in deep waters and not try to fight it. All in good time.

Photo by Anastasia Taioglou via Unsplash

I am no genius. Far from it. I have a hard time remembering a 5-digit number for longer than 5 seconds, unless I keep repeating it out loud.

If I was able to teach myself how to code, anyone can! Especially with the amount of free documentation, libraries, communities, and frameworks out there.

If you want to build a product and have a hunch to learn coding, this article is for you.

In the next few minutes, I will try to encourage and inspire you to jump right in. It helps if you don't have the financial means to hire someone, and you find yourself limited with choices.

That's the lucky bit I found myself in.

A little backstory

It's 2012.

I am running a small web design shop with a few team members and I'm itching, for about a year or so, to make a project management app that would act as a framework for small shops like ours. In essence, a way of working that would ensure things get done on time, in which everyone knows what's due with as much clarity as possible.

Working for various agencies and then running my own shop, I had picked up a few habits that ensured things got delivered on time and we got paid in full.

I've always been a list maker.

I had used Basecamp when it first came out, then Trello, and a bit of Asana. I've tested and tried numerous ones and always felt I could do a better one, for our needs. That's how every maker feels: "Making things and trying to make them better." Right?

The leap

Lo and behold, I take the proverbial leap, stop working with clients, and start building my very first product with a team of 4 full-timers: 2 devs, 1 designer, myself – and 2 outside SEO consultants. With money coming straight out of my savings.

Four months later, we launch.

It's now September, 2013.

Just six weeks in, we quickly make our very first sale and we run high with energy and motivation to continue. Steadily we get up close to $1,000 MRR with clients mostly in US, Europe, South Africa, Shanghai.

A few solid months in, we quickly find out that the speed of expenses is outpacing our growth, so we shuffle, pant, cry, scream, pitch to angels and investors, work harder.

Everything falls through. I let everyone go. A few clients that are left, I keep supporting on my own. No features are planned ahead.

I end up with a $50K investment (from my own savings) that didn't live up to its promise and quickly find myself with no cash to start anything new.

Side note: I believe in luck and regardless how much you push, cry, or pray — products have a life of their own. But, that's a subject for another time.

On with the story.

What next?

It's 2015 now. I am back to working for clients. Web design and some lightweight front-end support (HTML/CSS) is what I did back in the day while running my design shop before taking the leap, so I take on a few projects to make ends meet.

I am a father by now to a 4 year old son and have a daughter on the way.

Things are Ok. Some money is rolling in.

I keep working with clients, but, you guessed it — I am itching and scratching for a product. I dabble with few quick ideas on the side and hire part-time developers, to make these ideas a reality. I launch a few quick products, but my heart is not in them so I quickly lose interest and push them aside.

Reflection: Consulting is good in the sense that you do the work and get paid right after. You are a hired gun and it's (somewhat) stable.

Products are trickier. You never know how they'll pan out. However, that's the interesting part I get excited about: Making something from thin air and having people use it daily. It's a curse, I know, but that's magic for me.

It's Summer of 2017

I am ready to start something new, but my finances will not allow me to hire a single developer, let alone an entire team. Also, from burning through my self-invested $50K on my last product, I feel a bit scared and jaded to go the similar route.

So, I pick up the pieces, download CodeIgniter (a PHP framework), start reading their documentation, and slowly try to re-create a few simple examples.

It's hard. I feel lost. I want to hire someone, but I can't.

I have no idea how things are working or why they are working. I ping a few developer friends for some guidance. They help me out as much as they can (during their work hours), but I am afraid I am getting on their nerves the entire time with my noob questions.

Hint: I did have some HTML/CSS experience, but no real chops in the back-end of things where you're constantly entering/retrieving data and making things work.

The abyss 

This is the low point where I feel absolute helplessness.

I make a pact with myself that I will get a simple version of my new product out, regardless of how long it will take, or how simple it will be.

I code name it Claritask, as in "Clarity" and "Task". Surprisingly, the domain is free.

I draw it out and I start coding with the pace of a turtle, but I feel like a sloth instead. My progress is ridiculously slow. But, I keep going. I am constantly on Stack Overflow. I research answers to common problems. I continue.

I code in public and keep an updated blog on how I had created a simple insert in the database. A few kind developers and makers are supportive, which gives me the motivation to continue.

Side note: Finding a supportive group of people will do miracles to your progress and your overall well-being. I have found mine in Justin Jackson's MegaMaker club. It's not enough to "believe in yourself" — we need the support of others around us. No wo/man is an island.

Gaining momentum

3 months have passed by since I wrote my first line of code.

By this time, I keep getting better and better. I move faster. I am at a point where I am getting new ideas about how to actually build some of the features (like commenting on a task and sending out notifications to its followers). I now can execute most of the features I plan. 

I ping my developer friends with more sophisticated questions, which they don't know the answers to. I find myself digging deeper on my own. I am pleasantly surprised that I know more now than I used to when I first started this journey.

I learn first hand that momentum is king!

Lesson: Getting the ball rolling, no matter how slow, will build up into a snowball effect. New ideas will start forming in your head. You'll come up with answers in the shower. You'll sit down and execute. Your growth as a developer will be exponential. You'll surpass your teachers. It's an unbelievable feeling.

It's not all peachy

Four months in, money is short. I have to stop yet again.

It's January 2018 and for the next 8 months, I have to take on client work to try to get some money rolling in. I am a father of two now. We cannot rely solely on my wife's income, with all ongoing family and schooling expenses.

On August 2018, I deliver my last web project for a client and decide to continue solely with Claritask.

Hindsight: The good thing while briefly going back to working with clients, was that I was now doing dev work for them, which would later help me with Claritask. So, I guess everything happens for a reason, in a sense. But, the point is to not quit the long term goal, even though you have to pause from time to time when climbing up a steep mountain.

Fully vested

In September 2018 I start working towards finalizing Claritask. Now, fully knowledgeable to get the product out of the door on my own — I am confident to make the list of final features that will go on the public version.

I keep regular updates on my Twitter account under the #Claritask hashtag.

I launch a private invite-only beta around October, which helps me further refine the product with around 20 daily active users.

Finally, a week or so ago, on February 8, 2019 — I complete the marketing website and open Claritask for all to use.

One lucky bit is that I launched with active users from my private invite beta and some other ones from my previous product.

It's easier now.

How you can do the same, but better?

My ride could have been smoother.

If I had to do it all over again, I would have saved for a 12-month runway, instead of 6.

It's not that you'll be coding for that entire period, but products take time to mature and 12-months are less taxing on your mind and body. It will give you enough time to plan ahead and get the product out of the door in the form and function you had initially envisioned.

Some urgency is good, but if you're not careful it can ruin your product.

If you have the money, hire someone by all means. But, the amazing confidence in yourself of being able to build your product from scratch and improve upon as your users request new features, is priceless. It is a super power.

I can now talk with any user and quickly reply with the inner workings of my own product and clearly share about what can be done.

Later on, once your product grows to hundreds of users and you can no longer support it on your own — the developers you will hire, you'll know how to talk to and what to expect of them. Developers, have more respect for someone who's "been there" and knows what can be done within the allocated time and scope.

Side note: Here's something I answered on Quora a week ago on how to work with developers. Based on my previous experience of leading dev teams.

Ok, so where do you start?

Coding is not easy. Don't get fooled by my quick writing. There are ton of missing pieces that I've excluded, just so this article can be read in a single sitting. 

Though, don't get discouraged. I want to be realistic and say that if you have never written a single line of code, the start will be gruesome, but you must persist.

Key is to take breaks when you feel lost. Don't dwell on it. No worries, you'll get the inspiration right back once you're fully charged. The more you keep at it, the longer and more confident your coding sessions will be.

First things first

Start with something simple at the CodeAcademy. There are ton of easy to digest lessons that will get your motivation going. Start with the basics of HTML and CSS. Then head out to Javasript/jQuery and finalize with PHP, before moving on to using a framework, which I will elaborate a bit more on below.

Which framework/language to learn?

There are ton of frameworks out there.

Without turning this article into an argument of which is the best, I would recommend the one that fits you best and gets the work done. Though, I would suggest picking one with a vibrant community, a ton of libraries, and the one that comes easier to you.

Side note: Code libraries are ready made pieces of code that you don't have to re-write every time, which you can re-use in your code. Usually, made by the fine community of developers and given away for free for all of us to use. You can find a tonne on Github.

With all that said, Laravel is a PHP framework you could give a try. It has an incredible following, but it comes with a steep learning curve, initially. It gets easier as you get the gist of it and you'll be flying solo in no time.

If you're going to go with Laravel, Laracasts is a set of step-by-step lessons, which are easy to follow. I highly recommend you take them all and start building from their examples, before starting on your project.

Simple does it

Once you're done with Laracast lessons, start with something simple, like a CRUD project. CRUD stands for: Create, Read, Update, Delete.

What this means is creating a simple app that can create an entry, retrieve it, edit it, or delete it completely from the database.

This could be a simple list of attendees to a party, which would work this way:

  • User can enter a name of someone attending a party
  • User can edit the name of the attendee
  • User can view a list of all attendees
  • User can delete any attendee from the list

What this does is give you the ability to think in terms of "programing" and how any app ever created works in essence. CRUD is where everything starts.

What about design?

Above, I quickly spoke about the back-end programming, which makes our product work. Front-end design, such as coding with HTML/CSS, is not considered programming, per se. HTML is a markup language that renders your app via CSS. 

In layman terms:

  • HTML is the structure
  • With CSS you will make that structure prettier
  • Javascript will help you communicate with the database in real-time (without needing to refresh) & do other cool things like pop-ups, drop-downs, slides, etc.

These, too have frameworks of their own. Especially Javascript, which writing raw is harder and un-necessary. Hence, one of the Javascript frameworks you can utilize for your product is Vue.js.

As for the look and feel of your product, you can purchase a ready made UI at Themeforest, use Bootstrap, or even something like Tailwinds.

Don't be afraid of these name drops, if you've never heard of these things before. It will require a bit of patience and determination on your part, but their documentation is quite clear to follow with examples they provide.

A little bit more encouragement

Whenever you get stuck, just remind yourself about this new super power you are adding to your arsenal. Knowing how to code gives you an edge, even if you're goal is to become a CEO. Understanding how your product works and what goes on in the back, will make you more sympathetic towards actual developers and programers who make it shine.

Knowing "Why?" you are doing this, is key to persisting.

A few short months from now, you'll be in my position. Now, some 18-months later, I get to reap the benefits of something I've built from scratch, in which people find value, daily.

Learn the basics

Remember, don’t aim to learn “everything” there is.

Initially, learn only about things that will be useful to you.

If you could think in terms of what your product should do and how it should work, you can by all means code. It's not rocket science!

I was lucky enough to find myself in a corner where the only escape from was to code my way out of. I hope you feel the urgency to do the same.

That's all from me today

Thanks for reading this far and I hope I was able to encourage you to take the leap of faith and start learning how to code. You'll never look back!

Follow me on Twitter as I post more updates with my journey ahead.

For any questions about this article, please comment below and I will try to answer every question, no matter how personal it may sound. Don't hold back.