Hi my name is Shing So and I have been following a No Zero Days mentality for the last three years and have taught myself how to develop phone apps. Proof

Background

Three years ago I ran into a reddit post about a system called No Zero Days. The idea was to do something everyday, no matter the size, towards your goal. No having much direction or knowledge, I decided that I wanted to learn how to code. When I first started I bought a online course and tackled one video lesson a day. Starting off, I learned very slowly. I took several beginner coding courses as I wasn't picking up a lot of the key concepts. Eventually I went towards application development and began coding, 1-2 hours, on simple applications everyday.

A big leap forward in my learning journey came from another reddit post, which talked about Learning How to Learn. Learning How To Learn gave insight on why I procrastinated so much. After applying several of the methods learned for learning, I was understanding material much quicker. Through applying these learning methods, I learned how to use AWS and deployed my own servers so I could utilize a backend for my apps. Learning How to Learn is a free course on which you can find here.

What have I learned?

The most important lesson that I have learned through my journey is that difficult problems and concepts generally take more than one look to solve or understand. A tendency that I used to have was to give up at the first sign of difficultly. Its scary when something doesn't click in your head and you have to face the idea that maybe you never under figure it out.

There were many times when I was developing an application where I would run into a problem I thought was impossible for me to solve. I would be dealing with the same problem for weeks, not making any progress towards a solution. Although there were many times I doubted my own ability to solve a problem, there wasn't a single time were a didn't eventually find a solution.

Another lesson is that habits work better than motivation. Motivation is very good at burst of actions but don't really help when times get difficult. Achieving goals and getting good at something requires consistent action and a long term commitment. Habits take between three month to a year to form depending on what you are to do. I believe that building good habits is the best investment you can make.

Also when starting something new, it's best to take slow small steps. It's more important to form long term habits than to go hard and eventually give up.

Whats the app?

The application I am launching today is called Steps - Action Inspires. It's a social media application crossed between a habit tracker. You set Todos, which is an action you plan to do consistently throughout the week. Whenever you complete a Todo, it shows up on your followers feeds. Your media feed is comprised of actions of the people you follow.

Tracking your progress is crucial when you attempting something new and challenging . A huge motivating factor for me was seeing the growth and improvement I was making. I believe that by seeing what others are doing towards their goals and the effort it takes to become successful is inspirational and provides additional motivation

Moving Forward

As coding everyday is a strong habit of mine, I will continue to work on coding and improving Steps everyday. There are still many aspects which will be improved on such as design. You can follow me on my app, my username is im_so_shing. I'll definitely follow you back as I am excited to see the progress and actions people will take.

I've made a simple website to showcase the application at stepsactioninspires.com and if you would like to start your Steps today you can download it on IOS (apple store page) and Android (google play page)

EDIT: There are currently some issues on typing on some IOS phones. I will be looking into these issues as well as implementing a way to delete Todos shortly.

EDIT: I have deployed a patch for IOS and Android which fixed several bugs which should be active on 1/6

EDIT: Thank you all taking interest my my journey and application. I will check this thread in awhile for any remaining questions, but I will no longer be actively answering questions. Thank you all again!

Comments: 394 • Responses: 62  • Date: 

extra_specticles231 karma

Hi there. That's a great story and congratulations an getting this far.

What do you think are greatest challenges a person has when transitioning from beginner coding tutorials into meaningful application code that solves their problems?

NoImNotJustAsian180 karma

The greatest challenge is to not be demotivated when running into problems and to be persistent and flexible. Learning how to code for me was challenging and many times required me to force myself to look at problems I was stuck on no matter daunting they seemed

extra_specticles42 karma

Thanks. Can you give examples of the things that were like that for you in your journey?

NoImNotJustAsian137 karma

Overall in coding I remember struggling with

  • Implementing and updating libraries to use with my application
  • Learning about filesystems

Steps was the first application that i created that required a backend server. So there were a of roadblocks

  • Learning how to connect a backend server to the frontend application
  • Implementing authentication
  • Figuring out how to make application data flow properly and be responsive
  • Working with databases and designing a structure that was scalable
  • General design and look of the application (as I am still a beginner designer)

