Template
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.
- free – no account
- a URL in seconds
- yours if you claim it
Publishing this from your own stack? See display.dev for AI reports.
What it looks like published
Source – research-report.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>
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.
Incident postmortem template
A blameless postmortem in plain Markdown – summary, impact, timeline, root cause, and owned action items. Publish it to a URL in one click, no account.
MarkdownStatus report template
A weekly status report in plain Markdown – TL;DR, progress, slips, the numbers that matter, and risks. Publish it to a URL in one click, no account.
MarkdownPublish your first artifact in 15 seconds.
Free tier. No credit card. One-time password auth on free, Google + Microsoft SSO on Pro (€49/month flat).