Skip to content

Become a full stack developer, for free

This is a free, step-by-step path from your first HTML tag to building and deploying full stack apps. Every lesson lets you edit and run the code on the page, checks your exercise in your browser, and lists the official documentation we checked it against. No account, no paywall, and the whole path is in English and Arabic.

Quick answer

Start with HTML, then CSS and JavaScript for the front end, then a server language, databases and APIs for the back end, then Git, testing and deployment. The full path below shows every course; finished lessons are live, and new lessons are added one at a time as they pass our quality checks.

9 of 130 lessons live · 22 courses planned

The full learning path

Everything we plan to teach, in the order we recommend. Live lessons open; the rest are marked coming soon and are added one by one.

Front end

  • HTML

    Live

    The structure of every web page: text, links, images, tables, forms and meaning.

    Code runs in your browser9 of 9 lessons live

    1. Your first web page
    2. Headings, paragraphs and text
    3. Links and URLs
    4. Images, video and audio
    5. Lists and tables
    6. Forms and inputs
    7. Semantic page structure
    8. The head, SEO tags and Arabic pages
    9. Project: a one-page business site
    Open course
  • CSS

    Coming soon

    Colours, spacing, Flexbox, Grid, responsive layouts and right-to-left design.

    Code runs in your browser0 of 9 lessons live

    1. How CSS works: selectors and the cascade · Coming soon
    2. Colours, units and fonts · Coming soon
    3. The box model and spacing · Coming soon
    4. Flexbox · Coming soon
    5. CSS Grid · Coming soon
    6. Responsive design and media queries · Coming soon
    7. Logical properties and RTL layouts · Coming soon
    8. Transitions and animation · Coming soon
    9. Project: style the bilingual business page · Coming soon
  • JavaScript

    Coming soon

    The language of the web: values, functions, the DOM, events, async code and fetch.

    Code runs in your browser0 of 12 lessons live

    1. Variables, values and types · Coming soon
    2. Operators and conditions · Coming soon
    3. Loops and arrays · Coming soon
    4. Functions · Coming soon
    5. Objects and JSON · Coming soon
    6. The DOM: change a page with code · Coming soon
    7. Events and forms · Coming soon
    8. Promises, async and await · Coming soon
    9. fetch and public APIs · Coming soon
    10. Modules and modern syntax · Coming soon
    11. Errors and debugging · Coming soon
    12. Project: a working currency or tip calculator · Coming soon
  • TypeScript

    Coming soon

    Types for JavaScript: catch mistakes before the code runs.

    Code runs in your browser0 of 6 lessons live

    1. Why TypeScript and basic types · Coming soon
    2. Interfaces and type aliases · Coming soon
    3. Unions, narrowing and literal types · Coming soon
    4. Generics · Coming soon
    5. Typing functions, objects and APIs · Coming soon
    6. tsconfig and strict mode · Coming soon
  • React

    Coming soon

    Build interfaces from components: JSX, props, state, effects and forms.

    Code runs in your browser0 of 8 lessons live

    1. Components and JSX · Coming soon
    2. Props and composition · Coming soon
    3. State with useState · Coming soon
    4. Lists, keys and conditional rendering · Coming soon
    5. Forms in React · Coming soon
    6. Effects and fetching data · Coming soon
    7. Sharing state and context · Coming soon
    8. Project: a to-do app with saved data · Coming soon
  • Next.js

    Coming soon

    Full stack React: routing, server components, data, SEO and deployment.

    Real recorded output0 of 7 lessons live

    1. App Router and pages · Coming soon
    2. Server and client components · Coming soon
    3. Data fetching and caching · Coming soon
    4. Route handlers (APIs) · Coming soon
    5. Metadata and SEO · Coming soon
    6. Internationalisation and RTL · Coming soon
    7. Project: a bilingual site you deploy · Coming soon