chevymonza9 karma

I'm still stuck on how to hide an API key for a React app, despite tons of research, what am I overlooking??

NoImNotJustAsian6 karma

Api key for what program?

SatansF4TE13 karma

Number one tip is don't store it in your codebase / source control.

The best method depends on your application - both Android and iOS have their own libraries for secure secret storage, as do most desktop based libraries.

If your API key needs to be included in your public react app then there's a design issue rather than implementation issue.

Meant to reply @NoImNotJustAsian @chevymonza so I hope OP won't mind this mention :)

NoImNotJustAsian5 karma

Thanks for the help. Im really not the best at providing help with coding problems.

BigPii228 karma

What's your opinion on r/IAmA becoming more and more of a promotion platform than anything else?

NoImNotJustAsian79 karma

I think that as long as people are providing useful information and something new thats it's fine.

we-may-never-know46 karma

What was your day to day like before you stumbled upon No Zero Days? Did you have projects and hobbies that never went anywhere? We’re you just living day to day with no real goals?

NoImNotJustAsian76 karma

Before No Zero Days I didn't have any real projects or hobbies, except playing a lot of video games. When I started No Zero Days, I was working a regular desk job doing general work for a small startup. Everyday day at my job was pretty much the same and I quickly lost my initial motivation to do that job. When I eventually quit, I continued to code every as I liked the progress that I saw I was making and believed that teaching myself to code was valuable

steatorrhoea5 karma

How did you support yourself after you quit that previous job?

NoImNotJustAsian15 karma

currently living with parents, but I also have money saved

_NotMitetechno_39 karma

would you like to develop an app?

NoImNotJustAsian117 karma

you son of a bitch, im in

tinydonuts36 karma

What did you use to make your app cross-platform? What frameworks underpin your app and back end? How much does it cost to maintain the back end?

NoImNotJustAsian64 karma

Coded with React Native on the front end to be cross platform. Basic python container with Django for the backend api. Deployed through elastic beanstalk for main web application, one separate ec2 instance for ranking posts, and one RDS (database) server. Current server costs is around $100 per month with very minimal users. As the app is just launched I am unsure of the costs with more users, but Im estimating between 200-1000 per month

Flannel_Man_32 karma

I started 3 years ago as well. Dove headfirst in. Ended up in the right place at the right time. Am now an architect and full stack dev for a mid size company. Living the dream.

Anyhoo... have you tried lambda/api gateway and dynamo? Cognitio for user auth. Will shrink your costs to near zero even with a good amount of users. Unlikely you need rds for your use case and would be fine with dynamo.

NoImNotJustAsian3 karma

I've used lambda and api gateway before along with dynamo, but not for the purpose of this application. I'll definitely consider other alternatives as the app grows. Thanks for the advice!

Zaitton5 karma

Why did you choose RDS and how does AWS pricing work (does it increase with load automatically or do you buy higher packages?) I work with RDS on a corporate level so I'm not familiar with the pricing etc.

NoImNotJustAsian14 karma

I went with RDS because its comes with the AWS ecosystem. RDS pricing increases with load or you can reserve an instance (1+ year plan) for a fixed cost

DankNerd9727 karma

Have you ever heard of / have you used the code-learning app “Grasshopper”?

NoImNotJustAsian13 karma

Nope, never heard of it. Looks interesting and useful in learning how to code day by day

PM_ME_DVA_PORN2 karma

Where did you learn most of your coding? I'm currently in the process of studying through github and coursera.

NoImNotJustAsian5 karma

Mostly of the classes I took were through udemy, some which where paid and some which were free. Also learned a lot through coding tutorials on youtube

PM_ME_DVA_PORN3 karma

For a beginner which courses do you suggest ?

NoImNotJustAsian1 karma

