The brief

Companies that sell energy, defence and data-centre technology wait months for a deal to close. Much of that time goes into material buyers actually trust: white papers built on what the company's own experts know. Producing one took one to two months of interviews, drafts and rounds of edits. The startup wanted a product that gets an expert's knowledge onto paper in under a week.

We were the startup's engineering team from the first day.

What we built

  • Invitation-only access. A request form, an approval queue for administrators, and sign-in with a six-digit code sent by email.
  • An operator tool that walks a paper through every stage: brief, questions, interview, transcript, outline, draft, and a print-ready A4 view.
  • An AI writing assistant that drafts from the interview and writes "[source needed]" wherever it would otherwise have to invent a figure.
  • Voice interviews through a private link. The expert answers question by question, the recording is transcribed by AI, the expert corrects the text, and the audio itself is never stored. Links expire after 30 days.
  • A confidential launch page that shows nothing to anyone without an account, plus privacy, terms and security pages.
  • A documented design system, so every screen reads as one product.

How

Test and live share nothing: separate databases, a visible marker on the test site, and the test site behind a login. The launch page meant for invited eyes keeps its words out of the public code entirely; the server sends them only after sign-in.

The AI providers were chosen so they do not train on what users send. Before the first line of code, a short written study weighed data residency in the EU, cost and how easily each provider could be replaced later.

The sign-in film moved to adaptive streaming, so it starts quickly on a slow connection instead of downloading a large file first.

What changed

  • Live within five days of the first commit.
  • A 2,000-word draft generated from an interview in 46 seconds.
  • The sign-in film starts in 2.3 seconds instead of 16.8 on a 2 Mbit/s connection, with no stalls.

Related