Back end and APIs

  • Node.js

    Coming soon

    JavaScript on the server: modules, files, npm, HTTP servers and Express.

    Real recorded output0 of 7 lessons live

    1. Running JavaScript with Node · Coming soon
    2. Modules and npm · Coming soon
    3. Files and streams · Coming soon
    4. A web server with node:http · Coming soon
    5. Express routes and middleware · Coming soon
    6. Environment variables and secrets · Coming soon
    7. Project: a REST API · Coming soon
  • HTTP and APIs

    Coming soon

    How browsers and servers talk: requests, status codes, REST, JSON, CORS and auth.

    Code runs in your browser0 of 7 lessons live

    1. Requests, responses and status codes · Coming soon
    2. Headers, cookies and caching · Coming soon
    3. REST design and JSON · Coming soon
    4. CORS explained · Coming soon
    5. Authentication: sessions, tokens and JWT · Coming soon
    6. GraphQL and webhooks · Coming soon
    7. API security basics · Coming soon
  • Python

    Coming soon

    Python from zero, running in your browser, then data with pandas and web APIs with FastAPI.

    Code runs in your browser0 of 8 lessons live

    1. Values, variables and print · Coming soon
    2. Conditions and loops · Coming soon
    3. Lists, dictionaries and sets · Coming soon
    4. Functions and modules · Coming soon
    5. Files, errors and exceptions · Coming soon
    6. Classes and objects · Coming soon
    7. Data with pandas · Coming soon
    8. Web APIs with FastAPI · Coming soon

Databases

  • SQL

    Coming soon

    Query real tables in your browser: SELECT, filters, joins, grouping and changing data.

    Code runs in your browser0 of 8 lessons live

    1. Tables, rows and SELECT · Coming soon
    2. WHERE, ORDER BY and LIMIT · Coming soon
    3. Aggregates and GROUP BY · Coming soon
    4. JOINs · Coming soon
    5. INSERT, UPDATE and DELETE · Coming soon
    6. Designing tables and keys · Coming soon
    7. Indexes and performance · Coming soon
    8. Transactions · Coming soon
  • PostgreSQL

    Coming soon

    The popular open-source database: types, JSON columns, views and security.

    Code runs in your browser0 of 5 lessons live

    1. PostgreSQL types · Coming soon
    2. Constraints and relations · Coming soon
    3. JSONB columns · Coming soon
    4. Views and functions · Coming soon
    5. Roles and row-level security · Coming soon
  • MongoDB

    Coming soon

    Document databases: collections, queries, indexes and when to choose them.

    Real recorded output0 of 4 lessons live

    1. Documents and collections · Coming soon
    2. Queries and projections · Coming soon
    3. Updates and indexes · Coming soon
    4. Aggregation pipeline · Coming soon
  • Redis

    Coming soon

    In-memory data for caching, sessions, queues and rate limits.

    Real recorded output0 of 3 lessons live

    1. Keys, strings and expiry · Coming soon
    2. Lists, hashes and sets · Coming soon
    3. Caching and rate limiting · Coming soon

More languages

  • Java

    Coming soon

    A typed, object-oriented language used for large back ends and Android.

    Real recorded output0 of 5 lessons live

    1. Syntax, types and main · Coming soon
    2. Classes and objects · Coming soon
    3. Collections · Coming soon
    4. Exceptions · Coming soon
    5. A web API with Spring Boot · Coming soon
  • C#

    Coming soon

    Microsoft’s main language for .NET web APIs, desktop and games.

    Real recorded output0 of 3 lessons live

    1. Syntax and types · Coming soon
    2. Classes, records and LINQ · Coming soon
    3. A minimal API with ASP.NET Core · Coming soon
  • Go

    Coming soon

    A small, fast language for servers and command-line tools.

    Real recorded output0 of 4 lessons live

    1. Packages, types and functions · Coming soon
    2. Structs, interfaces and errors · Coming soon
    3. Goroutines and channels · Coming soon
    4. An HTTP server · Coming soon
  • Rust

    Coming soon

    Memory-safe systems programming: ownership, borrowing and Cargo.

    Real recorded output0 of 4 lessons live

    1. Variables, types and Cargo · Coming soon
    2. Ownership and borrowing · Coming soon
    3. Structs, enums and match · Coming soon
    4. Errors with Result · Coming soon
  • PHP

    Coming soon

    The language behind WordPress and Laravel.

    Real recorded output0 of 4 lessons live

    1. Syntax, variables and arrays · Coming soon
    2. Forms and sessions · Coming soon
    3. Databases with PDO · Coming soon
    4. Laravel basics · Coming soon