For a beginner it depends on what you are trying to develop. Most coding languages share the same fundamental concepts so diving into any of them will be beneficial. I definitely recommend checking out the Learning How to Learn course if you havent already. https://www.coursera.org/learn/learning-how-to-learn

SynecdocheNYC14 karma

How much is a little bit of coding a day? 1/2 hour, 1 hour, 3 hours, etc..?

NoImNotJustAsian31 karma

Started with one video lesson a day which was around thirty minutes. Generally spent 1-2 hours when developing apps. The longest study streak was for 4 hours everyday for around 3 months, this was when i was learning backend. On average I would estimate that I worked for 1.5 hours everyday for the last three years

MachWerx12 karma

Cool idea. What did you think the pros and cons were between using an existing social media app and creating a new one?

Also, what's the story with your username? (I'm also Asian, but it's not something I've ever thought to mention in a username.)

NoImNotJustAsian18 karma

The pros of using an existing social media platform would be established users.

Cons are the existing social media apps arent focused on goals and habits. On Steps your feed is comprised of actions that your followers do, while other apps are more generally picture sharing

Story of the username is just something I made up when I was in college. (Look at the first letters of the username to find out what I also am)

denelev3 karma

Norwegian?

NoImNotJustAsian1 karma

Nope

tinkletwit9 karma

So the thing you taught yourself how to do helps others teach themselves how to do? 2 meta 4 me.

NoImNotJustAsian12 karma

Lol its super meta. I taught myself how to code and through my journey I picked up some insight I believe to be valuable, such as building a valuable habit and not quitting at the first sign of difficulty. I've gotten a lot of fulfillment in creating this application as I believe it to be useful in helping others achieve their goals.

KatetCadet8 karma

How do you deal with days where you feel like the Goal is just too far? I've messed around with Swift a bit but have really gone all-in learning C# while trying to make a game in Unity.

The toughest part for me is avoiding thinking too far ahead to what the finished product needs to be, versus where I'm currently at. How do you avoid falling in those pits and avoid losing the drive to actually reach the end goal?

Also, I'm currently working Tech for a Digital Marketing agency, shoot me a message if you'd like some volunteer help getting things like Google Analytics setup / your site pixeled for Facebook, Google Ads, Twitter, etc.

NoImNotJustAsian8 karma

On goals that seem too far just take it one day at a time and know that you will eventually make if you continue to push yourself. To have a lot of drives requires that you truly believe what you are creating is useful.

Kate_Kitter7 karma

Has your experience taught you any special values about education—particularly autodidactism?

NoImNotJustAsian18 karma

Yes a lot, especially through the Learning how to Learn course. After taking that class I was understanding subjects a lot better. I used to think learning was memorization and I used to brute force memorize flashcards to pass test. But learning is about practice and being able to understand how a concept works.

One big thing I've learned about learning is that it takes some time for our brains to comprehend difficult concepts. What I mean is that when we look at something new our brains might not consciously understand it, but is still subconsciously trying to figure it out. I find it important to take breaks when trying to solve problems and understand concepts and and to revisit the problem on at a different time or day.

Furdaboyz6 karma

What do you think caused this big change in your life. I guess what really sparked your journey? Just stumbling on solid posts or something different?

NoImNotJustAsian14 karma

I just felt like I wasn't getting anywhere in life. I have worked at two desk jobs. At my first desk job right out of college, I worked as a freight forward and handled shipments and paperwork. I remember eventually waking up everyday and dreading going into my job. For my second job, I found work a startup, which I though I would be more motivated to work in, but I slowly lost motivation to do my job there as well. I've always thought of coding as a valuable skill and decided to try and learn.

RamOmri4 karma

Hi,

Sorry if this questions is somewhat unrelated to your app. I'm a recent computer science graduate with (some) experience in full stack app development. A big worry of mine is finding work since I am about to move away from my parents and be fully financially independent for the first time. Do you have any advice for junior developers on how to find work?

NoImNotJustAsian10 karma

I've never worked professionally as an app developer so I dont really have any good advice in finding a job in coding. I would expect a portfolio with some projects that you have worked on be helpful though as it shows you have actual experience and passion for coding.

