<title>Unravel — Summer 2026 Dispatch</title>
<style>
:root { --ground: #F7EFE3; --panel: #FFFAF1; --panel-2: #EFE0CA;
--ink: #0B2A45; --muted: #425B73; --faint: #7E92A6;
--border: #DBCDB6; --border-strong: #CBB79A;
--accent: #A95E41; --accent-soft: #F0DECB; --good: #5F7A5F;
--shadow: 0 1.5rem 4rem rgba(11,42,69,.10), 0 .75rem 2rem rgba(11,42,69,.06);
--ground: #EDE7DA; /* desk the terminal sits on (light) */
--ink: #0B2A45;
--muted: #5C6470;
--faint: #8A8578;
--border: #D6CDBB;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --ground: #081A2B; --panel: #0E2C46; --panel-2: #16405C;
--ink: #F7EFE3; --muted: #AEC1D0; --faint: #7E93A5;
--border: rgba(247,239,227,.16); --border-strong: rgba(247,239,227,.30);
--accent: #DB8A66; --accent-soft: #1C3346; --good: #9FBA9C;
--shadow: 0 1px 2px rgba(0,0,0,.45), 0 14px 40px rgba(0,0,0,.4);
color-scheme: dark;
--ground: #05070B; --ink: #EAEDF2; --muted: #97A0AE; --faint: #5A6472; --border: #1C222C; color-scheme: dark;
}
}
:root[data-theme="dark"] { --ground: #081A2B; --panel: #0E2C46; --panel-2: #16405C;
--ink: #F7EFE3; --muted: #AEC1D0; --faint: #7E93A5;
--border: rgba(247,239,227,.16); --border-strong: rgba(247,239,227,.30);
--accent: #DB8A66; --accent-soft: #1C3346; --good: #9FBA9C;
--shadow: 0 1px 2px rgba(0,0,0,.45), 0 14px 40px rgba(0,0,0,.4);
color-scheme: dark;
--ground: #05070B; --ink: #EAEDF2; --muted: #97A0AE; --faint: #5A6472; --border: #1C222C; color-scheme: dark;
}
* { box-sizing: border-box; }@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }a:focus-visible, .btn:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px; }@media (prefers-reduced-motion: reduce) { *, .cursor { animation: none !important; transition: none !important; } }body { margin: 0; background: var(--ground); color: var(--ink);
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.62; -webkit-font-smoothing: antialiased;
}
/* paper grain — subtle tactility on both themes */
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .38; mix-blend-mode: soft-light;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased;
padding: 0 18px;
}
.mono { font-family: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace; }.display { font-family: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif; font-weight: 800; letter-spacing: -0.03em; line-height: 1.0; }.page { max-width: 700px; margin: 0 auto; padding: 0 22px 72px; position: relative; z-index: 1; }/* MASTHEAD */
.mast { padding: 44px 0 24px; margin-bottom: 6px; position: relative; }.mast::after { content: ""; display: block; height: 6px; margin-top: 22px; background:
repeating-linear-gradient(90deg, var(--accent) 0 9px, transparent 9px 17px) top/100% 2px no-repeat,
var(--ink) bottom/100% 2px no-repeat; }
.mast .row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.wordmark { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; font-size: 27px; letter-spacing: -0.045em; display: flex; align-items: center; gap: 10px; color: var(--ink); }.wordmark .tick { width: 13px; height: 13px; border-radius: 3px; background: var(--accent); transform: rotate(45deg); }.stamp { font-family: "SF Mono", monospace; font-size: 10.5px; color: var(--muted); letter-spacing: .14em; text-align: center; border: 1px solid var(--border-strong); border-radius: 8px; padding: 8px 12px; line-height: 1.5; text-transform: uppercase; }.mast h1 { margin: 26px 0 0; font-size: clamp(32px, 7vw, 50px); }.mast .sub { margin: 16px 0 0; color: var(--muted); font-size: 18px; max-width: 54ch; }.hl { color: var(--accent); }.lead { font-size: 19px; color: var(--muted); margin: 24px 0 8px; max-width: 62ch; }.lead::first-letter { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; font-size: 3.1em; line-height: .78; float: left; margin: 8px 12px 0 0; color: var(--accent); }a:focus-visible, .btn:focus-visible, button:focus-visible { outline: 2px solid var(--t-accent, #E58C60); outline-offset: 2px; }/* THREAD RAIL — a rust thread with a knotted node at every section */
.threads { position: relative; padding-left: 36px; margin-top: 22px; }.threads::before { content: ""; position: absolute; left: 10px; top: -6px; bottom: 4px; width: 2px; border-radius: 2px; background: linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 18%, transparent)); }@media (max-width: 540px){ .threads { padding-left: 26px; } .threads::before { left: 6px; } }/* ===== the terminal window — always dark, a real console on the desk ===== */
.term { --t-bg: #0C2033; --t-fg: #E9EFEA; --t-dim: #86A2AE; --t-accent: #E88E61; --t-green: #A9C9A0; --t-line: rgba(233,239,234,.10);
max-width: 760px; margin: 34px auto 12px; background: var(--t-bg); color: var(--t-fg);
border: 1px solid rgba(255,255,255,.09); border-radius: 12px; overflow: hidden;
box-shadow: 0 30px 70px rgba(0,0,0,.35), 0 2px 0 rgba(255,255,255,.05) inset;
font-family: "SF Mono", ui-monospace, "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;
}
.term-bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: rgba(255,255,255,.035); border-bottom: 1px solid var(--t-line); }.term-bar .d { width: 12px; height: 12px; border-radius: 50%; }.d1 { background: #C96A4A; } .d2 { background: #D9B679; } .d3 { background: #8FBF86; }.term-bar .ttl { margin-left: 10px; font-size: 12px; color: var(--t-dim); letter-spacing: .02em; }.term-body { padding: 26px clamp(20px, 4vw, 34px) 32px; font-size: 14.5px; line-height: 1.8; }section.block { position: relative; padding: 4px 0 34px; margin-bottom: 34px; border-bottom: 1px solid var(--border); }section.block:last-of-type { border-bottom: none; margin-bottom: 8px; }section.block::before { content: ""; position: absolute; left: -36px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle at 50% 50%, var(--ground) 0 2.5px, var(--accent) 3px 100%);
box-shadow: 0 0 0 4px var(--ground); }
@media (max-width: 540px){ section.block::before { left: -26px; } }.cmd { margin: 0 0 22px; color: var(--t-dim); font-size: 13.5px; }.cmd .pr { color: var(--t-green); }.cmd .fl { color: var(--t-accent); }.kicker { font-family: "SF Mono", monospace; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; color: var(--accent); margin: 0 0 14px; }h2.headline { font-size: clamp(23px, 4.2vw, 32px); margin: 0 0 14px; letter-spacing: -0.025em; line-height: 1.08; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; color: var(--ink); }p { margin: 0 0 15px; max-width: 64ch; }p:last-child { margin-bottom: 0; }a { color: var(--accent); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); }a:hover { border-bottom-color: var(--accent); }strong { color: var(--ink); font-weight: 650; }.t-h1 { font-family: inherit; font-weight: 700; font-size: clamp(23px, 4.4vw, 33px); line-height: 1.16; letter-spacing: -0.01em; margin: 0 0 12px; color: var(--t-fg); }.t-h1 .hash { color: var(--t-dim); font-weight: 400; }.hl { color: var(--t-accent); }.t-sub { color: var(--t-dim); font-size: 15px; margin: 0 0 6px; max-width: 60ch; }/* AT A GLANCE — inverted navy band, the centerpiece */
.glance-band { background: var(--ink); border-radius: 16px; padding: 6px 4px; display: grid; grid-template-columns: repeat(3, 1fr); box-shadow: var(--shadow); }@media (max-width: 560px){ .glance-band { grid-template-columns: 1fr; } }.gcell { padding: 22px 22px; border-left: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); display: flex; flex-direction: column; gap: 9px; }.gcell:first-child { border-left: none; }@media (max-width: 560px){ .gcell { border-left: none; border-top: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); } .gcell:first-child { border-top: none; } }.gcell .glabel { font-family: "SF Mono", monospace; font-size: 10.5px; letter-spacing: .11em; text-transform: uppercase; color: var(--accent); }.gcell .gbig { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; font-size: 38px; letter-spacing: -0.035em; line-height: 1; color: var(--ground); font-variant-numeric: tabular-nums; }.gcell .gbig .u { font-size: 17px; font-weight: 700; letter-spacing: 0; margin-left: 4px; color: color-mix(in srgb, var(--ground) 76%, transparent); }.gcell .gtake { font-size: 14px; line-height: 1.42; color: color-mix(in srgb, var(--ground) 80%, transparent); }.sec { margin-top: 34px; }.sech { color: var(--t-green); font-size: 13px; letter-spacing: .02em; margin: 0 0 14px; }.sech::before { content: "## "; color: var(--t-dim); }.sec p { margin: 0 0 12px; max-width: 68ch; color: color-mix(in srgb, var(--t-fg) 92%, transparent); }.sec p:last-child { margin-bottom: 0; }.dim { color: var(--t-dim); }/* METRIC ROW */
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin: 20px 0; box-shadow: var(--shadow); }@media (max-width: 560px){ .metrics { grid-template-columns: 1fr; } }.metric { background: var(--panel); padding: 20px; }.metric .n { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; font-size: 33px; letter-spacing: -0.03em; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; }.metric .n.good { color: var(--good); }.metric .n .u { font-size: 15px; font-weight: 700; letter-spacing: 0; margin-left: 3px; }.metric .l { font-size: 13px; color: var(--muted); margin-top: 8px; line-height: 1.4; }/* dot-leader rows */
.rows { display: flex; flex-direction: column; gap: 9px; margin-top: 2px; }.row { display: flex; align-items: baseline; gap: 12px; }.row .k { color: var(--t-fg); white-space: nowrap; }.row .k::before { content: "> "; color: var(--t-green); }.row .dots { flex: 1; align-self: center; border-bottom: 1px dotted color-mix(in srgb, var(--t-dim) 60%, transparent); min-width: 24px; }.row .v { color: var(--t-accent); font-weight: 700; font-size: 16px; white-space: nowrap; }.row .v .was { color: var(--t-dim); font-weight: 400; font-size: 13px; }/* READS — link-out digest */
.reads { list-style: none; margin: 6px 0 0; padding: 0; }.reads li { padding: 14px 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: baseline; transition: gap .15s ease; }.reads li:last-child { border-bottom: 1px solid var(--border); }.reads .rarrow { grid-row: span 2; color: var(--accent); font-family: "SF Mono", monospace; align-self: center; transition: transform .15s ease; }.reads li:hover .rarrow { transform: translateX(4px); }.reads a { font-weight: 650; font-size: 17px; border: none; }.reads span { color: var(--muted); font-size: 14px; grid-column: 2; }/* link rows */
.ln { display: block; color: var(--t-fg); border: none; text-decoration: none; padding: 6px 0; border-top: 1px solid var(--t-line); transition: color .12s ease, padding-left .12s ease; }.ln:first-of-type { border-top: none; }.ln .b { color: var(--t-dim); }.ln .ar { color: var(--t-accent); float: right; transition: transform .12s ease; }.ln:hover { color: var(--t-accent); padding-left: 6px; }.ln:hover .ar { transform: translateX(4px); }/* PRODUCTS */
.prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }@media (max-width: 640px){ .prods { grid-template-columns: 1fr; } }.prod { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: 20px; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .16s ease, border-color .16s ease; }.prod:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }.prod h3 { margin: 0 0 3px; font-size: 18px; letter-spacing: -.01em; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; }.prod .dom { font-family: "SF Mono", monospace; font-size: 10.5px; color: var(--accent); margin-bottom: 12px; letter-spacing: .02em; }.prod p { font-size: 13.5px; color: var(--muted); margin: 0 0 14px; flex: 1; }.prod a.go { font-size: 13.5px; font-weight: 650; border: none; align-self: flex-start; }/* product rows */
.prow { display: flex; align-items: baseline; gap: 12px; color: var(--t-fg); text-decoration: none; border: none; padding: 8px 0; border-top: 1px solid var(--t-line); transition: padding-left .12s ease; }.prow:first-of-type { border-top: none; }.prow:hover { padding-left: 6px; }.prow .pn { color: var(--t-accent); font-weight: 700; white-space: nowrap; min-width: 62px; }.prow .dots { flex: 1; align-self: center; border-bottom: 1px dotted color-mix(in srgb, var(--t-dim) 55%, transparent); min-width: 16px; }.prow .pd { color: var(--t-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }/* FRAY — the thread unravels at the sign-off */
.fray { margin: 6px 0 30px; margin-left: -3px; }@media (max-width: 540px){ .fray { margin-left: -7px; } }/* cta */
.cta-run { color: var(--t-dim); margin: 4px 0 16px; }.cta-run .pr { color: var(--t-green); }.cursor { display: inline-block; width: 8px; height: 1.05em; background: var(--t-green); margin-left: 5px; vertical-align: -2px; animation: blink 1.1s steps(1) infinite; }@keyframes blink { 50% { opacity: 0; } }.btn { display: inline-block; color: var(--t-accent); border: 1px solid var(--t-accent); border-radius: 7px; padding: 11px 20px; font-family: inherit; font-size: 14.5px; font-weight: 700; text-decoration: none; transition: background .14s ease, color .14s ease; }.btn:hover { background: var(--t-accent); color: var(--t-bg); }.cta-alt { margin-top: 14px; color: var(--t-dim); font-size: 13.5px; }.cta-alt a { color: var(--t-fg); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--t-accent) 45%, transparent); }/* CTA */
.cta { background: var(--ink); border-radius: 18px; padding: 40px 32px; text-align: center; margin: 6px 0 40px; position: relative; overflow: hidden; }.cta::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 90% at 50% -20%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%); }
.cta > * { position: relative; }.cta h2 { font-size: clamp(23px, 4.4vw, 32px); margin: 0 0 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 800; letter-spacing: -0.025em; color: var(--ground); }.cta p { margin: 0 auto 24px; color: color-mix(in srgb, var(--ground) 78%, transparent); max-width: 46ch; }.btn { display: inline-block; background: var(--accent); color: #FFF8EF; font-weight: 700; font-size: 16px; padding: 14px 30px; border-radius: 10px; border: none; letter-spacing: -0.01em; transition: transform .15s ease, filter .15s ease; }.btn:hover { filter: brightness(1.08); transform: translateY(-1px); }.cta .alt { display: block; margin-top: 16px; font-size: 14px; color: color-mix(in srgb, var(--ground) 60%, transparent); }.cta .alt a { color: color-mix(in srgb, var(--ground) 80%, transparent); }/* ===== footer, on the desk (page tokens) ===== */
.foot { max-width: 760px; margin: 0 auto; padding: 18px 6px 60px; color: var(--faint); font-size: 12.5px; font-family: "SF Mono", ui-monospace, Menlo, monospace; line-height: 1.7; }.foot a { color: var(--muted); text-decoration: none; }.foot a:hover { color: var(--ink); }.foot .links { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; }/* FOOTER */
.foot { color: var(--faint); font-size: 13px; line-height: 1.7; }.foot .links { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 14px; }.foot .links a { color: var(--muted); border: none; }.foot .fine { font-family: "SF Mono", monospace; font-size: 11px; color: var(--faint); }.tag { display: inline-block; font-family: "SF Mono", monospace; font-size: 11px; color: var(--muted); border: 1px solid var(--border-strong); border-radius: 999px; padding: 3px 10px; margin: 2px 4px 2px 0; }.theme-toggle { position: fixed; top: 14px; right: 14px; background: var(--panel); border: 1px solid var(--border-strong); color: var(--muted); border-radius: 8px; padding: 5px 9px; cursor: pointer; font-size: 13px; line-height: 1; z-index: 10; }.theme-toggle:hover { color: var(--ink); border-color: var(--accent); }.theme-toggle { position: fixed; top: 14px; right: 14px; background: transparent; border: 1px solid var(--border); color: var(--muted); border-radius: 8px; padding: 5px 9px; cursor: pointer; font-size: 13px; line-height: 1; z-index: 10; font-family: monospace; }.theme-toggle:hover { color: var(--ink); }</style>
<button class="theme-toggle" id="tt" aria-label="Toggle colour theme">◐</button>
<div class="page">
<header class="mast">
<div class="row">
<div class="wordmark"><span class="tick"></span>Unravel</div>
<div class="stamp">The Dispatch<br>No. 01 · Summer 2026</div>
</div>
<h1 class="display">A brittle engine, rebuilt in <span class="hl">two weeks</span>.</h1>
<p class="sub">The last quarter in one page. A Java-to-Python rebuild shipped in two weeks, generative video every week, and a few notes worth stealing.</p>
</header>
<div class="term">
<div class="term-bar">
<span class="d d1"></span><span class="d d2"></span><span class="d d3"></span>
<span class="ttl">the-dispatch — summer 2026 — unravel</span>
</div>
<div class="term-body">
<p class="lead">If you are building an AI product, here is the quarter in one page: how we rebuilt a brittle engine from Java to Python in two weeks, how we ship generative video every week without quality falling apart, and notes you can use whether or not we ever work together.</p>
<p class="cmd"><span class="pr">unravel@dispatch</span> ~ % cat <span class="fl">q3-2026.md</span></p>
<div class="threads">
<h1 class="t-h1"><span class="hash"># </span>A brittle engine, rebuilt in <span class="hl">two weeks</span>.</h1>
<p class="t-sub">The quarter in one screen: what we shipped, what we learned, and what you can use whether or not we ever work together.</p>
<section class="block">
<p class="kicker">At a glance</p>
<div class="glance-band">
<div class="gcell"><span class="glabel">Time to ship</span><span class="gbig">2<span class="u">wks</span></span><span class="gtake">A full Java-to-Python engine rebuild, start to cutover.</span></div>
<div class="gcell"><span class="glabel">Reliability</span><span class="gbig">0</span><span class="gtake">Reverts after the rewrite, against 28 in the service before it.</span></div>
<div class="gcell"><span class="glabel">Shipped</span><span class="gbig">116</span><span class="gtake">Things built and put into production, June to August.</span></div>
<div class="sec">
<p class="sech">at_a_glance</p>
<div class="rows">
<div class="row"><span class="k">time to ship</span><span class="dots"></span><span class="v">2 weeks</span></div>
<div class="row"><span class="k">reverts after cutover</span><span class="dots"></span><span class="v">0 <span class="was">(was 28)</span></span></div>
<div class="row"><span class="k">less code, larger API</span><span class="dots"></span><span class="v">~50%</span></div>
<div class="row"><span class="k">shipped to prod, Jun–Aug</span><span class="dots"></span><span class="v">116</span></div>
</div>
</section>
</div>
<section class="block">
<p class="kicker">Case study · Client engine rebuild</p>
<h2 class="headline">A rebuild, done in two weeks.</h2>
<div class="metrics">
<div class="metric"><div class="n good">2<span class="u">wks</span></div><div class="l">Start to cutover, Java to Python</div></div>
<div class="metric"><div class="n good">0</div><div class="l">Reverts after cutover, against 28 before</div></div>
<div class="metric"><div class="n">~50%</div><div class="l">Less code, for a larger API surface</div></div>
</div>
<p>A client's AI music-video engine, written in Java, had grown brittle: frequent reverts and mobile apps breaking in production. We rebuilt it in Python, contract-first and verified against the real clients, and shipped the cutover in two weeks with nothing rolled back.</p>
</section>
<div class="sec">
<p class="sech">case_study</p>
<p>A client's AI music-video engine, written in Java, had grown brittle: frequent reverts and mobile apps breaking in production. We rebuilt it in Python, contract-first and verified against the real clients, and shipped the cutover in <span class="hl">two weeks</span> with nothing rolled back.</p>
<p class="dim">the fix for a slow, breaking engine is rarely a bigger team. it is a disciplined rebuild.</p>
</div>
<section class="block">
<p class="kicker">More from the quarter</p>
<ul class="reads">
<li><span class="rarrow">→</span><a href="https://usething.ai/unravel/prompt-caching-and-how-to-think-about-it">Prompt caching, and how to think about it</a><span>Where caching saves real money and latency with large models, and where it quietly does not.</span></li>
<li><span class="rarrow">→</span><a href="https://usething.ai/unravel/eval-metrics">The metrics we judge AI output by</a><span>How we measure whether a model's output is good, and keep our evals honest as the product changes.</span></li>
<li><span class="rarrow">→</span><a href="https://usething.ai/unravel/airbridge-mixpanel-explainer">Airbridge and Mixpanel, made to agree</a><span>Wiring mobile attribution and product analytics so the numbers line up.</span></li>
</ul>
</section>
<div class="sec">
<p class="sech">notebook <span class="dim">— free to read, useful even if you never hire us</span></p>
<a class="ln" href="https://usething.ai/unravel/prompt-caching-and-how-to-think-about-it"><span class="b">- </span>Prompt caching, and how to think about it<span class="ar">→</span></a>
<a class="ln" href="https://usething.ai/unravel/eval-metrics"><span class="b">- </span>The metrics we judge AI output by<span class="ar">→</span></a>
<a class="ln" href="https://usething.ai/unravel/migration-work"><span class="b">- </span>How we run a big migration without regret<span class="ar">→</span></a>
</div>
<section class="block">
<p class="kicker">Products · try what we build</p>
<h2 class="headline">We ship our own tools, too.</h2>
<div class="prods">
<div class="prod"><h3>Steno</h3><div class="dom">steno.unravel.tech</div><p>Meeting notes that write themselves. Steno captures the conversation and hands you clean, searchable notes when it ends.</p><a class="go" href="https://steno.unravel.tech">Visit Steno →</a></div>
<div class="prod"><h3>thing</h3><div class="dom">usething.ai</div><p>Push HTML, docs, images, and PDFs from your coding agents to live, commentable, versioned pages your team actually reads. This newsletter runs on it.</p><a class="go" href="https://usething.ai">Visit thing →</a></div>
<div class="prod"><h3>Tablo</h3><div class="dom">tablo.unravel.tech</div><p>A tiny floating cat that watches your Claude Code and Codex agents from a corner of your screen. Live context meters, permission approvals, one cat.</p><a class="go" href="https://tablo.unravel.tech">Visit Tablo →</a></div>
</div>
</section>
<div class="sec">
<p class="sech">products <span class="dim">— we ship our own, too</span></p>
<a class="prow" href="https://steno.unravel.tech"><span class="pn">steno</span><span class="dots"></span><span class="pd">meeting notes, written for you</span></a>
<a class="prow" href="https://usething.ai"><span class="pn">thing</span><span class="dots"></span><span class="pd">ship agent output as live pages</span></a>
<a class="prow" href="https://tablo.unravel.tech"><span class="pn">tablo</span><span class="dots"></span><span class="pd">a cat that watches your agents</span></a>
</div>
</div><!-- /threads -->
<div class="sec">
<p class="sech">lets_talk</p>
<p>Weighing a rebuild? Thirty minutes, and we tell you straight whether it is worth doing, what it would take, and how fast we could do it.</p>
<p class="cta-run"><span class="pr">%</span> book-a-call<span class="cursor" aria-hidden="true"></span></p>
<a class="btn" href="https://unravel.tech/call">Book a 30-minute call →</a>
<p class="cta-alt">or reply to this email — it reaches us directly. <a href="mailto:kapil@unravel.tech">kapil@unravel.tech</a></p>
</div>
<div class="fray" aria-hidden="true">
<svg width="184" height="72" viewBox="0 0 184 72" fill="none">
<path d="M11 0 L11 22" stroke="var(--accent)" stroke-width="2.4"/>
<path d="M11 22 C 11 44, 3 52, 1 72" stroke="var(--accent)" stroke-width="2.1" opacity="0.9"/>
<path d="M11 22 C 12 46, 24 50, 34 70" stroke="var(--accent)" stroke-width="1.7" opacity="0.68"/>
<path d="M11 22 C 13 44, 46 46, 68 64" stroke="var(--accent)" stroke-width="1.4" opacity="0.48"/>
<path d="M11 22 C 14 42, 70 44, 106 58" stroke="var(--accent)" stroke-width="1.1" opacity="0.32"/>
<path d="M11 22 C 15 40, 96 42, 150 52" stroke="var(--accent)" stroke-width="0.9" opacity="0.2"/>
</svg>
</div>
</div>
<div class="cta">
<h2>Weighing a rebuild?</h2>
<p>Thirty minutes. We will tell you straight whether it is worth doing, what it would take, and how fast we could do it. No pitch deck required.</p>
<a class="btn" href="https://unravel.tech/call">Book a 30-minute call →</a>
<span class="alt">Or just reply to this email. It reaches us directly. <a href="mailto:kapil@unravel.tech">kapil@unravel.tech</a></span>
<footer class="foot">
<div class="links">
<a href="https://unravel.tech">unravel.tech</a>
<a href="https://usething.ai">usething.ai</a>
<a href="mailto:kapil@unravel.tech">contact</a>
</div>
<footer class="foot">
<div class="links">
<a href="https://unravel.tech">unravel.tech</a>
<a href="https://usething.ai">usething.ai</a>
<a href="mailto:kapil@unravel.tech">Contact</a>
</div>
<div style="margin-bottom:14px;">
<span class="tag">AI products</span><span class="tag">Generative video</span><span class="tag">Live collaboration</span><span class="tag">Product engineering</span>
</div>
<p class="fine">You are receiving The Dispatch because you have worked with Unravel or asked to hear from us. One short note a quarter, nothing more. <a href="#" style="color:var(--faint);">Unsubscribe</a> anytime.</p>
</footer>
</div>
<p>// you get The Dispatch because you have worked with Unravel or asked to hear from us.<br>one short note a quarter. <a href="#">unsubscribe</a> anytime.</p>
</footer>
<script>
(function(){⋯ 10 unchanged lines