Tools, testing and deployment

  • Git and GitHub

    Coming soon

    Save your work in history, branch safely and work with others on GitHub.

    Real recorded output0 of 5 lessons live

    1. Repositories and commits · Coming soon
    2. Branches and merging · Coming soon
    3. Remotes, push and pull · Coming soon
    4. Pull requests and reviews · Coming soon
    5. Fixing mistakes safely · Coming soon
  • Testing

    Coming soon

    Unit, component and end-to-end tests so changes do not break your site.

    Code runs in your browser0 of 3 lessons live

    1. Why test, and unit tests · Coming soon
    2. Testing components · Coming soon
    3. End-to-end tests · Coming soon
  • Web security

    Coming soon

    Protect users: XSS, CSRF, SQL injection, passwords, HTTPS and secrets.

    Code runs in your browser0 of 4 lessons live

    1. XSS and output escaping · Coming soon
    2. SQL injection and parameters · Coming soon
    3. Passwords and hashing · Coming soon
    4. CSRF, cookies and headers · Coming soon
  • Linux, Docker and deployment

    Coming soon

    Put a site online: the command line, domains, DNS, HTTPS, Docker and CI.

    Real recorded output0 of 5 lessons live

    1. The command line · Coming soon
    2. Domains, DNS and HTTPS · Coming soon
    3. Static and server hosting · Coming soon
    4. Docker basics · Coming soon
    5. CI with GitHub Actions · Coming soon

Courses marked "Code runs in your browser" run your code on your own device, in a sandbox or a WebAssembly runtime. Java, C#, Go, Rust, PHP, Node.js servers and server databases cannot run safely in a browser, so those lessons show output we ran ourselves, labelled with the version and date.

What is a full stack developer?

A full stack developer can build both sides of a web application: the front end that runs in the browser (HTML, CSS, JavaScript, often React) and the back end that runs on a server (a language such as JavaScript with Node.js or Python, a database and APIs), and can put the result online. You do not need to master everything at once. Most people get comfortable with the front end first, then add the back end.

What is different about learning here

Every lesson follows the same template: a short answer, explanations with editable examples, a common mistakes section, an exercise checked automatically in your browser, a quiz that explains every answer, and five questions people ask. Each lesson lists its sources (MDN, WHATWG, W3C or the vendor's own docs) and the date we checked them. Progress is saved only on your device. All of it is free, and nothing is locked behind an account.

How long does it take?

It depends on your hours, not on a course timer. As a rough guide, people practising about an hour a day usually need a few weeks for HTML and CSS, two to three months to get comfortable with JavaScript, and several more months for a back end, databases and deployment. Building your own small projects along the way matters more than finishing lessons quickly.

Arabic and English

Each lesson exists in both languages with the same content. Code stays in English and left to right in both versions, because that is how real code is written. The Arabic text is pending review by a native technical reviewer; if you find a wording problem, please tell us through the contact page.

Questions people ask

Can I really become a full stack developer for free?

Yes, the knowledge is free: this path, the official documentation and free tools are enough. What it costs is time and practice. Paid courses can add mentoring or deadlines, but they are not required to learn the skills.

Which programming language should I learn first?

For web development, start with HTML and CSS, then JavaScript, because the browser only runs JavaScript. Once you know it, the same language works on the server with Node.js, which makes full stack JavaScript a common first path.

Do I need a powerful computer to learn coding?

No. Any computer that runs a modern browser is enough for this path, because the code runs in your browser. Later, for local servers and databases, 8 GB of memory is comfortable but not strictly required.

Do I need a degree to work as a web developer?

Many employers hire developers based on a portfolio and a practical test rather than a degree, though some companies and visa or licensing rules in some countries do ask for one. Check the requirements in the country and company you are aiming for.

How do I know a lesson is up to date?

Each lesson shows the date it was checked and links the official pages it was checked against. When the platform changes, we update the lesson and its date.