Forward Deployed Engineer  /  Rapid Prototyping
FDE Track 04~12 min readIntermediate
Speed Is the Strategy

Build the smallest thing
that makes them believe.

An FDE’s superpower isn’t writing the best code — it’s getting a working, convincing thing in front of a customer while the problem is still fresh. That means prototyping like the code is disposable, faking everything that isn’t the point, and building relentlessly toward one demo moment.

01

Throwaway-first

The most useful mental shift in prototyping is to treat the code as disposable from the start. Not because it’s bad, but because its job is to buy information, not to last. A prototype answers questions — is this valuable? is it feasible? did I understand the problem? — and once it has, its value is spent. Engineers who forget this fall into the sunk-cost trap: they lovingly build a prototype into a fragile pseudo-product, then can’t bring themselves to rebuild it properly.

Naming the code “throwaway” up front is liberating. You skip the abstractions, hardcode the edge cases, and use the ugliest thing that works — because you know it’s scaffolding. Speed of learning is the only metric that matters, and every hour spent making a prototype “clean” is an hour not spent learning whether it should exist at all.

→ The reframe

A prototype isn’t a small product. It’s an experiment with a UI. Judge it by what it taught you and whether it convinced the customer — not by its code quality.

02

The smallest demoable slice

Discovery told you the one workflow that proves value. Prototyping builds a thin vertical slice through it — and fakes everything to the side.

The enemy of a fast prototype is horizontal building — polishing every layer across the whole feature set. The move is vertical: pick the single path from input to valuable output, and build just that path end to end, on one real example. A narrow slice that actually works is a hundred times more convincing than a broad mock-up that doesn’t.

Vertical slice — build the dark cells, fake the rest

Build for real (the slice)

  • One input → the core transformation → one valuable output.
  • On a single real record the customer will recognize.
  • The one capability you’re there to prove.

Fake for now (everything else)

  • Auth, settings, multi-user, the second and third workflows.
  • Scale, error handling, the admin UI.
  • Anything not required to make them say “oh, that’s it”.

This is why the scoping work matters so much: it hands you the exact slice to build. Without it, you’ll build horizontally and run out of time before anything works end to end.

03

Choose a boring, fast stack

A prototype is the wrong place for adventurous engineering. Reach for the most boring, fastest tools you know cold: a language you’re fluent in, managed services for anything stateful, and hosted model APIs rather than self-hosting. Every novel technology you introduce is a tax on iteration speed paid at the worst possible time.

Instead of…Reach for… (in a POC)Because
Self-hosting a modelA hosted LLM APIZero infra; swap for self-hosted only if the deployment target forces it
A production database + migrationsSQLite / a managed Postgres / a fileYou’re proving value, not durability
KubernetesA single container or a scriptOrchestration is a scale problem you don’t have yet
A custom UI frameworkA notebook, a script, or a tiny web appThe output matters; the chrome doesn’t

There’s a caveat: if discovery revealed the deployment target will be on-prem or air-gapped, let that shape even the prototype (e.g. don’t build the demo on a cloud-only service you can’t use later). Boring-and-fast still wins — just pick the boring tools that will survive the move.

04

Fake it — honestly

The art of the fast prototype is doing by sleight-of-hand everything that isn’t the point, while keeping the point real.

Faking is not cheating — it’s prioritization made concrete. Three techniques recur:

HardcodeThe config, the customer name, the one account — anything variable that isn’t what you’re proving. Parameterize later, if ever.
StubA service you can’t reach yet returns a canned response. You prove the flow while integration catches up.
Wizard-of-OzA human (you) does a step manually behind the curtain, so the demo looks automated before the automation exists.

The one hard rule is honesty about the capability. It’s fine to hardcode the account, stub the CRM, and manually kick off the job — as long as the thing you’re claiming (“the model extracts these fields accurately from your documents”) is genuinely real and running. Faking the plumbing is prototyping; faking the actual capability is lying, and it destroys trust the moment production reality arrives.

