7709
I am a self taught app developer, who learned through coding a little bit everyday for the last three years. Today I am launching my first application to help others do the same. AMA
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!
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??
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.
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
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
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)
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.
NoImNotJustAsian6 karma
It's not about success, it about working towards growing everyday which includes myself.
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.
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.
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.
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
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 :)
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
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.
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
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
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
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.
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.
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:
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.
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.
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
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
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
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
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.
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
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
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?
View HistoryShare Link