Logo
Web Development Roadmap
Overview
Web Development Roadmap

Web Development Roadmap

August 15, 2025
8 min read
web-dev

Before you start learning the basics of Web Development you need to sharpen your axe and understand how a website and its individual parts work.

Most web applications consist of a frontend and backend, where the frontend consists of a GUI while the backend encompasses all processes and components that operate behind the scenes (generally a server and a database). It’s recommended to watch these 2 videos to learn what each of those are and their roles in a web application:

To start, it’s recommended to download an IDE/text editor—the place where you’ll be writing all your code. Most people should use VSCode (Download).

Part 1: Fundamentals

After this you can start learning. One of the most exceptional things about Web Dev is the sheer amount of resources available online to learn about the subject. As such, you can learn the fundamentals of Web Dev through an incredible open source resource: The Odin Project.

To learn HTML, CSS, and Javascript, the basis of all Web Development, all you need to do is complete—in it’s entirety—the “Foundations Course” of The Odin Project. It will help you start with Git as a method of version control, teach basic terminal commands, HTML, CSS, and Javascript in an easy to follow manner.

Important (Warning on completing exercises)

It’s important that you complete all of the exercises—including projects—to make sure that you truly understand the material taught and are able to utilize it. Without doing so, it will be extremely difficult, if not impossible, to move forward in learning more difficult things later on.

Summary

Do your exercises!

Once you finish the foundations course, there is more flexibility on what to do. The Odin Project will allow you to choose two paths, and it’s up to you what to choose, but it’s recommended to start the “Full Stack Javascript” route. Most of this part of the guide will focus on Javascript based Web Dev instead of something like Python or Ruby.

However, it’s not recommended to go through everything in that course as it’s redundant in most cases. If you have time, feel free to do so as the resources are excellent.

Part 2: The Frontend

For most developers, just HTML, CSS, and pure Javascript might be tedious to use. In such cases, we employ the use of frameworks.

Definition (Framework)

A web framework often referred to as a web application framework is a pre-built set of libraries, software tools, and best practices that support the overall software development of web apps.

There are a plethora of frameworks and libraries to use, and the ones you use is up to you.
Here is a table of common JavaScript frameworks/libraries:

Framework/LibraryTypeDescription
ReactLibraryA UI library for building component-based user interfaces.
Vue.jsFrameworkA progressive framework for building user interfaces and single-page apps.
AngularFrameworkA full-featured framework for building large-scale web applications.
SvelteCompilerA compiler that converts declarative components into highly efficient JS.
Next.jsFrameworkA React framework for server-side rendering and static site generation.
Nuxt.jsFrameworkA Vue framework for server-side rendering and static site generation.
Express.jsFrameworkA minimal and flexible Node.js web application framework.
jQueryLibraryA fast, small, and feature-rich JavaScript library for DOM manipulation.

If you don’t know where to start, it’s highly recommended to learn and use React for ease of use and popularity.

To get started with React, follow The Odin Project’s React Course. Here you will learn to setup Vite, a fast front end development tool, and learn the basics of React.

At the very least, the introduction portion of the React Course is recommended. If you are seeking a more visual and hands on approach, Scrimba is an absolutely incredible resource that allows you apply what you learned immediately in it’s own website through interactive coding exercises. However, it falls short sometimes when it comes to volume of content. It’s highly recommended to read up on missing parts in the Odin Project React course, as well as the official React Documentation.

You should also be exploring what other frameworks and libraries you can use in your project. Here are some commonly recommended ones and what they do:

CategoryLibrary / ToolDescription
Styling / UITailwind CSSUtility-first CSS framework
Styling / UIDaisyUITailwind plugin with prebuilt components
Styling / UIShadCNTailwind + Radix UI component library
StateReduxCentralized state management
StateZustandMinimalist state management for React
API / FetchAxiosPromise-based HTTP client
API / FetchReact QueryServer state management and caching
AnimationFramer MotionAnimations for React
UtilitiesLodashCollection of utility functions
UtilitiesDay.jsDate manipulation

These are only a few that you can use. If you want to find anything specific you can look for it.

The minimum i’d recommend are the following:

Note (IA start time)

At this point you should be starting to create your IA project.

Part 3: The Backend

Once you have a good grasp of Frontend Web Development, it’s time to start learning about Backend Web Development.

Important (Should you have a backend?)

It may be the case that your application doesn’t need a backend, but if you want a high mark in your IA, it’s highly recommended to integrate some sort of backend or database to show complexity.

In most web applications, the backend consists of a server and a database. The database stores all the information used by the application while the server takes responsibility for routing and moving information between the front end and database.

However, even if this is the case for most applications, it’s much easier and more time efficient to use a BaaS that does everything for you. Moreover, it’s usually simpler to host (we’ll cover this more later). However, if you want more control over your backend, you might stick to choosing your own server side language and database.

If you choose the latter, The Odin Project can help you start learning how to use Node.js alongside PostgreSQL. If in doubt, check their respective documentation.

When choosing a BaaS there are some distinctions to make. The two main ones recommended are Firebase and Supabase, but the one you use is up to you.

You can use the following table to help you make the decision:

FeatureFirebase (Google)Supabase (Open Source)
DatabaseNoSQL (Firestore, Realtime DB)SQL (PostgreSQL)
APIClient SDKs, RESTREST, GraphQL, client libraries
AuthBuilt-inBuilt-in
Real-timeYesYes
HostingYesNo (DB + APIs only)
Open SourceNoYes
PricingUsage-based, can scale up costsUsage-based, can scale up costs
Vendor LockHighMedium

Firebase is recommended if you need your backend to work on the fly without much intervention, but Supabase is my personal recommendation as it’s more flexble and open source. You can’t go wrong with etiher of these so watch these videos to learn more about each and pick the one you like:

To learn each of these, simply visit their respective documentation.

Warning (Supabase restriction)

One important restriction for supabase, if you are using the free tier, is if you do not use the database or interact with it in 7 days, it will delete your database.

However, if you go back to the supabase dashboard within 90 days of shutdown, you can simply click one button to restore the database. If this is unreasonable, then you might want to choose firebase.

Part 4: Deployment

When creating a web application, you’ll generally want somewhere to host a website so that people can view it through a domain.

Some free hosting services include the following:

ServiceTypeFree Tier LimitsNotes
VercelFrontend hosting, SSR125 GB bandwidth/month, 1 GB storageGreat for Next.js, instant deployments
RenderFull-stack hosting750 compute hours/month, free PostgreSQL (limited)Supports web services & static sites
NetlifyFrontend hosting, CI125 GB bandwidth/month, 300 build minutesStrong JAMstack support
GitHub PagesStatic site hostingUnlimited bandwidth for public reposOnly for static content
Cloudflare PagesStatic site hostingUnlimited requests & bandwidthFree CDN, great for performance
RailwayFull-stack hosting$5/month free credit (~500 compute hours)Auto-deploy from Git, DB support
Fly.ioFull-stack hosting3 shared CPUs, 256 MB RAM, 3 GB storageGood for Docker apps

Generally, it’s recommended to use Vercel as it’s easy to interface. However, the other options are all very viable so use the one that you find is most appropriate.

Tip (Avoiding deployment errors)

Some deployment services have errors when deploying as a result of their respective processes. It’s highly recommended that you either make sure that your GitHub application deploys seamlessly from the get go, or to use a template (from Vercel) and build your product off of it.

This will prevent deployment headaches later on.