How I Went from Not Knowing How to Code to Shipping 9 Projects in 9 Months – All Before My 15th Birthday

Growing up in the digital age, I‘ve always been fascinated by technology. But I never imagined I would learn to code and build my own apps before even starting high school.

This is the story of how I caught the programming bug at age 13 and went on to complete a challenge of shipping 9 projects in 9 months, learning valuable lessons about what it takes to be a maker along the way. I hope it inspires other young people to discover the joy of coding and the power of building technology to solve problems.

A Kindle Sparked My Interest in Tech

Like many kids, I loved to read. When I was 11, I asked my parents for a Kindle and absolutely fell in love with the device. I started thinking about ways the Kindle reading experience and store could be even better. On a whim, I decided to email my ideas to Jeff Bezos.

After googling for a while, I found what I thought was Jeff‘s email address and sent him a message with my suggestions. I didn‘t really expect a reply. But a couple months later, my mom got a call from someone at Amazon saying they liked my ideas and wanted to invite me to tour the office where they develop the Kindle.

I was shocked that my email had actually reached Jeff Bezos and gotten a response from Amazon. Walking around the Amazon office and seeing the developers working on the Kindle software planted a seed in my mind. I wanted to learn how to code and make apps too.

Learning to Code with Online Courses

Inspired by my Amazon visit, I started looking into how to learn programming. I found some beginner Python tutorials but many went over my head at the time.

I didn‘t revisit coding again until about a year later when I got interested in making websites. I found Codecademy and dove into their HTML courses to start building my own ugly website. It felt amazing to create something from scratch and put it on the internet for anyone to see.

However, I quickly realized I needed to learn JavaScript to make my sites interactive. So I went on a binge of taking every JS course I could find on Codecademy and other platforms my dad purchased for me. I became obsessed with completing coding challenges and learning concepts like loops, arrays, functions and more.

While I was learning a lot, I had lost sight of my original goal – I wanted to code to build things, not just for the sake of coding. It would still be over a year until I started applying my new programming knowledge to real projects.

Finding Community and Learning to "Ship"

In 2020, I serendipitously discovered two online communities of young developers that would change my trajectory – Hack Club and Feathrd. In these Slack groups, I met other teenagers who were putting their coding skills to use by building and shipping their own games, apps, and software projects.

I was inspired by how Hack Club members were starting coding clubs at their schools to teach their friends. But what really intrigued me was this concept of "shipping" – sharing what you made with the world. I saw how much positive feedback and encouragement people got when they posted projects in Hack Club‘s #ship-it channel.

In the Feathrd community, I discovered teens who had thousands of GitHub stars and were actually making money from the apps they built, which blew my mind! Talking to these ambitious builders made me realize that I didn‘t want to just learn to code, I wanted to make real things and ship them.

My First Project: A Book Downloading Command Line App

Newly invigorated to start shipping, I sat down and spent hours brainstorming ideas for my first project. I wanted to solve a real problem I had.

At the time, I was looking to download ebooks and couldn‘t find an easy way to search and get book info. So I decided to build a command line tool to do that.

I quickly realized I had no idea where to even begin. Thankfully, I was able to ask for help and guidance in the Hack Club and Feathrd Slack groups. The other members explained that I needed to use an API to fetch book data and parse the returned JSON. I had never worked with APIs before, so their explanations really helped me learn.

While it was difficult and confusing at times, within a week I had built a working command line app to search and download books. I posted about it in the Slack groups and got great feedback. I learned an important lesson – don‘t be afraid to ask others for help when stuck.

My first experience shipping made me realize I had learned more in that single week than the entire previous year of courses. Having a real problem to solve forced me to fill in gaps in my knowledge and pick up new skills. Most importantly, I got hooked on the feeling of building something useful and seeing others use it.

A Shipping Streak

After that first command line project, I started challenging myself to keep making things. Within a few months, I had evolved that simple shell script into a full-fledged web app called Libert.

