Blog

Tutorials

How to Build a Web App: 7 Steps for Beginners

How to build a web app in 7 steps: plan one feature, sketch screens, pick a stack, add a database and login, test, and deploy. With code or with an AI agent.

Writer

Nafis Amiri

Co-Founder of CatDoes

How to Build a Web App: 7 Steps for Beginners — minimalist illustration featuring a web app interface connected to settings and globe icons on a white perspective-grid background.

To build a web app from scratch, you decide what one problem it solves, sketch the screens, pick a tech stack, build the pages, connect a database and login, test it, and deploy it to a live URL. Whether you write the code yourself or have an AI agent write it for you, creating a web application follows those same seven steps.

This guide covers what to do at each step, which tools beginners pick, and what it costs to start. At the end, we build a hair salon site with CatDoes in two prompts, from first prompt to live link.

Short answer: plan one core feature, sketch the screens, pick a stack (for example React for the pages, Supabase for the database and login, and Vercel for hosting), build it, test it on real devices, and deploy it. If you don't code, an AI agent can handle steps 3 to 7 from a plain-English description.

  1. Define the problem and one core feature

  2. Sketch the screens

  3. Pick a tech stack

  4. Build the frontend

  5. Add a database, login and backend logic

  6. Test it in real browsers and on phones

  7. Deploy it to a live URL

Table of Contents

  • What's the Best Way to Build a Web App?

  • 1. Define the Problem and One Core Feature

  • 2. Sketch the Screens

  • 3. Pick a Tech Stack

  • 4. Build the Frontend

  • 5. Add a Database, Login and Backend Logic

  • 6. Test It in Real Browsers and on Phones

  • 7. Deploy It to a Live URL

  • After Launch: Updates, Security and Monitoring

  • How to Build a Web App With AI: A CatDoes Example

  • Common Questions About Building a Web App

What's the Best Way to Build a Web App?

The best way to build a web app depends on what you want from it: learning to code, a working first version fast, or something in between. Web app development follows the same steps on every route. What changes is who does the work: you, a visual builder, or an AI agent.


Write the code

Low-code builder

AI agent

What you need to know

HTML, CSS, JavaScript, a framework such as React, and some backend basics

The builder's editor and how it stores data

How to describe what you want, and how to check the result

Cost to start

$0 on free tiers, plus a domain if you want one

Most builders have a free plan with limits

CatDoes Free: 15 one-time credits, one project, web deployment

Who owns the code

You

Depends on the platform. Many can't export it

With CatDoes, you do. It's a standard React project you can export on the Plus plan

Best for

Learning to code and full control

Internal tools and dashboards on existing data

Founders and non-coders who want a working first version fast

If you pick the code route, learn the three building blocks first: HTML for structure, CSS for layout and style, and JavaScript for anything that reacts to a click. Then learn one framework. You don't need to master them before you start. Building a small app is a good way to learn them.

1. Define the Problem and One Core Feature

Person planning how to build a web app on a whiteboard with sticky notes and a flowchart

Start with who the app is for and the one job it does for them. Write it as a single sentence: "[Who] can [do what] so that [result]." For a hair salon: "Clients can book a haircut online so they don't have to call during opening hours."

Then list every feature you can think of and cut the list down to what that sentence needs. For the salon, that's a list of services, a booking form, and a page where the owner sees the bookings. Reviews, loyalty points and online payment can wait for version two. This first cut is your minimum viable product (MVP).

Last, write down the user journey: each click from landing on the app to finishing the job. For booking, that's pick a service, pick a time, enter a name and phone number, and confirm. Every screen you sketch in step 2 comes from this list.

2. Sketch the Screens

Wireframes of web app screens drawn on a tablet

Draw one rough layout per step of the journey. Paper works, and so does a free tool like Figma. These wireframes show what goes where, with no colors or fonts yet, so changing your mind costs almost nothing.

Once the layout works, pick colors and fonts and turn the wireframes into mockups. Then link them into a clickable prototype and ask a few people from your audience to try the main task while you watch. Wherever they hesitate is what to fix before you build. Our guide on how to design a web app covers this step in more depth.

3. Pick a Tech Stack

Diagram of a web app frontend in the browser talking to backend servers and a database

A web app has two halves. The frontend runs in the browser: pages, buttons and forms. The backend runs on a server: the database, the login system, and any rules that must never be skipped.

Pick one tool per layer. For a first app, choose popular tools. There are more tutorials, more answers when you get stuck, and AI coding assistants know them well.

Layer

