docs: презентация проекта и отчёт о качестве

This commit is contained in:
2026-06-27 12:15:00 +05:00
parent 8da6fa4d1d
commit 7d339dce87
4 changed files with 357 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Вендорит reveal.js локально (чтобы презентация не зависела от CDN на сцене).
set -euo pipefail
V=5.1.0
B="https://cdn.jsdelivr.net/npm/reveal.js@${V}"
mkdir -p reveal/dist/theme reveal/plugin/notes reveal/plugin/highlight
curl -fsSL "$B/dist/reveal.css" -o reveal/dist/reveal.css
curl -fsSL "$B/dist/reveal.js" -o reveal/dist/reveal.js
curl -fsSL "$B/dist/theme/white.css" -o reveal/dist/theme/white.css
curl -fsSL "$B/plugin/notes/notes.js" -o reveal/plugin/notes/notes.js
echo "reveal.js ${V} vendored into ./reveal/"
+140
View File
@@ -0,0 +1,140 @@
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="robots" content="noindex, nofollow">
<title>MedPrice — питч</title>
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=geologica:300,400,500,600,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="./reveal/dist/reveal.css">
<link rel="stylesheet" href="./reveal/dist/theme/white.css" id="theme">
<style>
:root{
--brand:#ff4713; --brand-soft:#ffede7; --t-gray:#6b788e;
--light-gray:#f5f7f9; --ink:#111827; --muted:#6b7280; --border:#ebedf0; --success:#0f973d;
}
.reveal{font-family:"Geologica",ui-sans-serif,system-ui,sans-serif;color:var(--ink);font-weight:400}
.reveal h1,.reveal h2,.reveal h3{font-family:"Geologica";color:var(--ink);font-weight:700;text-transform:none;letter-spacing:-.01em;line-height:1.12}
.reveal h1{font-size:2.0em}.reveal h2{font-size:1.55em}.reveal h3{font-size:1.2em;font-weight:600}
.reveal .slides section{text-align:left}
.reveal section.center{text-align:center}
.accent{color:var(--brand)}
.reveal .badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand-soft);color:var(--brand);
font-size:.42em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px;margin-bottom:.8rem}
.reveal p.lead{color:var(--muted);font-size:.9em;line-height:1.5}
.reveal ul{margin-left:1.1em} .reveal li{margin:.35em 0;line-height:1.4}
.reveal .big{font-size:1.12em;font-weight:600;line-height:1.3}
.reveal .kpi{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.6rem}
.reveal .kpi .card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem 1.3rem;box-shadow:0 1px 3px rgba(0,0,0,.06);min-width:200px}
.reveal .kpi .num{color:var(--brand);font-size:1.5em;font-weight:700;display:block}
.reveal .kpi .lbl{color:var(--muted);font-size:.5em}
.reveal .flow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;font-size:.62em}
.reveal .flow .b{background:var(--light-gray);border:1px solid var(--border);border-radius:12px;padding:.6rem .9rem;font-weight:500}
.reveal .flow .b.hl{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}
.reveal .flow .ar{color:var(--t-gray);font-weight:700}
.reveal .demo-frame{margin-top:.6rem;border:2px dashed var(--brand);border-radius:16px;background:var(--brand-soft);
padding:2.2rem;text-align:center;color:var(--brand);font-weight:600;font-size:.8em}
.reveal .note{color:var(--muted);font-size:.5em;margin-top:.6rem}
.reveal .brandbar{position:fixed;bottom:0;left:0;right:0;height:5px;background:var(--brand);z-index:30}
.reveal .corner{position:fixed;top:14px;right:18px;font-size:13px;color:var(--t-gray);z-index:30;font-family:"Geologica"}
.reveal .progress{color:var(--brand)}
.reveal .slide-number{background:transparent;color:var(--t-gray)}
.reveal section .ph{color:var(--t-gray);background:var(--light-gray);border-radius:6px;padding:0 .3em}
</style>
</head>
<body>
<div class="brandbar"></div>
<div class="reveal"><div class="slides">
<!-- 1. Хук + проблема -->
<section data-auto-animate>
<span class="badge">● Medtech · Terricon Valley</span>
<h1>Прайсы клиник — <span class="accent">хаос форматов</span></h1>
<p class="big">Десятки клиник-партнёров. Каждая шлёт прайс по-своему: Excel, скан, фото на телефон, на разных языках.</p>
<p class="lead">Свести это вручную в единый прайс для ДМС и сравнения — <b>недели работы</b> и ошибки в цене для пациента.</p>
<aside class="notes">0:00–0:15. Крючок. Назвать масштаб боли и бенефициара: прайс-аналитик страховой / менеджер партнёрской сети. Не представляться долго.</aside>
</section>
<!-- 2. Решение -->
<section class="center" data-auto-animate>
<h2>Решение</h2>
<p class="big">Система, которая <span class="accent">автоматически читает прайс в любом формате</span> и превращает архив в единую актуальную базу цен — с поиском и сравнением между клиниками.</p>
<aside class="notes">0:15–0:30. Одно предложение. Дальше — сразу демо.</aside>
</section>
<!-- 3. Живое демо -->
<section class="center">
<span class="badge accent">🔴 живое демо</span>
<h2>Хаос на входе → сравнимая таблица за минуту</h2>
<div class="demo-frame">▶︎ ПЕРЕКЛЮЧИТЬСЯ НА ПРИЛОЖЕНИЕ<br><span style="font-weight:400;font-size:.8em">(fallback: видео demo.mp4)</span></div>
<p class="note">Сценарий по секундам — в <code>pitch/demo-script.md</code>. Перетащить пёструю пачку → одна кнопка → поиск сводит RU/KZ/EN → клик по low-confidence → экспорт.</p>
<aside class="notes">0:30–2:05. ЯДРО. Сюда максимум времени. Демо-драйвер = я. Если упало — мгновенно на fallback-видео. Финальный экран — осмысленный артефакт (таблица/экспорт), не консоль.</aside>
</section>
<!-- 4. Как работает -->
<section>
<h2>Как это работает</h2>
<div class="flow">
<span class="b">Excel · PDF · скан · фото · .doc</span><span class="ar"></span>
<span class="b hl">ИИ-извлечение</span><span class="ar"></span>
<span class="b hl">нормализация услуг</span><span class="ar"></span>
<span class="b">единый каталог</span><span class="ar"></span>
<span class="b">поиск · сравнение · экспорт</span>
</div>
<ul>
<li>Один путь на <b>любой формат</b>, языки <b>KAZ / RUS / ENG</b>.</li>
<li><b>Confidence-score</b> + флаги «проверить вручную» + ссылка на оригинал — доверие к медданным.</li>
</ul>
<aside class="notes">2:05–2:25. Простая схема, без технического занудства. Подчеркнуть универсальность и доверие к данным.</aside>
</section>
<!-- 5. Метрики -->
<section>
<h2>Эффект</h2>
<div class="kpi">
<div class="card"><span class="num"><span class="ph">часы → минуты</span></span><span class="lbl">онбординг прайса клиники</span></div>
<div class="card"><span class="num"><span class="ph">N%</span></span><span class="lbl">строк распознано автоматически</span></div>
<div class="card"><span class="num"><span class="ph">&lt;X%</span></span><span class="lbl">на ручную проверку</span></div>
</div>
<p class="lead" style="margin-top:1rem">Административная автоматизация — самый окупаемый сегмент medtech AI. <span class="ph">[вставить цифры после прогона на данных]</span></p>
<aside class="notes">2:25–2:45. Заполнить реальными цифрами после прогона pipeline на данных ТЗ. Цифры = язык жюри-инвесторов.</aside>
</section>
<!-- 6. Бизнес и масштаб -->
<section>
<h2>Бизнес и масштаб</h2>
<ul>
<li><b>Кому:</b> страховщик с ДМС, сеть клиник, мед-маркетплейс.</li>
<li><b>Кейс 1 = data-движок Кейса 2</b> (агрегатор и сравнение цен) → монетизация.</li>
<li><b>Масштаб:</b> десятки клиник → сотни по РК → СНГ.</li>
</ul>
<p class="lead">Язык Terricon: экспорт, продажи, масштаб. Это не скрипт-парсер, а продукт.</p>
<aside class="notes">2:45–3:05. Связать Кейс 1 и Кейс 2. Подчеркнуть экспортный потенциал — ДНК Terricon.</aside>
</section>
<!-- 7. Закрытие -->
<section class="center" data-auto-animate>
<h1>Из архива хаоса —<br><span class="accent">сравнительный прайс за минуту</span></h1>
<p class="lead">Дальше за неделю: доменный справочник услуг РК · интеграция в CRM страховщика.</p>
<p class="note">Регуляторно безопасно: публичные коммерческие прайсы, не данные пациентов. Собрано за 48 ч в связке с ИИ-агентами.</p>
<aside class="notes">3:05–3:20. Сильная фраза. Ничего не просить — оставить впечатление.</aside>
</section>
</div></div>
<script src="./reveal/dist/reveal.js"></script>
<script src="./reveal/plugin/notes/notes.js"></script>
<script>
Reveal.initialize({
hash: true,
slideNumber: 'c/t',
transition: 'slide',
controls: true,
progress: true,
center: false,
plugins: [ RevealNotes ],
});
</script>
</body>
</html>