ZoAngelic4 karma

So you have no success but youre coaching others to success?

NoImNotJustAsian6 karma

It's not about success, it about working towards growing everyday which includes myself.

procatstinating3 karma

Awesome story and congrats on your first app launch! I just signed up for the coursera course on learning you used. It interested me that you learned about it as well as the no zero days through Reddit. Which brings me to my (kind of random) question -

What are some of your favorite subreddits?

NoImNotJustAsian3 karma

Thanks. my favorite subreddits to procrastinate with is AskReddit, Videos, and LeagueOfLegends

yrrkoon3 karma

how has pushing yourself to spend time coding every day changed over time? what kinds of challenges did you run into in setting side time and how did you overcome them?

NoImNotJustAsian5 karma

When I first started my goals was to complete one video lesson everyday. After finishing several courses I moved on to spending at least one hour on coding and developing applications. When i was developing Steps i would set out to implement one feature/fix one major problem everyday.

As for setting a side time, I started slowly, just setting aside 30 mins to an hour to work. Eventually it became a strong habit and by then it was easy to continue

aptek3 karma

Hey man I was also motivated by the No Zero post about two years ago and also picked up app development. Although I am not as far along as you I managed to get an app on the iOS App Store and am working on a mobile game! Congrats on everything you have accomplished.

My question is do you track your progress at all? For the past two years I have been logging the time on spend on myself in a spread sheet so I can keep myself accountable. I also log all of my zero days, which motivates me to minimize them. Do you do anything similar? Again, congrats on everything!

NoImNotJustAsian3 karma

For a period I kept a log of when I studied but only for around 3 months. Other than that I didn't really track my progress, but from now I do plan to track on my app.

heir2slytherin3 karma

I have learned fundamentals of Python from a video tutorial of CODE WITH MOSH. Now I want to work on some real project. From where can I start. Ultimately I want to get in deep into the area of ML. What are your suggestions on this ?

NoImNotJustAsian3 karma

Havent really ever taken anything on machine learning, so I don't really know how to continue forward with that path. As for projects it depends on what you are trying to create. Are you trying to make a game? a website? App?

heir2slytherin1 karma

I want to make web applications. Since I have a bachelor's degree in Mechanical engineering. Si there are lots if stuffs which could be simplified by using programming like calculating a total surface area required to dissipate a given amount of heat or calculation of min. airflow to keep an equipment under it's working condition. So basically it's all just bunch of formulas. I want to save engineers from doing all these hand calculation and I want to develop these calculators as a web application which will take some inputs from user in the form of numbers and some in the form of property (like they enter air temperature 50 Celsius, based on that my app should be able to get all the air property at 59 Celsius from the internet). I hope I was able to explain what I am trying to do.

NoImNotJustAsian2 karma

I understand what you want to make and know that it is entirely possible. As with moving forward though I dont have an exact route. But to highlight a few aspects, learn how to retrieve information from the internet though an API. Also start to learning how to create a simple api that you can interact with.

FearAndSickness2 karma

Congrats - my wife and I did the same, and had our game featured by Apple repeatedly over the past two years.

Have you run into the “trying to please 99% of your users” issue yet, and if so, what your method of approach?

NoImNotJustAsian2 karma

Haven't really ran into that issue yet as i just launched.

Congrats on your success!

FearAndSickness1 karma

We have spoken with quite a few devs about this, but haven’t hit the sweet spot just yet.

I also just installed your app - absolutely fantastic idea :)

NoImNotJustAsian1 karma

Thanks for the kind words

createanaccount022 karma

How will you monetise this app?

What do you do for a job now ?

NoImNotJustAsian5 karma

monetization through ads eventually and currently unemployed

bbcard12 karma

I'm going to give it a whirl. I am 58 and have found myself in a most pleasant career transition. I have a lot of new ideas and need help keeping them all moving forward. I am in the enviable position of want them to succeed without them HAVING to succeed.

I like the no zero days concept. Why do you think that resonated with you?

