Basic web development lessons that use analogies to make new concepts simple
Each tutorial includes images, diagrams and text that explain common coding challenges in a refreshing (and unusual) way
Web Development Is Hard
At CodeAnalogies, we optimize our tutorials for understanding . What makes each web development topic unique?
Most tutorials include the following steps:
- A high-level analogy to real-world concept
 - Diagrams that tie the real-world to the code
 - A few examples using actual code
 
        CSS Tutorials
CSS Basics
            Positioning
CSS Positioning Explained by Building an Ice Cream Sundae
            Box Model
The CSS Box Model Explained by Living in a Boring Suburban Neighborhood
            Display
CSS Display Explained by Packing a Suitcase
            Flexbox
CSS Flexbox Explained by Roadtripping across the Country
            Floats
CSS Floats Explained by Riding An Escalator
            Selectors
CSS Selectors Explained by Going Car Shopping
            Specificity
CSS Specificity Explained by Hopelessly Shopping for New Clothes
JavaScript Tutorials
Javascript Basics
            The Very Basics
JavaScript Syntax Explained by Directing a Construction Site
            Variables
JavaScript Variables Explained by Loading A Truck
            Booleans
JavaScript Booleans Explained By Going to Court
            Functions
JavaScript Functions Explained by Making A Recipe
            Arrays and Objects
JavaScript Arrays and Objects are Just Like Books and Newspapers
            For Loops And More
For Loops Explained by Running a Factory
            Callbacks
JavaScript Callbacks Explained Using Minions
            MVC Frameworks
Model View Controller Explained by Ordering Drinks at the Bar
Key JavaScript Concepts
            AJAX
AJAX Explained By Working In A Fast Food Restaurant
            Promises
JavaScript Promises Explained By Gambling At A Casino
            Closures
JavaScript Closures Explained by Mailing a Package
            Scoping
Scoping Explained Through Multiple Levels of Government
            Map() Method
Map() Method Explained by Going on A Hike
            Filter() Method
Filter() Method Explained by Applying to College
            Reduce() Method
Reduce Method Explained By Going On a Diet
            Traversing The DOM
Traversing The DOM Is Just Like Creating Your Personal Schedule
            The Concept of "This"
JavaScript's "this" Explained by Starting a High School Band
            Apply, Call and Bind
Apply, Call and Bind Explained by Hosting a Cookout
Popular JavaScript Frameworks
            D3.js Basics
Learn D3.js by Planting a Vegetable Garden
            React Props/State
Props/State Explained Through Darth Vader’s Hunt for the Rebels
            Express.js
Express Basics Explained by Running a Restaurant
JavaScript Dev Tools
            Basic Dev Tools (Module Bundler, Package Manager)
JS Dev Tools Explained By Cooking In a Restaurant Kitchen
How The Web Works
Basics
            HTML, CSS and JavaScript
The Relationship Between HTML, CSS and JavaScript Explained by Building A City
            File Directories
File Directories Explained by Getting Dressed in the Morning
            Dev Tools
Browser Developer Tools Explained By Training To Become a Chef
            Front End v. Back End
Front End v. Back End Explained by Starting a Microbrewery
            Localhost
Localhost Explained By Starting A Microbrewery
            Web Servers
Web Servers Explained By Running A Microbrewery
            Caching
Web Caching Explained by Buying Milk at the Supermarket
            APIs
Web APIs Explained by Selling Goods From Your Farm
            Amazon Web Services
Amazon Web Services (AWS) Explained by Operating a Brewery
            Webhooks
Webhooks v. APIs Explained by Selling Seasonal Produce At Your Farm
            Blockchain
Blockchain Explained by Trying to Pass High School Math Class
            Cookies
Internet Cookies Explained by Taking Your Kid to the Doctor's Office
SQL Tutorials
Basics
            SQL Basics
SQL Tables Explained by Voting in the Infamous 2016 Election
Git Tutorials
Git Basics
            Git Basics
The Basics of Git Explained by Designing a New Car
About
Hi, I'm Kevin! I taught myself web development over the last couple years on nights and weekends. It was...challenging.
There had to be a better way to teach code than endless videos, blog posts and practice problems. I started studying cognitive psychology, and I realized that analogies and imagery make complex topics much easier to understand.
I wrote the first tutorial in March 2016, "Javascript Callbacks Explained Using Minions". It did over 5000 views, and I knew I was on to something.
Since then, the tutorials have done over 400,000 views. Now, I am trying to create a new way to teach web development
Want to chat? Email me at kevin (at) codeanalogies.com