My basic formula was to build a minimum viable product (MVP) over the course of a weekend or school break and then ship it out to the world for feedback. I didn‘t worry about making things perfect. I focused on solving a single problem as quickly as possible, often hacking something together by reading docs and cobbling together code from Stack Overflow.

Often my project ideas came from scratching my own itch. For example, I wanted an easy way to shorten URLs to custom domains without having to pay. So I quickly coded up Chhota, a lightweight URL shortener that fits in a tweet and doesn‘t require a database. It uses the Google URL Shortener API under the hood to hash the URLs. Shortcuts like this allowed me to build an MVP in a matter of hours.

Other times my apps were born out of wanting to try a cool new technology I had seen. When the CEO of Glitch posted about a podcast idea he had, I jumped on the opportunity to play with the tech. 24 hours later I shipped a bare-bones version of Syncr, a tool to turn YouTube videos into podcast feeds. It even earned me my first dollars from people who liked it.

I started to see coding as a superpower that let me build solutions to problems I encountered and ship them to a global audience. I open sourced all my projects on GitHub and posted them on websites like Product Hunt and Hacker News to share and get feedback. Seeing my apps hit the front page of these sites gave me a huge motivational boost to keep going.

The Power of Accountability

Beyond my personal drive, another key factor in my shipping streak was becoming an active member of the Work in Progress (WIP) community. WIP is a group of indie hackers and makers who publicly share weekly goals and updates on their projects.

I started using WIP to post about what I was working on and committing to ship dates. Knowing that other makers were seeing my progress kept me motivated and accountable. When I did release projects, I got great feedback, ideas, and support from the community.

WIP also exposed me to the world of indie hacking. I saw that it was possible to build profitable projects and even earn a living as a solo developer if I kept honing my skills. All the indie hackers I met were so generous with their time and knowledge. It made me want to give back and help other aspiring teen programmers like myself.

What I‘ve Learned

About a year into my coding journey, I took a step back and realized that I had shipped 9 projects over the previous 9 months – all before turning 15. I‘m proud of the web apps and tools I‘ve made so far like:

  • 🦖 Urbansaurus – slang & definitions while browsing
  • 👕 Chhota – minimal URL shortener as a service
  • 📝 Pagiga – no-code markdown blogging via Google Forms
  • 💰 Ernr – accept donations without transaction fees
  • 🎧 Syncr – podcast feed from a YouTube channel
  • 🔔 Pingr – important mobile notifications forwarding
  • 🗒️ Writt – rich notes in Telegram saved to the cloud
  • 📊 Polltime – SMS polls that can be shared anywhere
  • ✏️ Wrish – autosaving web scratchpad and notepad

Looking back, I‘ve learned some valuable lessons that helped me go from total beginner to shipping apps regularly:

  • Remember your "why" – don‘t learn to code just to learn. Have a goal in mind for what you want to create.
  • Build, don‘t just study – online courses are great for laying a foundation but you learn the most by making real projects. Start small but start building.
  • Find a community – having a group of creators to learn from, share with, and be inspired by is game changing. Don‘t code in isolation.
  • Default to shipping – don‘t aim for perfection, get your MVPs in the hands of users ASAP. You can always iterate and improve.
  • Teach and give back – share what you‘ve learned with other aspiring programmers. Seeing someone else have an aha! moment is incredibly fulfilling.

I‘m still at the beginning of my journey as a young developer but I‘m excited for what‘s ahead. I want to keep stretching myself by learning new technologies like machine learning, mobile app development and Bitcoin. I also want to go deeper on projects, moving beyond MVPs to create polished, fully-featured products. Ultimately, my goal is to positively impact people‘s lives with tools I‘ve built.

If reading this far has inspired you to learn to code or to start shipping your own projects, I‘d love to connect. You can find me on Twitter where I‘ll be sharing my latest coding experiments, apps, and reflections.

The most important thing is to get started and have fun with coding. Build things that excite you and don‘t be afraid to show them to the world. With time and practice, you‘ll be amazed at how much you can create.

Similar Posts