NoImNotJustAsian3 karma

Thats great, good luck on your journey!

I think No Zero Days resonated with me because I always had an understanding that doing something for a long time will yield great results.

Fockerwulf2 karma

How do you find the motivation to continue on even if you're in the depths of having no clue and finding no solutions?

NoImNotJustAsian4 karma

Whenever I encounter a problem that I'm stuck on I take breaks and revisit the problems on a later day. On the next days I would force myself to take a look at the problem, try to figure out a different way to move forward. By devoting a certain time to figure out the problem (30 minutes), and not spend any more or less time on it helps.

xp20xs2 karma

Which online course did you use to begin learning?

NoImNotJustAsian8 karma

I used Udemy for most of my online courses. The first courses I took was a C++ coding class, which i actually wouldn't recommend to people learning how to code as In never used C++. https://www.udemy.com/course/free-learn-c-tutorial-beginners/

I also learned a lot through TheNewBoston on youtube who has many coding tutorials on different subjects explained very well

EventHorizon1822 karma

How old are you?

I'm 30 and just starting a similar journey through a combination of the odin project/W3schools and other various resources. I can't help but feeling this may not be the ideal time for a career switch from IT but I enjoy this daunting though exciting learning process.

NoImNotJustAsian3 karma

I am 27. Just take the learning process slowly and you'll soon be farther than you think

oharacopter2 karma

My little brother (12) has been wanting how to learn to code games, what language(s) do you reccomended for that?

NoImNotJustAsian7 karma

I would recommend learning C# and using Unity. I've developed one game using Unity and its good physics/game engine.

kevsonic04092 karma

How do you conquer distraction when coding?

NoImNotJustAsian6 karma

I believe that through forming a habit of coding, and only spending the allotted time coding helps me deal with distractions. Also believing in what you do helps provide motivation to stay on track. The Learning how to learn course has a section that deals with procrastination which I found extremely useful

Wearesyke2 karma

What language did you develop your app with? I’ve been learning Flutter for the past while. Looks like you have an iOS and an Android version. Did you use native for both or React Native? Interested to hear your thought process on which path you chose!

NoImNotJustAsian3 karma

React native for both IOS and Android. When i first started I mainly coded with Android Native and never worked with IOS development. But because of the importance of releasing my app for both platforms I decided learn and use React Native

Andreas00Tm131 karma

I cant create an account. I type in my e-mail address and the password, the e-mail box gets red for some reason, and when I click agree on terms and conditions nothing happens?

My e-mail is valid. And I've tried multiple ones?

Used weird "?" because my comment got removed???

NoImNotJustAsian2 karma

Did you get a message that said email sent? If so check your junk/spam inbox for an email. You can try to resend the email by going to the sign in page and signing in with your email/password. If that doesnt work could you let me know what phone you are using so I can fix and investigate

Andreas00Tm131 karma

I did not get any message. I can't get past the terms and conditions page. Could you provide me with a Discord tag or something so I could send you screenshots of what's happening when I try to sign up?

NoImNotJustAsian1 karma

If you could can you upload the screenshots on imgur and send the me links through message

karmatias1 karma

Hey, thanks for sharing this. I’ve been on the self-improvement path for a couple of years now, it’s true that habits work better than motivation. A month ago I started learning python and I have an app in mind. Recently my YouTube suggestions were a couple of videos of “learning of to learn” and stuff like that. I feel that coming across this post it’s a “wink” of life and I’m giving the course a chance. What would you highlight from it? And regarding your coding path, how did you learn which course would give you the best? I’ve been coming across with some courses that don’t explain the concepts as well and that can feel like a waste of time. What did you in those circumstances? Can you describe your everyday habits towards your goals? Thanks again for sharing, I wish you the best.

NoImNotJustAsian2 karma

