---
title: "Research report template – Display.dev"
description: "An HTML research report – TL;DR, findings with confidence levels, a reliability-rated source sheet, and recommendations. Publish it to a URL in one click, no account."
---

# Research report template

An HTML research report – TL;DR, findings with confidence levels, a reliability-rated source sheet, and recommendations. Publish it to a URL in one click, no account.

- Format: HTML
- Detail page: https://display.dev/templates/research-report
- Raw template file: https://display.dev/template-sources/research-report.html
- One-click anonymous publish (no account): POST the file to https://api.display.dev/v1/public/artifacts as multipart/form-data (`file` field)

## Agent prompt

Write a research report on this question on display.dev. Fetch https://display.dev/template-sources/research-report.html as the starting point and keep its structure: TL;DR, numbered findings each with a stated confidence level, a source sheet rating each source's coverage and reliability, recommendations tied to findings. Fill it with the actual research – cite sources, state confidence honestly, keep the file self-contained (inline CSS, no external requests).

Publish it with the display.dev MCP publish tool if connected. Otherwise POST the file to https://api.display.dev/v1/public/artifacts as multipart/form-data (`file` field, optional `name`) – no account needed. You'll get back `previewUrl` (the link to share) and `claimUrl` (one-shot link to take ownership). Reply with both.

## What this template is for

Evidence, not vibes. Every finding carries a stated confidence level, and
the source sheet rates each source's coverage and reliability – so a
reader can tell a replay-backed number from a nine-person interview
theme. Recommendations reference the findings they rest on.

This is the structure that keeps agent-led research honest: an agent
fills it fast, and the confidence and source fields force it to show its
work.

## How teams use it

- **The output format for research agents.** Send the prompt with a
  question; the agent returns this report with its sources rated. Weak
  confidence levels tell you exactly where to dig before deciding.
- **A decision record.** Publish behind your company's Google or
  Microsoft sign-in and the report becomes the citable reference for why
  the roadmap moved – with the evidence attached.
- **Reviewed in comments.** Domain experts challenge a finding inline;
  the revision publishes to the same URL.

## Template source

````html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Research report – onboarding drop-off</title>
<style>
  :root {
    color-scheme: light dark;
    --bg: oklch(0.99 0.004 85);
    --card: oklch(1 0 0);
    --fg: oklch(0.16 0.006 85);
    --muted: oklch(0.5 0.008 85);
    --line: oklch(0.92 0.006 85);
    --accent: oklch(0.48 0.18 145);
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: oklch(0.15 0.005 85);
      --card: oklch(0.19 0.006 85);
      --fg: oklch(0.97 0.004 85);
      --muted: oklch(0.65 0.008 85);
      --line: oklch(0.3 0.006 85);
      --accent: oklch(0.68 0.18 145);
    }
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--fg);
    font-family: ui-sans-serif, system-ui, sans-serif;
    line-height: 1.65;
    padding: clamp(1.5rem, 4vw, 3rem);
    font-size: 1rem;
  }
  .wrap { max-width: 720px; margin: 0 auto; }
  .kicker {
    font-size: 0.75rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--accent); margin: 0 0 0.5rem;
  }
  h1 { font-size: clamp(1.625rem, 3.5vw, 2.25rem); font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; margin: 0 0 0.5rem; }
  .meta { color: var(--muted); font-size: 0.875rem; margin: 0 0 2rem; }
  h2 { font-size: 1.1875rem; font-weight: 650; letter-spacing: -0.015em; margin: 2.25rem 0 0.75rem; }
  .tldr {
    border-left: 3px solid var(--accent);
    background: var(--card);
    border-radius: 0 8px 8px 0;
    padding: 0.875rem 1.125rem;
    margin: 0 0 1.5rem;
  }
  .tldr strong { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin-bottom: 0.25rem; }
  .finding {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin: 0 0 0.75rem;
  }
  .finding h3 { font-size: 1rem; font-weight: 650; margin: 0 0 0.375rem; }
  .finding p { margin: 0; font-size: 0.9375rem; }
  .finding .conf { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
  table { width: 100%; border-collapse: collapse; font-size: 0.875rem; margin: 0.5rem 0 0; }
  th, td { text-align: left; padding: 0.5rem 0.625rem; border-bottom: 1px solid var(--line); vertical-align: top; }
  th { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
  tr:last-child td { border-bottom: 0; }
  ul { padding-left: 1.25rem; margin: 0.5rem 0; }
  footer { color: var(--muted); font-size: 0.8125rem; margin-top: 2.5rem; border-top: 1px solid var(--line); padding-top: 1rem; }
</style>
</head>
<body>
<div class="wrap">
  <p class="kicker">Research report</p>
  <h1>Why new users drop off before their first project</h1>
  <p class="meta">14–21 July 2026 · sources: session replays (n=214), churn interviews (n=9), funnel data (30 days) · author: research agent, reviewed by Sara L.</p>

  <div class="tldr">
    <strong>TL;DR</strong>
    Most drop-off happens at the empty workspace, not at signup. Users who
    create anything within 10 minutes retain at 3× the rate of those who
    don't – and the single biggest blocker is not knowing what a good first
    project looks like.
  </div>

  <h2>Findings</h2>

  <div class="finding">
    <h3>1. The empty state is the cliff</h3>
    <p>62% of users who churn in week one never created a project. Replays
    show a median 47 seconds on the empty workspace before exit – most
    never open the create dialog. <span class="conf">Confidence: high (replays + funnel)</span></p>
  </div>

  <div class="finding">
    <h3>2. Examples beat instructions</h3>
    <p>Users who opened the sample project were 2.4× likelier to create
    their own within the session. Only 18% found it – it sits behind an
    unlabeled icon. <span class="conf">Confidence: high (funnel)</span></p>
  </div>

  <div class="finding">
    <h3>3. "Set up later" is a myth</h3>
    <p>Of users who skipped workspace setup intending to return, 9% ever
    did. Interviewees described the skip as "quietly deciding no".
    <span class="conf">Confidence: medium (interviews, n=9)</span></p>
  </div>

  <h2>Source sheet</h2>
  <table>
    <thead><tr><th>Source</th><th>Coverage</th><th>Reliability</th></tr></thead>
    <tbody>
      <tr><td>Session replays, 14–21 Jul</td><td>214 new-user sessions</td><td>High – full sample of the week</td></tr>
      <tr><td>Churn interviews</td><td>9 users, churned within 14 days</td><td>Medium – self-selected responders</td></tr>
      <tr><td>Funnel data</td><td>30 days, all signups</td><td>High – instrumented events</td></tr>
    </tbody>
  </table>

  <h2>Recommendations</h2>
  <ul>
    <li>Replace the empty workspace with a guided "create from example" state (finding 1, 2).</li>
    <li>Label the sample project and move it into the first-run path (finding 2).</li>
    <li>Treat setup-skip as a churn signal and trigger the day-2 email (finding 3).</li>
  </ul>

  <footer>Methodology and raw notes available on request · numbers are sample data, replace with your own.</footer>
</div>
</body>
</html>
````
