Year-end review: 2019


2019 has ended. Once again, I want to conduct my year-end review in public. This time, in a lot more depth and rawness compared to the previous years.

I’m going to split the review into four sections:

  1. Work
  2. Non-work
  3. Major learnings
  4. 2020


I want to talk about six things in this section:

  1. Blog posts
  2. Money matters
  3. Traffic
  4. Email subscribers
  5. Team
  6. Projects

Blog posts

I wrote one blog post a week for the entire year (except during launch periods).

I’m happy about this. I felt it was an impossible feat a few years back. But now, it’s becoming a norm. The amount of work I’m putting into the blog is a testament to my dedication to this field.

Money matters

Here are my revenue figures:

  • 2018: $93k
  • 2019: $78k

98% of my income this year came from Learn JavaScript. I’m happy that the course is doing well. But I’m also worried because I have a single source of revenue. It feels like I’m putting all my eggs in one basket.

This worry had a major influence on my panic issues. (More about panic later).

I expected the decrease in revenue because I let students pay for Learn JavaScript over 12 months. I’m still waiting for 6 months worth of payments, which should amount to $10k.

I noticed some students defaulted in their 12-month payments. I was upset about this for 2 months. But I decided to take it in my stride because it’s part and parcel of doing business.


Traffic to my blog doubled in 2019:

  • November 2018: 59,847 users
  • November 2019: 116,602 users
Traffic to my blog in November.
  • Dec 2017 to Dec 2018: 543,951 - Dec 2018 to Dec 2019: 993,331
Comparison of the traffic to my blog.

Almost a million people visited my website in 2019. I didn’t know so many people read my blog.

I’m grateful for the opportunity to share my thoughts and learnings.

I’m humbled by how technology allowed us to gather in the online space.

And I’m surprised how hard work—one day at a time—can produce tremendous results in a couple of years. (I’ve been blogging since 2013).

Sometimes, like today, I unconsciously compare my results to other people who seem to be doing better. And I feel bad, weak, slow, and worthless—for a moment.

Then, I tell myself that every step is progress. I acknowledge the work I did. And I look forward to the work I’ll be doing.

Email subscribers

Email subscribers didn’t do as well as traffic. It didn’t move much.

  • January 2019: 19,000 subscribers
  • January 2020: 22,491 subscribers

Worth noting: I deleted 6,000 cold subscribers from my list in July.

I can probably do something to improve conversion rates from traffic to email subscribers. But this is not a priority right now. I want to focus on completing Learn JavaScript first.


I hired Michiko back in 2018. In 2019, I added Max to my team

Michiko helps me with administrative things like:

  • Onboarding students to the Learn JavaScript platform
  • Dealing with refunds
  • Dealing with defaulted payments
  • Scheduling blog posts

Max helps me proofread Learn JavaScript lessons before I release them.

I’m super thankful to Michiko and Max. They’ve been a tremendous help.


I started 2019 planning to make four things:

  1. Complete Learn JavaScript
  2. An introductory guide for web development
  3. Some structured mini-courses
  4. Improving the functionality of this blog

It was a big failure. I ended up focusing my energies only on Learn JavaScript (and I didn’t even complete it).

Speaking about Learn JavaScript, I want to stress that I’ve done good work for the course. It simply was too big of a beast than I imagined it to be.

Materials-wise, it’s the best value-for-money course out there on the internet because of the depth I cover. There are a lot of lessons, and the quality of each lesson is superb.

Non-work stuff

I want to talk about six more things in this section:

  1. Housing
  2. Parenting
  3. Health
  4. Spirituality
  5. Side projects
  6. Investments


I got the keys to my new house in October!

I’m working on designing the interior of the house (with an interior designer) right now. I’m excited about finally creating a space for myself and my family.

The house comes with additional responsibilities though. I have to pay ~$2,000 each month for the housing loan. It’s quite a heavy expense.

I hope to clear my housing loan in five years if possible. But that means I need to make a lot more money compared to what I’m making.


My daughter is now a 1-year-old. She’s bubbly and cute.

I love her.

She sticks around me a lot, but this can be irritating because I can’t get work done.

I can’t say I’ve been an excellent Dad for the past year. I felt I haven’t been a good role model:

  • I didn’t manage my own emotions and physical well being well enough
  • I couldn’t enforce the boundaries I set (even on myself)
  • Sometimes, I run away and hide from her 😢.
  • When I have the space to be with her, I’m not mentally around 100% of the time.

I want to become a better parent in 2020.


I discovered I had huge panic issues in October. I didn’t know the panic existed previously because I learned to block it out when I was younger.

My panic hindered me quite a lot. For example, I get scared when I’m alone with my child. I’m afraid I’ll do something that’ll screw up her life for good.

Another example: I’m scared when I write Learn JavaScript (especially when it comes to the Accessibility section). I’m afraid I’ll give subpar information, or worse, wrong information.

My panic triggers include:

  1. Being afraid I’ll screw something up
  2. Being afraid I’m doing something wrong
  3. Being afraid I’m doing the wrong things

The next portion may sound weird and twisted.

I realised I used panic in lots of ways. Here are some examples:

  1. To prevent myself from hurting others
  2. To manipulate (soften) others when they’re angry with me
  3. To apologise
  4. To run away
  5. As a form of entertainment

I still don’t understand (5). It came up a week before I wrote this review, so I haven’t explored it yet. I also think I have more triggers, but I’m not aware of them yet.

I want to explore more about my panic, anxiety and, worry issues.


I learned more about Shamanism this year. The more I learn about the spiritual world, the more I’m convinced the spiritual world exists.

I began to feel fluctuations in energy. I can tell when something is good or bad. It’s interesting.

