# Build a web app with an independent developer

> A web app runs in the browser, so people use it from any device with just a link. To build one, you define the main workflow, pick a stack that fits it and release it in small milestones. ErdiBuilds is an open marketplace where clients post app, SaaS, website and game projects, see which independent developers from the EU fit best based on what they have already built, and pay per milestone.

Canonical: https://erdibuilds.app/build/web-app
Last updated: 2026-11-06 (November 6, 2026)

## What a web app is, and what people build with it

A web app is more than a website. People log in, create things, change data and see results that depend on who they are. There is nothing to install, no store review and an update goes live as soon as it is deployed.

Typical projects are client portals, booking and scheduling systems, dashboards on top of existing data, community platforms, small marketplaces and online tools for one specific job. If people pay a subscription, read about [building a SaaS](https://erdibuilds.app/build/saas). If only your team uses it, see [internal tools](https://erdibuilds.app/build/internal-tool). If the pages mainly present content, a [website](https://erdibuilds.app/build/website) is the simpler path.

## Typical technologies

Most web apps today have a front end that people see and a back end that stores data and checks permissions. [Find My Stack](https://findmystack.app/?project_type=web-app) suggests combinations based on your goals.

- Next.js (A React framework that renders pages on the server and in the browser, with routing and API routes built in.) and plain React (A JavaScript library for building interactive user interfaces from components.) are the most common front end choices.
- TypeScript (JavaScript with types, which catches many mistakes before the code runs.) makes the code easier to change later.
- Postgres (A widely used open source relational database.) stores structured data. Supabase (An open source backend with a Postgres database, user login and file storage.) bundles it with login and files.
- Row Level Security (A database feature that decides row by row which user may read or change which data.) keeps one customer from seeing another customer's data. Ask your developer how it is used.
- Stripe (A payment service for cards and other payment methods.) is common if users pay inside the app. Hosting on a platform such as Vercel keeps releases simple.
- For Python or Node.js back ends, see the pages on [Node.js](https://erdibuilds.app/hire/nodejs) and [Python](https://erdibuilds.app/hire/python) developers.

## An example plan in milestones

This sketch fits a small app with accounts and one main workflow. Milestones are from 50 to 2,000 each in your project currency. Each milestone is funded before work starts and runs 1, 2, 3, 4, 6 or 8 weeks.

1. For example, weeks 1 to 2, foundation: page layout, design system, sign up and login, database tables and permissions. You can create an account and see an empty dashboard.
2. For example, weeks 3 to 5, main workflow: the screens and logic for the core job, with real data saved. You can walk through the whole flow on a test version.
3. For example, weeks 6 to 7, polish and safety: validation, error messages, emails, loading states, basic monitoring and a check of who can see what.
4. For example, week 8, launch: production setup, your own domain, a short handover note and a list of known follow-ups.

The weeks are for illustration. Developers set the length of each milestone in their proposal, and each real milestone runs 1, 2, 3, 4, 6 or 8 weeks. Your developer may combine or split these steps. The [milestone planner](https://erdibuilds.app/tools/milestone-planner) helps you test different splits.

## What belongs in the project description

- Who uses the app and what they must be able to do in the first version.
- Different roles, for example visitor, member and admin, and what each may do.
- Data the app stores and where it comes from, including imports from spreadsheets or other tools.
- Integrations such as payments, email, calendars or an existing system.
- Design status: finished screens, a rough sketch or nothing yet.
- Rules about privacy or accessibility that apply to you.
- What you want to postpone to a second version.

## How to recognise a suitable developer

Ask for a live app they built with accounts and data, not only a landing page. Check that they explain trade-offs in plain words and ask about your users before they pick tools. A short repository tour, with tests and a readable structure, is a good sign.

On ErdiBuilds, the match score (A number from 0 to 100 that shows how well a developer fits your project, with plain reasons such as shared technologies, similar past work, budget fit and availability.) sums up the fit. A developer needs 40 or more to apply, and 80 or more gets a Top match badge. Developers are independent professionals, not our employees. See also [how to hire a developer safely](https://erdibuilds.app/guides/how-to-hire-a-developer-safely).

## Frequently asked questions

### Will the web app work on phones?

Yes, if it is built to adapt to small screens. Mention phone use in the brief so layouts and touch targets are planned from the start.

### Can I add a mobile app later?

Often, yes. If the back end is built cleanly, a phone app can use the same accounts and data. See [mobile app projects](https://erdibuilds.app/build/mobile-app) and [SaaS plus mobile app](https://erdibuilds.app/build/saas-plus-mobile-app).

### What is the difference between a web app and a website?

A website mostly shows content. A web app lets people sign in, enter data and get results based on it. Many products have both: a public site and an app behind a login.

### Who owns the code?

Unless both sides agree otherwise in writing on the platform, the rights to the result of a milestone pass to the client once that milestone is paid in full. Ask for the work to live in a repository under your own account. [Who owns the code](https://erdibuilds.app/guides/who-owns-the-code) explains this in more detail.

### Whose accounts are used for hosting and the database?

Yours. Create the accounts, invite the developer and keep admin rights. Then you can change developers at any time without a handover problem.

## Related

- [Build a SaaS with an independent developer](https://erdibuilds.app/build/saas): Plan a SaaS product: accounts, subscriptions, technologies, an example milestone plan, what to write in the brief and how to pick a developer.
- [Build an internal tool with a developer](https://erdibuilds.app/build/internal-tool): Turn spreadsheets and manual steps into one tool for your team: technologies, a milestone plan, what to put in the brief and how to pick a developer.
- [Hire a Next.js developer for your project](https://erdibuilds.app/hire/nextjs): What a Next.js developer does, which projects it suits, what to ask before you hire and how milestones and matching work on ErdiBuilds.
- [Hire a Supabase developer for your backend](https://erdibuilds.app/hire/supabase): Supabase stores data and handles logins for apps. Learn what a Supabase developer does, what to ask, and how projects and matching work.
- [SaaS MVP Scope and Cost: What to Build First](https://erdibuilds.app/guides/saas-mvp-scope-and-cost): What belongs in the first version of a SaaS product, what can wait, and how scope decisions shape your cost and timeline.
- [Hire a Developer to Build Something New](https://erdibuilds.app/help/build-new): Turn an idea into a working product. See how to prepare, how milestones structure the work and what to ask developers before you start.
