Learn the language.
See the system.
I'm Lydia Hallie. I write about JavaScript, React, Node, GraphQL, and the ideas underneath them. Every lesson is free, visual, and built to make the confusing parts click.
// one concept at a time
const learner = {
name: "you",
path: "javascript",
curiosity: Infinity
};
function learn(topic) {
return `one concept at a time: ${topic}`;
}
learn("closures");
lesson 01 / variables
Six ways into the ecosystem
Start with the language, then follow the thread that fits the problem in front of you.
JavaScript
Learn everything you need to get up and running with JavaScript, from variables and types to closures and the event loop.
21 lessonsStart the path → 02
Data Structures and Algorithms
Learn how to implement sorting algorithms and data structures in JavaScript, and how to reason about their runtimes.
3 tracksOpen the track → 03
GraphQL
Get started with GraphQL and libraries such as Apollo Client and GraphQL Yoga, and see how a schema becomes a query.
1 guideRead the guide → 04
React
Once you have a basic understanding of JavaScript and ES6, the next step is learning how to work with the React library. It lets you create components and manage state in your application.
Related lessonSee the React guide → 05
Node.js
Learning Node.js is a great way to understand the JavaScript language and expand your skills in server side programming. Start with the event loop and the Web APIs that power async code.
Related lessonStart with the event loop → 06
Full Stack Projects
Full stack projects can feel daunting when you are starting out. There are certain steps you can take to make the process easier, and the JavaScript path is the foundation for all of them.
FoundationBuild the foundation →21 lessons, in the order they click
No dashboards. No certificates. Just a clear sequence that takes you from variables to closures, the call stack, and the event loop.
Each lesson is a short visual walkthrough. Read it in the browser, then try the code in your console. The path is designed to be read in order, but every page stands on its own.
Lesson 01 through 08 of the Complete JavaScript path.
Hey! I'm Lydia Hallie, a full stack developer who works with JavaScript, React, Node, GraphQL, and modern web technology every day. I love nothing more than sharing what I know for free and helping more people fall in love with programming.
I also write about TypeScript, GraphQL, web performance, and cloud tools. The through line is simple: make complex ideas easier to see.
Read the longer storyWriting beyond the lesson plan
Longer notes on rendering, fonts, and the tools that shape the web.
React + Apollo Client + GraphQL Yoga
Wire a React app to a local GraphQL server and see how a schema, a query, and a cache fit together.
LessonJan 7, 2019 NoteModern Rendering Patterns
Static rendering, incremental static regeneration, server side rendering, and client side rendering, compared by tradeoff.
Web performance2022 NoteOptimizing Web Fonts in Next.js 13
How FOUT and FOIT happen, and the practical ways to load fonts faster in Next.js 13 or plain HTML.
Typography2022