DEV Community

Cover image for The best way to learn something is by building something
Offline Programmer
Offline Programmer

Posted on • Originally published at

The best way to learn something is by building something

It was a life-changing moment when we received Sara's diagnose that confirmed our suspicions. She was diagnosed with "ASD and Mild Developmental Delay," i.e., Autism. Although we were expecting this, we felt devastated.

It was the beginning of a long fight for Sara. Fight for her learning. Fight for her health. This means a lot of chasing and a very long waiting list to ensure that she will access the much-needed services.The biggest fight we had to go through is helping Sara fighting herself. Because her brain is wired differently, she needs different techniques to perform tasks and activities, even in something as fun as going out for ice cream. She found a change is challenging to deal with, so she hated the "unexpected" that might come from going out.

We learned that Sara responds better to images and needs a "push" to get her to participate in the activities she likes. I decided to try tackling this and use my coding skills for that, and this is how I came up with the KidzTokenz app. The idea is to reward Sara for her participation. She can collect tokens by doing activities and then use those tokens for a reward.

I implemented the initial releases of the App using ionicframework & Angular. I was familiar with web technologies, but my focus was mainly on backend and API. The KidzTokenz App gave the motivation to dive deeper into front-end development. I was also very excited to go through the App submission process and learning.
I monitored the reviews and engaged with the users to learn their requirements. I implemented a lot of features based on direct engagement with my users


"Once my daughter reaches the goal I've set, per category, maybe a special message could pop up (Yay! You reached all your goals!)"

Alt Text


"Your App is awesome; love it for positive & negative reinforcements. I have a 10 point system at home, anyway, you can add 10."

Alt Text


"I would just wanna share that I really do live the App especially my kid loves it, who has ADHD, But I wish you can make the App also for offline use."

Alt Text


Unfortunately, I abandoned the App due to significant life changes. I didn't interact with the users, and I didn't update the App for a long time. So my users abandoned the App too. A few months ago, I moved to a job that required me to get familiar with Android native development. So I decided to learn that by re-implementing the KidzTokenz App from scratch. There is no better way to learn a new language than to build something you are passionate about.

I changed the interface completely by addressing the reviews' complaints, and I took further by going for a new database and started with 0 users. I republished the App end of April 2020, and now I have more users than the number of users I had on the old release. Additionally, I learned a new skill that enabled me to publish more Apps.



Do you want to learn new programming languages? Then implement something. Or break something and re-implement it. Don't look for the "How". Look for the "Why". That what will motivate you.


Follow me on Twitter for more tips about #coding, #learning, #technology, #Java, #JavaScript, #Autism, #Parenting...etc.

Check my Apps on Google Play

Top comments (0)