923 days ago, it was day 1.
And something stopped me.
"To build your idea, you should learn to code yourself.
Just open Google and write, "How to make a website."
The biggest thing in coding and business is learning how to learn. Or learning how to figure things out yourself."
I'd never considered that.
Back then, I wanted to build a map of the world's best surf spots and provide cheap flight and beachfront hotel discounts to them.
So 923 days ago, I did what Pieter said.
I literally typed "How to build a website" into Google and began learning to code.
Here's me literally doing it.
I even recorded it.
Here's the YouTube link. Check it out.
I did this for 3-4 days. But I began to feel constrained or stuck.
Like, I didn't know what to learn next.
So I asked a friend.
She was so excited about what I was doing!
So that's what I did that.
I’d take a tutorial.
Then I’d code on my project for as long as I could and slowly I'd become completely stuck.
At that point, I'd take another tutorial.
Once I'd figure out how to keep going, I'd continue coding the project.
In case you want to learn to code too, here's the exact tutorials I took at Treehouse:
After getting stuck because I my code was getting crazy long
my friend told me to check out Firebase for my first database.
I Googled around and found the tutorial playlist below by The Net Ninja.
I watched each video, did the full tutorial and slowly figured out how to create, read, update and delete (CRUD) items in a database.
This was completely game-changing.
I remember feeling like I could build forever at this point.
Here's what the project started to look like:
I still needed to Google how-to's for almost everything, but I could build and build and build.
It was so empowering.
A few weeks from here, I wanted to add a map with pins to my site.
This was my first time engaging with an API.
I learned how to do this from this YouTube tutorial by Brad Traversy.
From that one tutorial, I added a map with surf spots and places to stay right next to the waves.
I was so amped on it. I remember wanting to show everyone I know.
It's worth mentioning, Brad is my favorite online teacher by far.
I’ve taken every YouTube tutorial he has online. And I've bought multiple of his Udemy courses.
Any course Brad makes is worth its weight in gold.
Once I figured out how to plug into APIs I felt unstoppable.
With all the knowledge above, I coded and built Surf Trip List for 9 months.
Here was the end product.
And here's the video with sound if you're interested.
It’s a story for another time, but life changed and I gave up on Surf Trip List.
If I’m honest, I got pretty depressed at this point too.
I felt like a total failure.
I kept starting other projects, but I couldn’t finish them.
I remember wanting to build a project with the languages I knew.
But I felt constrained.
Finally, I decided to build a project for someone else (a blog for my fiance) as a forcing function to learn React.
At this point, I had a full-time job.
So I'd learn for an hour here or an evening there.
I should have filmed some of this.
But like I said, I just needed to complete something here. I wasn't in the mind space to share the journey then.
As I went, I learned React wasn't great for SEO.
So I did some research and found NextJS.
NextJS is incredible.
It's a React framework for static sites.
It's server-rendered, so it's crazy fast and optimized for SEO.
It’s basically Bootstrap on steroids.
It’s a CSS library that you can customize as much or little as you want.
Here’s the tutorial I used to start.
I even bought Tailwind UI for all the pre-built components and templates, and it sped up my dev process at least 2X.
I had my fiance's blog all set up (with placeholder content):
My plan was to convince her to write the blog in Markdown.
(And push it up to Github with git CLI commands. lol)
Which yeah... would never have happened.
Sanityio is a customizable CMS (like Wordpress) that serves up content to the DOM with the perfect amount of flexibility.
Here's the Sanity Studio I set up for my fiance's site:
As always, I built until I got stuck.
I hit a place where I needed a tool to help manage semi-complex interactivity on the site (in coding terms this is the ability to more easily manage state).
In Lehman terms: If you click on this button, have the code change these elements inside these four different files.
Changing the state of elements inside numerous files gets messy. So you need a state manager.
After some Googling, I found React's Context API (it's React’s version of Redux, which I had heard of before).
I took this Brad Traversy tutorial and learned the Context API. Start at 15.00.
Here's what I ended up with inside my code:
After this point, I felt like I could build and build and build again.
I’d still Google simple things (and always will), but I could flow.
And after many nights and weekends (since I have a full-time job) I finished my first React project, Here Now Body!
My fiance's site still has placeholder content…
But check it out:
But I'm super stoked on how it looks and works anyways.
After that, I built my most recent project — a whole other site called Remote Dev Jobs.
This is totally under construction, but it's been amazing to hack on a project again.
It looks like this so far:
And with all that, I feel empowered to take on projects that seemed too big previously.
So to sum my journey learning to code!
Google Maps API
React Docs’ Tutorial
MERN Front to Back Udemy
NextJS Docs’ Tutorial
Context API Tutorial
Take a tutorial. Once you've learned a little, build your own project from what you learn.
Build until you feel a constraint, then learn more. Don’t learn just to learn.
Once you understand a language’s keywords, you’re set. Code until you're stuck. Then Google keywords for whatever you need.
I’ve been stuck for 7 days on one problem multiple times. Ask people online. They will help.
You can do it.
Thank you for reading! I’m not going to lie. This took a while to put together.
If you’d like to say, "Thank you" please retweet the thread on Twitter.
That would be the most meaningful way to say, "Thanks".