→ The test

Before a demo, ask: “If they asked me to run this on a second real example right now, would the core still work?” If yes, your fakes are fine. If no, you faked the point.

05

Demo-driven development

The most productive way to aim a prototype is to build backwards from the demo. Picture the exact moment you want the customer to react — the “so what” — and build only what’s needed to reach it convincingly. Everything on the path gets real; everything off it gets faked or cut.

This has a wonderful side effect: it keeps you honest about value. If you can’t picture a demo moment that would make the customer lean in, you don’t yet understand the value — and no amount of code will fix that. Demo-driven development turns “what should I build?” into the far sharper “what’s the single moment that would make them believe, and what’s the least I need to reach it?”.

Set a demo date early and treat it as immovable. A deadline is the best scope-cutter in existence: it converts an open-ended build into a series of decisions about what to leave out. When to run the demo, and how to run it, is its own craft — covered in scoping and, in depth, the demo playbook.

06

Throw away, or harden

A prototype’s life ends in one of two ways, and confusing them is a classic FDE mistake. Either it did its job and gets discarded (the value question is answered; its shortcuts would fight you in production), or its core is genuinely sound and you deliberately harden it into a real system.

Default to disposable. The shortcuts that made the prototype fast — hardcoded config, no error handling, a hand-run step — are exactly what make it dangerous in production, and untangling them is often slower than a clean rebuild informed by everything you learned. When you do decide to harden, treat it as a separate project with its own bar: reliability, observability, security, and a handoff plan. That fork — POC to production — is important enough to have its own checklist, because the gap between “it demoed” and “people depend on it” is where a lot of otherwise-successful deployments quietly fail.

Frequently asked

Quick answers

How fast should an FDE prototype be?

Fast enough to get something real in front of the customer within the first week or two of a deployment, while the problem and the relationship are still fresh. The goal isn’t a finished product — it’s a convincing demonstration that the value is achievable. Days, not months.

Is it okay to fake parts of a prototype?

Yes — faking the parts that aren’t the point (hardcoding a value, stubbing a service, doing a step by hand behind the scenes) is a core prototyping skill, as long as the thing you’re proving is genuinely real. The line is honesty: never fake the actual capability you’re claiming to demonstrate. Fake the plumbing, prove the value.

What stack should you use for a POC?

The most boring, fastest one you know well. Managed services, a familiar language, and hosted model APIs beat clever architecture during a prototype — you’re optimizing for speed of iteration, not scale or elegance. Save architectural decisions for when you know the solution is right and the deployment target is settled.

When do you throw a prototype away versus keep it?

Throw it away when it did its job — proved (or disproved) the value — and its shortcuts would fight you in production. Keep and harden it only when the core is genuinely sound and rebuilding would waste real work. Most FDE prototypes should be treated as disposable by default; hardening is a deliberate, separate decision.

Rapid Prototyping for FDEs · part of the FDE track · Vibe Engines · 2026
Finished this one? 0 / 139 Handbooks done

Explore the topic

See this alongside everything else on the same subject — handbooks, system designs, challenges and tools, in one place.

Cite this page

Reference it in your work, paper or an AI's context window.

APASingh, S. (2026). Rapid Prototyping for FDEs. Vibe Engines. https://vibeengines.com/handbook/rapid-prototyping-for-fdes
MLASingh, Saurabh. “Rapid Prototyping for FDEs.” Vibe Engines, 2026, vibeengines.com/handbook/rapid-prototyping-for-fdes.
BibTeX
@online{vibeengines-rapid-prototyping-for-fdes,
  author       = {Singh, Saurabh},
  title        = {Rapid Prototyping for FDEs},
  year         = {2026},
  organization = {Vibe Engines},
  url          = {https://vibeengines.com/handbook/rapid-prototyping-for-fdes}
}