Learn
Follow a structured path with direct explanations, examples, and lessons you can revisit.
Browse coursesFree courses, focused practice, and portfolio-ready projects for developers who want to understand what they build.

Move from an explanation to working code, then turn that code into proof you can keep.
Follow a structured path with direct explanations, examples, and lessons you can revisit.
Browse coursesUse small exercises to test the idea while it is still fresh and build fluency through repetition.
Open exercisesCombine the pieces in a guided project that gives your new skill a real shape and a place to grow.
Choose a projectSix focused programming paths, from first principles to frontend, backend, systems, and data foundations.
Build resilient interfaces through selectors, the cascade, layout systems, responsive components, typography, and accessible visual states.
Learn HTML from first principles with visual explanations, editable examples, guided practice, and an accessible reference for building real web pages.
A complete frontend-first JavaScript path with 32 lessons, six applied projects, runnable practice, debugging labs, a cumulative assessment, and a final capstone.
Short problems with enough context to make the solution teach you something.
Given app.c, inventory.c, inventory.h, and Makefile, explain and write the dependency rules needed so changing inventory.h recompiles both relevant object files before linking.
Try the exercise 02Parse a simple inventory record in the form id,name,quantity into a struct. Reject missing fields, extra commas, an empty name, and a quantity outside 0..100000.
Try the exercise 03Implement queue_push for a fixed-capacity circular queue. Return 0 when the queue is full or invalid; otherwise store the value, advance tail with wraparound, and increase size.
Try the exercise 04Define semantic color tokens for a card and support a dark theme without repeating component declarations.
Try the exercise 05Add an entrance transition for a notification panel, then make the experience calm and usable for visitors who request reduced motion.
Try the exerciseGuided portfolio projects turn isolated concepts into a finished, explainable result.
Ship a tested Node.js API with validation, pagination, errors, and PostgreSQL persistence.
Open projectBuild a product discovery and checkout experience designed for speed and accessibility.
Open projectClean a real dataset and turn it into clear, decision-ready visual insights.
Open projectCreate a collaborative board with live presence, optimistic updates, and durable activity history.
Open projectModel transactions, budgets, and monthly insights in a responsive personal finance app.
Open projectDeveloper how-tos, comparisons, and troubleshooting notes for the questions that appear between lessons.
Install Flutter on Windows, macOS, or Linux; choose a first target, configure your editor and platform tooling, run Flutter Doctor, and launch a real app.
Read guideChoose an AI coding agent by workflow, autonomy, permissions, and review—not marketing claims. Compare Cursor, Claude Code, Codex, and GitHub Copilot with a repeatable trial plan.
Read guideInstall a current Python release on Windows, macOS, or Linux; prove which interpreter and pip you are using; create an isolated project environment; and fix the common setup failures without damaging your system Python.
Read guideCompare Cursor and Claude Code across interface, codebase context, terminal work, autonomy, permissions, MCP, Git, teams, pricing, and speed—then choose the workflow your developers can review and operate safely.
Read guideFast browser tools for the tiny tasks that interrupt a good build.
When you get stuck, share the attempt. A useful question can become a useful answer for everyone.
Less noise, more useful feedback, and a direct line from the concept you are learning to the thing you want to make.
Core courses and the learning path stay open to everyone.
Every concept leads to an exercise, example, or useful build.
Clear paths and short lessons keep the next step obvious.
Projects, guides, and tools connect learning to working code.
Develop Python fluency through clear language foundations, practical data work, files, exceptions, models, and a tested project structure.
Return true when a proposed time slot overlaps an existing slot. Time ranges use half-open intervals: an event ending at 10:00 does not conflict with one starting at 10:00.
Build a fast, accessible portfolio with project case studies and a polished contact flow.
Open project