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
Learn HTML for Free: Full Beginner Course with Live Editor (English and Arabic)
A free 9-lesson HTML course: write code in a live editor, check your exercises automatically, take a quiz per lesson and keep your progress without signing up. Every lesson cites MDN, WHATWG or W3C.
Start the course0 of 9 lessons done on this device
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
LiveThe structure of every web page: text, links, images, tables, forms and meaning.
Code runs in your browser9 of 9 lessons live
- Your first web page
- Headings, paragraphs and text
- Links and URLs
- Images, video and audio
- Lists and tables
- Forms and inputs
- Semantic page structure
- The head, SEO tags and Arabic pages
- Project: a one-page business site
CSS
Coming soonColours, spacing, Flexbox, Grid, responsive layouts and right-to-left design.
Code runs in your browser0 of 9 lessons live
- How CSS works: selectors and the cascade · Coming soon
- Colours, units and fonts · Coming soon
- The box model and spacing · Coming soon
- Flexbox · Coming soon
- CSS Grid · Coming soon
- Responsive design and media queries · Coming soon
- Logical properties and RTL layouts · Coming soon
- Transitions and animation · Coming soon
- Project: style the bilingual business page · Coming soon
JavaScript
Coming soonThe language of the web: values, functions, the DOM, events, async code and fetch.
Code runs in your browser0 of 12 lessons live
- Variables, values and types · Coming soon
- Operators and conditions · Coming soon
- Loops and arrays · Coming soon
- Functions · Coming soon
- Objects and JSON · Coming soon
- The DOM: change a page with code · Coming soon
- Events and forms · Coming soon
- Promises, async and await · Coming soon
- fetch and public APIs · Coming soon
- Modules and modern syntax · Coming soon
- Errors and debugging · Coming soon
- Project: a working currency or tip calculator · Coming soon
TypeScript
Coming soonTypes for JavaScript: catch mistakes before the code runs.
Code runs in your browser0 of 6 lessons live
- Why TypeScript and basic types · Coming soon
- Interfaces and type aliases · Coming soon
- Unions, narrowing and literal types · Coming soon
- Generics · Coming soon
- Typing functions, objects and APIs · Coming soon
- tsconfig and strict mode · Coming soon
React
Coming soonBuild interfaces from components: JSX, props, state, effects and forms.
Code runs in your browser0 of 8 lessons live
- Components and JSX · Coming soon
- Props and composition · Coming soon
- State with useState · Coming soon
- Lists, keys and conditional rendering · Coming soon
- Forms in React · Coming soon
- Effects and fetching data · Coming soon
- Sharing state and context · Coming soon
- Project: a to-do app with saved data · Coming soon
Next.js
Coming soonFull stack React: routing, server components, data, SEO and deployment.
Real recorded output0 of 7 lessons live
- App Router and pages · Coming soon
- Server and client components · Coming soon
- Data fetching and caching · Coming soon
- Route handlers (APIs) · Coming soon
- Metadata and SEO · Coming soon
- Internationalisation and RTL · Coming soon
- Project: a bilingual site you deploy · Coming soon
Back end and APIs
Node.js
Coming soonJavaScript on the server: modules, files, npm, HTTP servers and Express.
Real recorded output0 of 7 lessons live
- Running JavaScript with Node · Coming soon
- Modules and npm · Coming soon
- Files and streams · Coming soon
- A web server with node:http · Coming soon
- Express routes and middleware · Coming soon
- Environment variables and secrets · Coming soon
- Project: a REST API · Coming soon
HTTP and APIs
Coming soonHow browsers and servers talk: requests, status codes, REST, JSON, CORS and auth.
Code runs in your browser0 of 7 lessons live
- Requests, responses and status codes · Coming soon
- Headers, cookies and caching · Coming soon
- REST design and JSON · Coming soon
- CORS explained · Coming soon
- Authentication: sessions, tokens and JWT · Coming soon
- GraphQL and webhooks · Coming soon
- API security basics · Coming soon
Python
Coming soonPython from zero, running in your browser, then data with pandas and web APIs with FastAPI.
Code runs in your browser0 of 8 lessons live
- Values, variables and print · Coming soon
- Conditions and loops · Coming soon
- Lists, dictionaries and sets · Coming soon
- Functions and modules · Coming soon
- Files, errors and exceptions · Coming soon
- Classes and objects · Coming soon
- Data with pandas · Coming soon
- Web APIs with FastAPI · Coming soon
Databases
SQL
Coming soonQuery real tables in your browser: SELECT, filters, joins, grouping and changing data.
Code runs in your browser0 of 8 lessons live
- Tables, rows and SELECT · Coming soon
- WHERE, ORDER BY and LIMIT · Coming soon
- Aggregates and GROUP BY · Coming soon
- JOINs · Coming soon
- INSERT, UPDATE and DELETE · Coming soon
- Designing tables and keys · Coming soon
- Indexes and performance · Coming soon
- Transactions · Coming soon
PostgreSQL
Coming soonThe popular open-source database: types, JSON columns, views and security.
Code runs in your browser0 of 5 lessons live
- PostgreSQL types · Coming soon
- Constraints and relations · Coming soon
- JSONB columns · Coming soon
- Views and functions · Coming soon
- Roles and row-level security · Coming soon
MongoDB
Coming soonDocument databases: collections, queries, indexes and when to choose them.
Real recorded output0 of 4 lessons live
- Documents and collections · Coming soon
- Queries and projections · Coming soon
- Updates and indexes · Coming soon
- Aggregation pipeline · Coming soon
Redis
Coming soonIn-memory data for caching, sessions, queues and rate limits.
Real recorded output0 of 3 lessons live
- Keys, strings and expiry · Coming soon
- Lists, hashes and sets · Coming soon
- Caching and rate limiting · Coming soon
More languages
Java
Coming soonA typed, object-oriented language used for large back ends and Android.
Real recorded output0 of 5 lessons live
- Syntax, types and main · Coming soon
- Classes and objects · Coming soon
- Collections · Coming soon
- Exceptions · Coming soon
- A web API with Spring Boot · Coming soon
C#
Coming soonMicrosoft’s main language for .NET web APIs, desktop and games.
Real recorded output0 of 3 lessons live
- Syntax and types · Coming soon
- Classes, records and LINQ · Coming soon
- A minimal API with ASP.NET Core · Coming soon
Go
Coming soonA small, fast language for servers and command-line tools.
Real recorded output0 of 4 lessons live
- Packages, types and functions · Coming soon
- Structs, interfaces and errors · Coming soon
- Goroutines and channels · Coming soon
- An HTTP server · Coming soon
Rust
Coming soonMemory-safe systems programming: ownership, borrowing and Cargo.
Real recorded output0 of 4 lessons live
- Variables, types and Cargo · Coming soon
- Ownership and borrowing · Coming soon
- Structs, enums and match · Coming soon
- Errors with Result · Coming soon
PHP
Coming soonThe language behind WordPress and Laravel.
Real recorded output0 of 4 lessons live
- Syntax, variables and arrays · Coming soon
- Forms and sessions · Coming soon
- Databases with PDO · Coming soon
- Laravel basics · Coming soon
Tools, testing and deployment
Git and GitHub
Coming soonSave your work in history, branch safely and work with others on GitHub.
Real recorded output0 of 5 lessons live
- Repositories and commits · Coming soon
- Branches and merging · Coming soon
- Remotes, push and pull · Coming soon
- Pull requests and reviews · Coming soon
- Fixing mistakes safely · Coming soon
Testing
Coming soonUnit, component and end-to-end tests so changes do not break your site.
Code runs in your browser0 of 3 lessons live
- Why test, and unit tests · Coming soon
- Testing components · Coming soon
- End-to-end tests · Coming soon
Web security
Coming soonProtect users: XSS, CSRF, SQL injection, passwords, HTTPS and secrets.
Code runs in your browser0 of 4 lessons live
- XSS and output escaping · Coming soon
- SQL injection and parameters · Coming soon
- Passwords and hashing · Coming soon
- CSRF, cookies and headers · Coming soon
Linux, Docker and deployment
Coming soonPut a site online: the command line, domains, DNS, HTTPS, Docker and CI.
Real recorded output0 of 5 lessons live
- The command line · Coming soon
- Domains, DNS and HTTPS · Coming soon
- Static and server hosting · Coming soon
- Docker basics · Coming soon
- 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.