Skip to content

RFP pack 9 min read Updated September 23, 2026

Custom web app RFP: the pack for a build beyond a marketing website

In short

This RFP is for a custom software build, a tool, calculator, internal system, or app with logic and data behind it, not a marketing site. It requires the vendor to disclose the tech stack up front, work in a repository you own, deliver a staging environment before production, and meet a named accessibility standard, with milestones tied to working, testable features rather than vague progress updates.

Key facts

  • A custom web app should be built in a source code repository you own from day one, such as a GitHub organization under your own account, not inside the vendor's private repository with access granted only while you pay them.
  • Ask every bidder to name the exact tech stack they plan to use in writing; a vague answer here often means the choice will be made based on what the vendor's team happens to know, not what fits your project.
  • A staging environment, separate from the live production app, should be a required deliverable before launch, since testing changes directly on a live system risks real user data and real downtime.
  • WCAG 2.1 AA is the commonly referenced accessibility standard for a public facing web app; naming it explicitly in the RFP avoids a build that only meets accessibility as an afterthought, if at all.
  • Third party API integrations, payment processors, mapping services, CRM connections, should each be documented with their own setup notes, since undocumented integrations are one of the most common reasons a second developer cannot maintain a handed off app.

What a Custom Build Covers, and Where Feature Creep Starts

Scope this as a custom software build with logic, data storage, and often user accounts behind it, distinct from a marketing or brochure website. Examples include an internal booking tool, a client portal, a calculator with saved results, or a workflow app specific to how your business operates. Say explicitly whether this is a brand new build or an extension of something that already exists.

List every feature you consider must have versus nice to have, since a custom build without a clear feature boundary tends to grow in scope quietly, with each small addition seeming reasonable on its own until the total project has drifted far past the original quote.

State whether ongoing maintenance and feature development after launch are part of this RFP or a separate, later engagement; a build contract and a long term support contract are different commitments and should be priced separately even if you expect to hire the same vendor for both.

What a Development Vendor Needs to Start Building

Create the code repository under your own organization account before work starts and add the vendor as a contributor, rather than letting them build inside their own account and transfer it to you later. This single decision avoids most of the ownership disputes that come up at the end of a custom build.

Provide access to any existing systems the app must connect to: a CRM, a payment processor, an existing database, or an authentication provider. If none of these exist yet, name who is responsible for selecting them, since a vendor defaulting to whatever they are most familiar with may not be the best fit for your actual requirements.

Give the vendor a named point of contact on your side who can make product decisions quickly; a custom build stalls fastest when every small decision needs a round trip through people who were not in the room when the requirement was written.

Who Owns the Code, the Repository, and the Documentation

You should own the full source code, in a repository under your own account, along with documentation of the architecture, the tech stack, and every third party service the app depends on. A build with no documentation is, in practice, only maintainable by the developer who wrote it, which is a serious risk if that developer becomes unavailable.

Confirm you own any custom design assets, icons, or illustrations created specifically for this app, and confirm the terms of any paid third party libraries or services the app relies on, since some licenses are tied to the original purchasing account rather than transferring automatically.

Require a written handoff document at project end: how to run the app locally, how to deploy it, where credentials and API keys are stored, and who currently has access to each one, so a different developer can pick up maintenance without starting from zero.

Milestones Tied to Working Features, Not Percent Complete

Break the build into milestones tied to working, testable features rather than percentage complete estimates, which are notoriously unreliable in software work. A reasonable structure: a milestone for core data structure and authentication, a milestone for each major feature group, and a final milestone for launch readiness including the staging to production move.

Each milestone's acceptance test should be a live demonstration in the staging environment, not a status update in an email. If a feature does not work the way the requirement described, that milestone is not complete, regardless of how much underlying code exists behind it.

Require a staging environment that mirrors production closely enough to catch real problems, and require sign off in staging before anything moves to the live environment where real users or real data are involved.

How to Score Custom Build Proposals

Weight technical clarity over price: 25 percent for a specific, named tech stack with a stated reason it fits your project, 20 percent for a milestone plan broken into testable, demonstrable pieces, 20 percent for a portfolio of comparable custom builds, not just marketing websites, 15 percent for accessibility and security practices named up front, and 20 percent for price and timeline realism.

Be cautious of a bid that describes the whole build as one milestone with one delivery date months away; a custom build with no intermediate checkpoint gives you no way to catch a misunderstanding early, when it is cheap to fix, instead of late, when it is not.

Ask to see a redacted repository or codebase from a past comparable project, since a portfolio of finished screenshots tells you far less about a vendor's work than seeing how they actually structure and document their code.

Questions Every Custom Build Bidder Should Answer

Ask every bidder to answer these in writing before you score their proposal: What exact tech stack will you use, and why does it fit this project specifically? Will the code live in a repository we own from day one? What accessibility standard do you build to, and how do you test for it? How do you handle a staging environment before anything reaches production? What happens to API keys, credentials, and third party accounts if we end the engagement or move to a different developer?

Also ask how they document third party integrations as they build them, since a custom app with an undocumented payment integration or an undocumented API connection is a maintenance risk that only becomes visible the first time something breaks and nobody can explain why.

Related questions

SearchPod is a vendor for this kind of work and would answer this RFP; the acceptance tests here are the ones we agree to.

Want this scoped and priced for your business?

Get a free, no-obligation proposal within one business day. We look at your site and your market and tell you plainly what we would do, and what we would not.

Get your free proposal

Keep reading

More in RFP packs

All 40 in RFP packs