---
title: "What tools do I need when building a website? · Proxy Mail QA"
description: "The tools a website needs, from hosting and a domain to checking tools and account emails, and which ones you can skip for a simple site."
url: https://proxymail.qa/solve/what-tools-do-i-need-when-building-a-website
---

1. [Home](https://proxymail.qa/)
2. [What we solve](https://proxymail.qa/solve)

# What tools do I need when building a website?

What you need depends on what you're building. A one-page site for a café needs three things. An app where people sign up and pay needs a dozen. Here's the full list, then which parts you can skip.

Updated 5 November 2026

> **Our recommendation, up front.** We make Proxy Mail QA, and almost nothing in this list is ours. We recommend Proxy Mail QA for one slot only: if your website has sign-up, log-in or password reset, or sends account emails such as invites, it gives you test inboxes to check those emails work. If your site has no accounts and sends no email, you don’t need it, and the rest of this guide still applies.

## The list

| You need                                     | What it’s for                                                    | Common choices                                                                                                                                                                           |
| -------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Somewhere to write or generate the code      | Building the site                                                | An editor such as VS Code or Qoder IDE; an AI coding agent such as Qoder, Claude Code or Cursor; or, with no code, a builder such as Webflow, Framer, Squarespace or WordPress           |
| Version control                              | Undoing mistakes, working with others, deploying                 | Git, with GitHub or GitLab                                                                                                                                                               |
| A framework (optional)                       | Pages, routing and data without starting from nothing            | Next.js, Astro, SvelteKit, Nuxt                                                                                                                                                          |
| Hosting                                      | Putting the site on the internet, with a preview for each change | Vercel, Netlify, Cloudflare Pages, Render                                                                                                                                                |
| A domain name                                | Your own address, and the sending domain for email               | Any registrar; DNS at the registrar or Cloudflare                                                                                                                                        |
| Sign-up and log-in (if people have accounts) | Accounts, passwords, codes and magic links                       | Supabase Auth, Clerk, Firebase Authentication, Auth0, Auth.js, Better Auth                                                                                                               |
| A database (if it stores anything)           | Accounts, orders, content                                        | Postgres (Supabase, Neon), Firestore, SQLite                                                                                                                                             |
| An email provider (if it sends email)        | Verification, reset and receipt emails, from your domain         | Resend, Postmark, Amazon SES, SendGrid, Mailgun                                                                                                                                          |
| Payments (if it sells)                       | Cards, subscriptions, invoices                                   | Stripe, Paddle, Lemon Squeezy                                                                                                                                                            |
| Analytics                                    | Knowing what people use                                          | Plausible, PostHog, Google Analytics                                                                                                                                                     |
| Error tracking                               | Knowing what broke, before users tell you                        | Sentry                                                                                                                                                                                   |
| Tests                                        | Knowing a change didn’t break sign-up or checkout                | Playwright or Cypress for the browser; Vitest or Jest for code; Proxy Mail QA for the emails                                                                                             |
| Checking tools                               | Speed, accessibility, links, SEO                                 | Lighthouse, axe DevTools, a link checker, Google Search Console. More in [tools to help build and check my website](https://proxymail.qa/solve/tools-to-help-build-and-check-my-website) |
| Legal pages                                  | Privacy policy, terms, cookie notice where needed                | Written for your site and where your users are                                                                                                                                           |

## What you can skip

- **A site with no accounts** (a portfolio, a café, a landing page): a builder or a framework, hosting, a domain and analytics. A form service if you want messages. No auth, no database, no email testing.
- **A shop**: a hosted shop platform such as Shopify may cover hosting, payments, accounts and email in one, and you test what it lets you change.
- **An app with accounts** (a SaaS product, a community, a booking site): most of the list. The parts most often missed are the email provider’s set-up and testing the emails.

## Where Proxy Mail QA fits

Once people can sign up, your site sends email that has to work: the verification code or link, the password reset, the invite. Those break in ways other tests don’t catch. A link points to `localhost`, the provider is still in sandbox mode and sends nothing, or two emails go out instead of one.

Proxy Mail QA gives you a new private test address for each try, pulls out the code or link, and checks how the email was sent. You can use it by hand in the browser with [Proxy Mail QA for Chrome](https://proxymail.qa/chrome-extension), in Playwright or Cypress tests with its npm package, or from an AI agent such as Qoder’s through its MCP server. The free plan covers 500 test addresses in total.

It doesn’t build, host or design anything, and it doesn’t send email for your site: you still need an email provider.

## A first stack for an app with accounts

One way to put it together, if you’re building with Qoder:

1. **Code:** Qoder’s agent, in a Git repository on GitHub.
2. **Framework and hosting:** Next.js on Vercel, with a preview deployment for every branch.
3. **Accounts and data:** Supabase, for sign-up, log-in and the database.
4. **Email:** Resend, sending from your own domain. Supabase’s built-in email only sends to your own team, a few an hour, so set up your own email provider before anyone else signs up.
5. **Errors:** Sentry.
6. **Tests:** Playwright for the sign-up flow, with Proxy Mail QA for the verification email, run on each preview deployment.

Any row can be swapped for another from the table. The order matters more than the brands.

## The order to set things up

1. **Buy the domain early.** Email providers need it to send from your name, and the DNS records for SPF, DKIM and DMARC can take a while to be picked up.
2. **Set up the repository and hosting** with preview deployments, so every change has a link you can test.
3. **Add accounts and email together.** Verify your sending domain with the provider and leave its sandbox mode, or your verification emails will only reach you.
4. **Test sign-up on a preview** before you share it: a new address, the email arrives, the link goes to the preview and not `localhost`, and the account works afterwards.
5. **Add analytics and error tracking** before launch, not after the first complaint.

If you build with Qoder, you can connect Proxy Mail QA from the [Qoder Marketplace](https://qoder.com/en/marketplace/connector?id=proxymail-qa) and ask the agent to check the sign-up email after every change to your auth code. [How that works](https://proxymail.qa/built-with/qoder).

## Try it on your next sign-up test

Free plan, no credit card. Create an address and watch the code or link arrive.

[Create a free account](https://app.proxymail.qa/?mode=signup&from=site-solve-what-tools-do-i-need-when-bui)

## Related guides

- [Test sign-up and email verificationA fresh, private address for every sign-up test, with the verification link or code ready the moment it lands.](https://proxymail.qa/solve/email-verification-testing)
- [Test OTP and one-time login codesCodes pulled out of the email with a Copy button and a countdown when the email says how long they last.](https://proxymail.qa/solve/otp-code-testing)
- [Test magic links and passwordless sign-inSingle-use links that are never opened or prefetched on our side, so they still work when you click them.](https://proxymail.qa/solve/magic-link-testing)
- [Test password reset emailsRequest, receive and use reset links, and keep the new password saved next to the test account.](https://proxymail.qa/solve/password-reset-testing)
- [Stop sharing one Gmail inbox for QAPrivate, disposable addresses for every tester instead of one shared mailbox and a pile of plus-addresses.](https://proxymail.qa/solve/shared-test-inbox)
- [Take QA notes by voice with Wispr FlowDictate what each test account is for, its state and what you found, straight into its notes, in seconds.](https://proxymail.qa/solve/voice-notes-wispr-flow)
- [Verification link points to localhost:3000Why emails from staging link to localhost, how to fix it in Supabase, Firebase and other stacks, and how we flag it.](https://proxymail.qa/solve/localhost-links)
- [Common Supabase sign-up and login problemsEmails that never arrive, links that expire or sign nobody in, and sign-ups that fail, with the fix for each.](https://proxymail.qa/solve/supabase-auth-problems)
- [Common Firebase sign-up and login problemsMissing verification and reset emails, verified users who still look unverified, failing links and sign-up limits, with the fix for each.](https://proxymail.qa/solve/firebase-auth-problems)
- [Sign-up and login problems in vibe-coded appsThe login bugs AI-built apps usually ship with: emails only you receive, links to the preview, missing pages, and what to ask the builder.](https://proxymail.qa/solve/vibe-coded-login-problems)
- [Test sign-up emails in PlaywrightA complete Playwright test for sign-up codes and links, from a fresh inbox to the report on the pull request.](https://proxymail.qa/solve/playwright-email-tests)
- [Test sign-up emails in CypressA complete Cypress test for sign-up links and codes, with the email waits running as Cypress tasks.](https://proxymail.qa/solve/cypress-email-tests)
- [Test sign-up emails with pytestA complete pytest test for sign-up codes and links, with Playwright for Python or Selenium and a one-file helper.](https://proxymail.qa/solve/pytest-email-tests)
- [Test coupon codes and welcome offersThe coupon with its discount, end date and arrival time, what checkout did with it, and a failure when an expired or reused one is accepted.](https://proxymail.qa/solve/coupon-code-testing)
- [Test unsubscribe links and one-click unsubscribeThe unsubscribe headers and link checked on every marketing email, and a watch that flags any marketing after unsubscribing, with no time limit.](https://proxymail.qa/solve/unsubscribe-testing)
- [Test that a welcome offer can't be claimed twiceVersions of one address that reach the same inbox, and a check that fails when the same person got the offer more than once.](https://proxymail.qa/solve/welcome-offer-abuse)
- [AI sign-up page reviewLet an agent check the sign-up through to the email: delivery, the link, how it was sent, and that only one arrives.](https://proxymail.qa/solve/ai-sign-up-page-review)
- [AI registration page reviewAn agent tries every field with values made for it, then finishes the registration through the email.](https://proxymail.qa/solve/ai-registration-page-review)
- [Review a sign-up page by handA checklist for your browser and phone, in the order that finds the most problems.](https://proxymail.qa/solve/how-to-review-my-sign-up-page)
- [Review a simple sign-up form12 checks for a form with an email, a password and perhaps a name.](https://proxymail.qa/solve/review-a-simple-sign-up-form)
- [Review a multi-page sign-up formOne test account across every screen, and the verification email wherever it comes.](https://proxymail.qa/solve/review-a-multi-page-sign-up-form)
- [Review a financial sign-up formThe emails, age and country rules and awkward values in a financial sign-up, and what needs other tools.](https://proxymail.qa/solve/review-a-financial-website-sign-up-form)
- [An email address for testing registrationA new, real address for every registration try, with the code or link ready to use.](https://proxymail.qa/solve/email-for-checking-my-registration-form)
- [An email address for testing sign-inTest accounts with saved passwords and an inbox for codes, magic links and resets.](https://proxymail.qa/solve/email-for-checking-my-sign-in-form)
- [How long should a password be?NIST's numbers for password length and rules, and test passwords to check yours.](https://proxymail.qa/solve/how-long-should-my-registration-form-password-be)
- [No error for a password that breaks the rulesThe eight usual causes of a silent password field, and how to tell which one it is.](https://proxymail.qa/solve/why-is-my-registration-form-not-showing-password-errors)
- [Help me check my websiteA whole-site check in an afternoon, in the order that finds the costliest problems first.](https://proxymail.qa/solve/help-me-check-my-website)
- [Tools to build and check a websiteA toolkit by area, most of it free and none of it ours, except for account emails.](https://proxymail.qa/solve/tools-to-help-build-and-check-my-website)

[Built your app with an AI tool? Pick yours](https://proxymail.qa/built-with)