Biggest thing from Learning how to Learn is that learning is like a puzzle. Every time you try to learning something, you get a puzzle piece. With enough puzzle pieces you start understand more complex subjects. That being said I don't think any course that you take that explains the concept at all is a waste of time. The initial explanation, even though you don't understand it at the time, is like 1/10 of a puzzle piece. It introduces your brain to the subject and gives it an idea of whats going on. The next time you try and learn the concept again, it will be easier because you already had an idea what to expect.

Everyday habits for me currently is working on my application for at least 1 hr and I generally try to fix one major bug or implement a feature.

petriomelony1 karma

Hi there,

I have a few questions about the app's functionality, as I started using it but could not find a way to do the following:

  1. Is there a way to delete goals? So far I have found I can edit the photo/comment for today's Todo, and alter the notification schedule for a goal, but cannot delete it.

  2. Is there a way to edit the frequency of a todo? This is why I wanted to delete the goal in the first place, I set the wrong frequency but there is no way to change it. Now it is stuck at 1/4 and I want it to be out of 5.

  3. How do you tell the app if you actually did the Todo or not? Does it always assume that the Todo was completed?

Thanks for making and releasing this app :)

NoImNotJustAsian1 karma

Currently you cannot delete the goal, but the feature is going to be implemented shortly.

As for frequency, you just cant change it once its set. This is because I made streaks calculate off of your frequency. Letting users change this would currently cause me to have to do a large update.

Lastly when you start a Todo you get the first day for free. On the other days it will not be marked and you will have press that button to complete the Todo

SaulGoodmayne1 karma

Hi! I took an intro to java class in my high school and got a D for one report card. I could never get the hang of it and was pretty embarrassed.

How can I start over properly?

NoImNotJustAsian2 karma

If you want to learn java, find a java course online and take some time everyday to learn it. Don't be discouraged just because you didn't get the hang of it the first time. If you put in the time you will eventually be able to grasp the concepts

spaceporter1 karma

Do you mean that you are more than your ethnicity or that you are biracial?

NoImNotJustAsian2 karma

Its just a username i made up when I was younger. Look at the first letter of my username

lilbunbunn1 karma

Is it a bad idea to not go through formal computer science degree program?

NoImNotJustAsian1 karma

Depends on what you are trying to accomplish. Generally getting a computer science degree will be useful in getting your foot through the door at interviews and will have the opportunity to have guided learning

RxWest1 karma

I am in the same position you are. I'm mainly self taught, except for 2 CS courses in college, but I went more of the mobile game developer route. I'm only about a year and a half into my journey.

What are your best tips for staying on task? I have about 24 projects that I've started and about half way through, I get started on the next idea.

My current project is hopefully going to be "The One", but there's always that uncertainty that I won't be able to finish it

NoImNotJustAsian3 karma

You have to deeply believe that your project is worth completing. On finishing projects just keep solving problems/implementing features one at a time and don't be discouraged when you hit a roadblock. If you believe that your app is worth completing, continue to put time into solving your problems.

TheOfficeFan021 karma

How did you learn to code? Did you go to a class that teaches you how to code? I’m currently learning to code in a class and it’s pretty boring since we aren’t making a game and just getting a line of text as the output so how do you stay motivated to do more? As much I want to make a game I think learning code is just too much and too boring for me.

NoImNotJustAsian2 karma

I learned it all through online courses. If you want to learn how to make a game take an online game coding course and follow along with it. Of course you will have to know the basics of coding or you wont be able to implement your own features.

MyNameMightBePhil1 karma

What else are you besides just Asian?

NoImNotJustAsian6 karma

First letter of each word in my username

onelima1 karma

Where did your post go? I was curious about trying your app but now the post is removed

NoImNotJustAsian1 karma

Removed by mods, unsure why, but if you want to check out the app go to stepsactioninspires.com

Zolo891 karma

Hi,

I wanted to ask for advice on how to learn math for programming (which I have a lower level / am in remedial classes for at my local community college)? The reason I'm asking is that I want to learn how to make smartphone apps/gaming console emulators/websites?

Thanks.

NoImNotJustAsian2 karma

There actually isnt that much math in developing smartphone applications. Start by picking a coding language and learning everday