The spiritual world seems to be governed by a set of laws that most of us are not familiar with. I hope to explore in this aspect.

Side projects

In the early part of the year, I spent about 50% of my working time writing sales emails for a company I knew.

I learned a lot from this experience.

  1. Writing is hard
  2. Writing for others is harder than writing for myself
  3. Writing doesn’t necessarily lead to sales. Sometimes it’s just an intermediate step

I don’t think I’ll ever write for others as a business. I’m not interested in it. I rather write courses for people like you.


I didn’t invest a single cent for the past six years, even though I studied Finance.

This is embarrassing.

I decided to try copy-trading on Etoro and investing in some ETFs. I’m not sure how it’ll turn out. I guess I’ll report back when 2021 comes along.

Major learnings

Random ramblings that fall into three categories:

  1. Theme and focus
  2. Production creation
  3. Trust

Theme and focus

2019 was a year without a theme. It started pretty well, but chaos enveloped me soon after.

Somehow, I began working on interesting side projects (like writing sales emails one). And my plan to focus on Learn JavaScript got derailed.

I also allowed panic to take over in November. (I stopped writing for an entire month). You didn’t notice this because Michiko helped me schedule the emails that were sent to you. If I did it myself… you probably wouldn’t have heard from me… I retreated into oblivion.

Now I understand that having a focus is important.

When I talk about focus, it’s not the Pomodoro-style kind of focus keeps you glued to your chair for 30-minutes. I’m talking about the bigger picture kind, like the direction and intention for the year.

I want to work on this focus in 2020.

Product creation

Four factors that come into play when creating courses:

  1. Quality: The ease of understanding
  2. Quantity: The number of lessons
  3. Depth: Amount of details we go into
  4. Time: Time needed to create the materials

An increase in (1), (2), or (3) increases the amount of time you need to create the materials.

For Learn JavaScript, I intend for everyone to understand and master JavaScript. Anyone who goes through the course will be proficient at JavaScript. They’ll be able to wield it like an expert.

This means:

  1. Quality has to be high
  2. Depth needs to be high
  3. Quantity needs to be high as a result of depth and quality. (Because there’s a shit load to cover when it comes to JavaScript).
  4. Time to create the materials go way up

I learned to be at peace with this creation process. I’m no longer worried about completing the product on time. It was never the goal. The goal was to complete the product with enough quality and depth.

People who don’t understand why I’m taking so long will be pissed at me. But people who do will appreciate the work I’m doing.

Communicating the degree of work I’m doing is hard. I need to become better at it. Saying I’m doing good work isn’t enough.

Trust and reputation

I worried about breaking the “promise” that I’ll complete Learn JavaScript by Dec 2019 for the most part of the year (11 out of 12 months actually).

But the “promise” wasn’t set in stone. I made an estimate, but I never promised to deliver everything by the estimate. It’s an estimate for a reason.

But I was fucking worried. Why?

I was afraid of this: Breaking the promise means I’m not trustworthy. Eventually, it’ll snowball into a bad reputation. People will stop trusting me altogether, and I won’t be able to continue the work I do. I won’t be able to sell anything anymore. Boohoo.

I think I’ll say these few words for myself:

  1. Trust is precious.
  2. Trust is sacred.
  3. Being honest builds trust.
  4. Being accountable builds trust.
  5. Keep a promise once you made it.
  6. Once a promise is broken, the shattered trust is almost irreparable.
  7. If you break a promise, don’t make excuses. Take responsibility and make compensations or amendments.
  8. Continue to make promises. Continue to keep them. Especially towards yourself.


Here’s a list of specific things I want for 2020:

For work

  1. Complete Learn JavaScript
  2. Begin writing a tiny CSS course
  3. Continue with 1 blog post per week
  4. Earn $150k in revenue

For self

  1. Become fitter physically
  2. Reimagined identity from a lazy good-for-nothing to something better
  3. Have more awareness
  4. Work on my panic issues
  5. Work on my expression, both verbally and written form.
  6. Work on the urge to control
  7. Work on wanting perfection
  8. Work on stubbornness

For knowledge and spirituality

  1. Read 10 books in 2019
  2. Learn more about the spiritual world.

For my family

  1. Understanding
  2. Growth
  3. Unity

For everyone else

  1. Be able to learn to code if they want to
  2. Have the courage to pursue their dreams
  3. Have the persistence to stay on the path they chose
  4. Evolution to become better versions of themselves

The plan

I always worked to get what I wanted for the year, but I never get it. Why? After reflecting, I realised my goals were always bigger than what I wanted. For example:

  • I wanted $150k revenue, but I wrote $200k.
  • I wanted to read 10 books, but I wrote 20.

I was indoctrinated with the idea of “thinking big” and “pursuing more”.

So 2020 will be different. It’ll be weird.

I’m ready to throw away everything I mentioned above. And I’m going to focus the year on three things:

  1. Reflection
  2. Intention
  3. Awareness

Here are three things I want to work on for sure:

  1. Reducing exaggeration and wanting of more
  2. Learning to be kinder and gentler to myself and others
  3. Creating answers for myself, not others

I intend to dive deeper into my world. To get real answers and remove the superficial layers. I intend to embrace the truth of what I’ll find (and not hide or run like I always do).

Three statements that will help me through the year:

  1. Understanding is priority
  2. Epitome of discipline
  3. Never run, never give in, never give up

It was weird saying these things. I’m not sure if anything about 2020 makes sense at all.

Okay. I’m out.

Want to become a better Frontend Developer?

Don’t worry about where to start. I’ll send you a library of articles frontend developers have found useful!

  • 60+ CSS articles
  • 90+ JavaScript articles

I’ll also send you one article every week to help you improve your FED skills crazy fast!