What it does

Beginner-friendly picks

Frontend

The pages and components people use

React with Vite, or Next.js

Styling

Layout, colors, fonts, phone and desktop sizes

Tailwind CSS

Database and login

Stores data and handles sign-up and login

Supabase or Firebase

Hosting

Puts the app on a public URL

Vercel or Netlify

All of these have free tiers to start. Supabase's Free plan includes a 500 MB database and 50,000 monthly active users, but it pauses free projects after a week of inactivity. Vercel's Hobby plan is free for personal, non-commercial use, and Pro costs $20 a month. Netlify's Free plan costs $0 with a 300-credit limit.

This is close to what CatDoes uses for the websites it builds: React with Vite and Tailwind CSS.

4. Build the Frontend

Developer building a web app frontend from React components on a laptop

With React and Vite, one command creates a starter project: npm create vite@latest. From there, build one page per screen from your sketches.

  • Components: turn anything you repeat, like a button or a service card, into a reusable component. Change it once and every copy updates.

  • Routing: add a router so each page has its own URL, such as /services and /book.

  • Forms: check input in the browser, like a phone number that's too short or a date in the past, so people see mistakes right away.

  • Responsive layout: check every page at phone width as you go, not at the end.

Keep the data fake at this stage. Hard-code three services and a few time slots, and get the screens working before you connect anything real.

5. Add a Database, Login and Backend Logic

This is the step that turns a website into a web app. It now remembers things and knows who is using it.

  • Database: one table per kind of thing. For the salon, that's services, stylists and bookings. Each booking row stores the service, the time, and the client's name and phone number.

  • Login: use your provider's built-in authentication instead of writing password handling yourself. Supabase and Firebase both support email and Google sign-in.

  • Rules on the server: anything that must always be true, like "a time slot can only be booked once" or "only the owner sees all bookings", belongs in the backend. Anyone can change code that runs in their own browser. In Supabase, row-level security policies decide who can read and change which rows.

A Backend-as-a-Service (BaaS) like Supabase gives you the database, login, file storage and server functions in one place, so you don't run a server yourself. Our explainer on what Backend as a Service is shows how the pieces fit together.

6. Test It in Real Browsers and on Phones

Person testing a web app on a phone and a laptop

Before launch, test four things: whether it works, whether people can use it, whether it works in every browser, and whether it's fast.

  • Does it work? Click every button and submit every form, including with wrong input.

  • Can people use it? Watch someone new try the main task without help.

  • Does it work everywhere? Check Chrome, Safari and Firefox, on a laptop and on a phone.

  • Is it fast? Run your pages through Google's free PageSpeed Insights and fix what it flags first.

Test on a real phone, not only in the browser's device emulator. Buttons that are too small to tap, a keyboard that covers the form, and slow mobile connections are easy to miss on a laptop.

7. Deploy It to a Live URL

Rocket launching from a laptop to show a web app being deployed

The simplest path for a first app:

  1. Put your code on GitHub.

  2. Connect the repository to Vercel or Netlify. Both detect a Vite or Next.js project and set up the build for you.

  3. Add your API keys as environment variables in the host's dashboard, never in the code.

  4. Deploy. You get a free URL on the host's domain.

  5. To use your own domain, buy one from a registrar and add the DNS record your host shows you. HTTPS is set up for you.

After that, every push to GitHub builds and deploys a new version automatically. That's continuous deployment, and it's why you rarely need to touch a server. If your project is a site rather than an app, our guide on how to publish a website walks through hosting and domains step by step.

Video: How to Deploy a Web App (freeCodeCamp, 58 min). It deploys full-stack apps on Render, on Koyeb with Cloudflare Pages, and on an Azure virtual machine.

After Launch: Updates, Security and Monitoring

Launch starts the feedback loop. Three habits keep a small web app healthy:

  • Watch for errors. Add error monitoring, such as Sentry, so you hear about crashes before users email you.

  • Keep dependencies updated. Let GitHub's Dependabot open pull requests for outdated packages, and apply security fixes quickly.

  • Protect your data. Back up the database, and check your access rules every time you add a table.

Then ship small changes often, based on what users actually do in the app.

How to Build a Web App With AI: A CatDoes Example

To show the AI route, we built a site for a made-up hair salon called LUXE in CatDoes and deployed it to hair-salon.catdoes.app. It took two prompts and 5 credits.

Prompt 1, build. The build prompt looked like this:

Build a website for LUXE, a premium hair salon. It should feel warm and high-end. Include a hero with a Book Appointment button, our services, a portfolio of styles, our stylists, client reviews, pricing packages, and a booking form where clients pick a service and a preferred date. Add our opening hours and a newsletter signup in the footer.

Before writing code, the agent laid out the sections, a design style (espresso brown, crimson red and cream, with scroll animations) and the stack: Vite, React 19, Tailwind CSS v4 and shadcn/ui. That's a standard React project, so a developer could take it over later. Then it built the site in the live preview.

Prompt 2, deploy.

Deploy it to the web. Use hair-salon as the URL.

The site went live at hair-salon.catdoes.app. On the Free and Core plans, deployed sites show a small "Made with CatDoes" badge, which you can see in the bottom-right corner below. A custom domain needs the Starter plan or above.

Live LUXE hair salon site built with CatDoes in two prompts, with a Made with CatDoes badge in the corner

Cost: the two prompts used 5 credits in total, on the Medium and Max agent tiers. Max needs a credit balance above 230 and High one above 100, so on a smaller balance you'd build on Medium.

What to check before you launch. The result looked finished, but two things needed work:

  • The booking form doesn't save anything yet. It shows a "request submitted" message and stops there. That makes LUXE a website, not a web app.

  • Some content is placeholder. The agent filled in "500+ Happy Clients", a sample phone number and address, and a 2025 copyright line. Swap in real details.

To turn it into a web app, the next prompt would be something like: "Save every booking to the database. Add an owner login where the salon owner sees all bookings, newest first, and can mark each one as confirmed." CatDoes Cloud, included on every plan, provides the database and login for that step.

If you're weighing AI tools for this, we compared the options in the best AI tools to build and deploy a web app.

Common Questions About Building a Web App

Question mark speech bubbles above a laptop showing a web app

How Much Does It Cost to Build a Web App?

You can build a web app for free to start. On the code route, every tool in the stack above has a free tier. When you outgrow them, Supabase Pro starts at $25 a month and Vercel Pro costs $20 a month. A custom domain adds a yearly fee from your registrar. The biggest cost is time, yours or a developer's.

On CatDoes, the Free plan includes 15 one-time credits and web deployment. Paid plans start with Core at $20 a month, and custom domains start on Starter at $50 a month.

What Is the Difference Between a Web App and a Website?

A website mostly shows information, like a blog or a restaurant menu. A web app, short for web application, lets you do something and saves the result: book an appointment, manage a project, check a bank balance. If it has logins and a database, it's a web app. The LUXE example above is still a website: its booking form doesn't save bookings yet. Connecting that form to a database is what would make it a web app.

Can You Make a Web App Without Coding?

Yes. Low-code builders and AI agents let you make a working web app without writing code. Knowing the basics still helps. You'll describe what you want more clearly, and you'll spot when something is wrong, like a booking form that doesn't save anything.

How Long Does It Take to Develop a Web App?

It depends more on the route than on the app. Learning to code while you build is the slowest path, because you learn the tools as you go. A developer who already knows the stack moves much faster. With an AI agent, a first version can go live in one sitting: our LUXE site took two prompts, one to build and one to deploy. Each feature you add, like logins or payments, adds time on any route.

Is a PWA Still a Thing?

Yes. A progressive web app (PWA) is a web app people can add to their home screen and open like a native app. Apple added web push notifications for Home Screen web apps in iOS and iPadOS 16.4. Since iOS 26, every website added to the Home Screen opens as a web app by default, according to Apple's WebKit team.

Is Web Development Still Worth Learning in 2026?

The official numbers say yes. The US Bureau of Labor Statistics projects jobs for web developers and digital designers to grow 5% from 2025 to 2035, faster than the average for all jobs, with about 13,600 openings a year. The median pay was $99,520 in 2025.

Is AI Replacing Web Developers?

Not so far, but it's changing the work. In the 2025 Stack Overflow Developer Survey, 84% of developers used or planned to use AI tools. More of them distrusted the accuracy of AI output (46%) than trusted it (33%), so someone still has to review what the AI builds. On a first app, AI can do most of the typing. You still make the decisions.

Do I Need an LLC to Launch a Web App?

No. You can build and launch a web app as an individual. Many founders form a company, such as an LLC in the US, once the app takes payments or signs contracts, to keep business and personal liability separate. Rules differ by country, so check with a local accountant before you charge customers.

Want to try the AI route? Describe your web app to CatDoes and get a live preview to click through, free to start.

Start building my web app for free

Writer

Nafis Amiri

Co-Founder of CatDoes