fix: simplify public product messaging

This commit is contained in:
2026-08-20 23:23:01 -04:00
parent af7f1b79e9
commit 8f656e3808
19 changed files with 537 additions and 1430 deletions
+20 -22
View File
@@ -60,7 +60,7 @@ const capabilities = [
{
icon: Mic,
title: "Understand a visit",
body: "Type, paste, snap the after-visit summary, or record the conversation with consent. Medscribe transcribes and summarizes it on the phone.",
body: "Type, paste, snap the after-visit summary, or record the conversation with consent, then review the useful details together.",
},
{
icon: ScanLine,
@@ -70,7 +70,7 @@ const capabilities = [
{
icon: MessageSquare,
title: "Answer the hard questions",
body: "Ask whether two medications are safe together and get an answer grounded in bundled FDA drug facts and known interaction pairs, not a chatbot's guess.",
body: "Bring medication questions into the same view as the patient's list, with important decisions left to the pharmacist or care team.",
},
{
icon: Layers,
@@ -84,8 +84,8 @@ const capabilities = [
},
{
icon: ShieldCheck,
title: "Share without exposure",
body: "End-to-end encrypted sharing lets a caregiver help, without a server ever reading the record.",
title: "Share with intention",
body: "The patient chooses what to share with a trusted caregiver and when that handoff happens.",
},
] as const;
@@ -121,9 +121,9 @@ const payoffs = [
{
patientTitle: "A tool that is theirs",
patient:
"An advocate they control, on their own device. Not a sales pitch, and never on a server.",
"An advocate they control, centered on their choices rather than a sales pitch.",
cvsTitle: "Engagement without the liability",
cvs: "A CVS-branded habit patients actually open, with no PHI on a server: no new breach surface and no BAA to negotiate.",
cvs: "A CVS-branded habit patients can understand, with a clear privacy posture and deliberate patient control.",
},
] as const;
@@ -139,17 +139,16 @@ export function CvsPrintSummary() {
medical picture.
</h1>
<p className="mt-5 text-[15px] leading-[1.55] text-slate-600">
Real medical AI on the patient&apos;s phone. Medscribe summarizes
visits, reads pill bottles, answers medication questions from
bundled drug facts, and keeps one emergency-ready record across
every provider. Nothing is sent to the cloud.
Medscribe organizes visits, reads pill bottles, supports
medication questions, and keeps one ready-to-share record across
every provider.
</p>
<div className="mt-6 grid grid-cols-2 gap-x-5 gap-y-2 text-[8.5px] font-bold tracking-[0.08em] text-slate-600 uppercase">
{[
"On-device AI",
"Facts-first",
"Patient-owned",
"iOS and Android beta",
"Private by design",
"Clear by design",
"Patient-controlled",
"iOS and Android",
].map((badge) => (
<span key={badge} className="flex items-center gap-2">
<span className="size-1 rounded-full bg-teal-600" />
@@ -177,7 +176,7 @@ export function CvsPrintSummary() {
<div className="mt-8 border-t border-teal-700/25 pt-5">
<p className="northwell-print-label">What it can do</p>
<h2 className="mt-2 font-serif text-[25px] leading-[1.12] font-semibold text-slate-950">
Real medical AI, working entirely on the phone
The daily tools patients need, connected in one place
</h2>
</div>
@@ -198,12 +197,12 @@ export function CvsPrintSummary() {
<div className="mt-8 grid grid-cols-3 gap-7 border-t border-teal-700/25 pt-5">
{[
[
"On the device, not the cloud",
"Summarization and medication Q&A run on the phone. No health data goes to a server for AI, so there is no new breach surface and no BAA.",
"Private by design",
"The experience keeps the patient's choices at the center of every review and handoff.",
],
[
"Facts first, not guesswork",
"Drug facts, classes, and interaction pairs come from bundled reference data. The model helps phrase the answer; it does not invent it.",
"Clear medication context",
"Medication questions stay connected to the list the patient already carries and the professionals they trust.",
],
[
"Owned by the patient",
@@ -288,9 +287,8 @@ export function CvsPrintSummary() {
refills at CVS.
</h3>
<p className="mt-2 text-[10.5px] leading-[1.5] text-slate-600">
Live in beta on iOS and Android today. The core patient experience
ships now; the business layer is what a partnership builds
together.
Designed for iOS and Android. A partnership can connect the
patient experience with CVS&apos;s adherence and pharmacy goals.
</p>
</div>
<div>
+19 -19
View File
@@ -20,15 +20,15 @@ const features = [
icon: CalendarDays,
title: "Turn a visit into context you can review",
description:
"Type or paste notes, import a portal screenshot or document, or use consent-gated recording. The beta creates a local summary for the person to check.",
"Type or paste notes, import a portal screenshot or document, or use consent-gated recording to create a summary you can check.",
points: [
"Supported transcription and summarization run on device",
"The person reviews generated information",
"Structured visit-to-record change review is still roadmap",
"Keep the visit and summary easy to revisit",
"Review important details before relying on them",
"Carry follow-ups into the next conversation",
],
image: "/screenshots/product-bezel-2026-08-20/visits-natural.webp",
darkImage: "/screenshots/product-bezel-2026-08-20/visits-natural-dark.webp",
alt: "Synthetic Medscribe beta visit detail showing a visit summary and follow-up information",
alt: "Illustrative Medscribe visit detail showing a visit summary and follow-up information",
},
{
id: "medications",
@@ -36,17 +36,17 @@ const features = [
icon: Pill,
title: "Keep the daily medication picture close",
description:
"Scan a label, correct the extracted fields, set reminders, follow refills, and see a local intake history without asking a language model to invent drug facts.",
"Scan a label, review the details, set reminders, follow refills, and see your medication routine in one calm view.",
points: [
"Label text remains editable before it becomes the record",
"Bundled facts and known pairs use named reference datasets",
"Coverage is intentionally bounded, not a complete interaction check",
"Review medication details before saving them",
"Keep schedules and reminders easy to understand",
"Bring important questions to a clinician or pharmacist",
],
image:
"/screenshots/product-bezel-2026-08-20/medication-detail-natural.webp",
darkImage:
"/screenshots/product-bezel-2026-08-20/medication-detail-natural-dark.webp",
alt: "Synthetic Medscribe beta medication detail with schedule and medication information",
alt: "Illustrative Medscribe medication detail with schedule and medication information",
},
{
id: "questions",
@@ -54,15 +54,15 @@ const features = [
icon: MessageCircle,
title: "Facts first, fluent answers second",
description:
"Medication questions can use the persons local record and bundled fields. Dosing changes, diagnosis, and treatment decisions stay with a clinician or pharmacist.",
"Ask about a visit or medication using the context you have already collected. Dosing changes, diagnosis, and treatment decisions stay with a clinician or pharmacist.",
points: [
"Known facts render from bundled data",
"The local model helps with conversational phrasing",
"Keep answers connected to your own context",
"Prepare for a clearer care conversation",
"High-risk or unsupported questions defer to a professional",
],
image: "/screenshots/product-bezel-2026-08-20/ask-black.webp",
darkImage: "/screenshots/product-bezel-2026-08-20/ask-black-dark.webp",
alt: "Synthetic Medscribe beta answer with medication context and a safety boundary",
alt: "Illustrative Medscribe answer with medication context and a safety boundary",
},
{
id: "handoff",
@@ -72,14 +72,14 @@ const features = [
description:
"The Know Me view brings selected medications, allergies, conditions, baseline, and contacts together. Current, unconfirmed, and review-needed states make uncertainty visible.",
points: [
"Medication schedules can include source and confirmation",
"Medication schedules stay easy to review",
"The person can show or share the snapshot they reviewed",
"It complements—not replaces—clinical verification",
],
image: "/screenshots/product-bezel-2026-08-20/know-me-natural.webp",
darkImage:
"/screenshots/product-bezel-2026-08-20/know-me-natural-dark.webp",
alt: "Synthetic Medscribe beta Know Me handoff with active medications and review state",
alt: "Illustrative Medscribe Know Me handoff with active medications and review state",
},
] as const;
@@ -121,7 +121,7 @@ export function FeatureShowcase() {
<div className="flex min-w-0 flex-col gap-6">
<div
role="tablist"
aria-label="Explore the Medscribe beta"
aria-label="Explore Medscribe"
className="flex max-w-full gap-2 overflow-x-auto pb-1"
>
{features.map((feature) => {
@@ -161,7 +161,7 @@ export function FeatureShowcase() {
className="focus-visible:ring-primary/40 rounded-xl outline-none focus-visible:ring-2"
>
<p className="text-primary text-xs font-bold tracking-[0.14em] uppercase">
Current beta
Medscribe
</p>
<h3 className="text-foreground mt-3 max-w-xl font-serif text-3xl font-semibold tracking-tight sm:text-4xl">
{active.title}
@@ -195,7 +195,7 @@ export function FeatureShowcase() {
width={220}
/>
<p className="text-muted-foreground mt-4 text-center text-xs">
Synthetic demo data · beta interface
Illustrative profile · Medscribe interface
</p>
</div>
</div>
+32 -36
View File
@@ -60,22 +60,22 @@ const people = [
const productPillars = [
[
"Capture visits",
"Type or paste notes, import a portal screenshot, attach a document, or use consent-gated recording. Summarization stays on device.",
"Type or paste notes, import a portal screenshot, attach a document, or use consent-gated recording, then review the important details.",
],
[
"Keep medications current",
"Pill-bottle label recognition, reminders, refill tracking, dose history, and questions grounded in bundled FDA facts.",
"Pill-bottle label recognition, reminders, refill tracking, dose history, and questions connected to the patient's list.",
],
[
"Be ready to hand off",
"A patient-controlled Know Me record and encrypted caregiver sharing keep critical context ready when the chart is incomplete.",
"A patient-controlled Know Me record keeps critical context ready for a caregiver or care professional.",
],
] as const;
const northwellFit = [
[
"AI patients can trust",
"Visit summarization and medication Q&A run on the phone, while medication facts come from bundled reference data rather than model recall. It is a clear AI posture for patients, privacy teams, and clinicians.",
"An experience patients can trust",
"Visit summaries, medication routines, and important questions stay clear and reviewable for patients, privacy teams, and clinicians.",
],
[
"A Northwell story worth telling",
@@ -111,10 +111,10 @@ export function NorthwellPrintSummary() {
</p>
<div className="mt-6 grid grid-cols-2 gap-x-5 gap-y-2 text-[8.5px] font-bold tracking-[0.08em] text-slate-600 uppercase">
{[
"On-device AI",
"Private by design",
"Emergency-ready",
"Patient-owned",
"iOS and Android beta",
"Patient-controlled",
"iOS and Android",
].map((badge) => (
<span key={badge} className="flex items-center gap-2">
<span className="size-1 rounded-full bg-teal-600" />
@@ -177,8 +177,8 @@ export function NorthwellPrintSummary() {
<div>
<p className="northwell-print-label">One living picture</p>
<p className="mt-2 text-[10.5px] leading-[1.5] text-slate-600">
The record is useful in an emergency because ordinary use keeps it
from becoming a stale export.
Everyday use keeps the record ready for the moments when a clear
handoff matters most.
</p>
</div>
<ul className="grid grid-cols-2 gap-x-5 gap-y-2 text-[9.5px] leading-[1.45] text-slate-600">
@@ -201,8 +201,8 @@ export function NorthwellPrintSummary() {
A medical record the patient owns and carries
</h2>
<p className="northwell-print-lede">
The daily tools are not separate features. They are the maintenance
system for one emergency-ready record.
The daily tools work together as one clear, emergency-ready
experience.
</p>
<div className="mt-5 grid grid-cols-3 gap-5">
{productPillars.map(([title, body], index) => (
@@ -247,35 +247,31 @@ export function NorthwellPrintSummary() {
</h2>
<div className="mt-3 grid grid-cols-2 gap-6 text-[10.5px] leading-[1.55] text-slate-600">
<p>
Every institutional record stops at its own walls. Epic aggregates
Epic; urgent care, community specialists, and facilities on other
systems can still sit outside the picture in front of a clinician.
Institutional records reflect their own care settings. Patients
often move among urgent care, community specialists, pharmacies,
and family caregivers.
</p>
<p>
Visit notetakers, medication trackers, record vaults, and
emergency IDs each solve one slice. Medscribe connects daily
maintenance to the handoff across Epic and non-Epic care, on the
patient&apos;s device and under the patient&apos;s control.
Medscribe connects visit memory, medication routines, and the
handoff across those settings while keeping the patient&apos;s
choices at the center.
</p>
</div>
</section>
<section className="mt-5 grid grid-cols-2 gap-7 border-t border-slate-300 pt-5">
<div>
<p className="northwell-print-label">Facts first</p>
<p className="northwell-print-label">Clear medication context</p>
<p className="mt-2 text-[10px] leading-[1.5] text-slate-600">
Medication facts, drug classes, and known interaction pairs come
from bundled reference data. The language model helps with
phrasing; it is not treated as the source of medical facts.
Medication details, routines, and questions stay connected in one
readable view, with clinical decisions left to the care team.
</p>
</div>
<div>
<p className="northwell-print-label">Local by default</p>
<p className="northwell-print-label">Patient-controlled sharing</p>
<p className="mt-2 text-[10px] leading-[1.5] text-slate-600">
Visit summarization and medication Q&amp;A run on the phone.
Caregiver sharing is end-to-end encrypted, so a server is not
asked to read the patient&apos;s record in order to coordinate
care.
The patient reviews the context first and decides when a trusted
caregiver or care professional should see it.
</p>
</div>
</section>
@@ -285,7 +281,7 @@ export function NorthwellPrintSummary() {
<section className="pt-3">
<p className="northwell-print-label">The Northwell opportunity</p>
<h2 className="northwell-print-title">
A trusted AI touchstone between visits
A trusted touchstone between visits
</h2>
<p className="northwell-print-lede max-w-[650px]">
Medscribe gives Northwell a useful presence in the part of care no
@@ -338,7 +334,7 @@ export function NorthwellPrintSummary() {
</div>
<div>
<h3 className="font-serif text-[16px] font-semibold text-slate-950">
The patient carries the missing context
The patient carries personal context
</h3>
<p className="mt-2 text-[10.5px] leading-[1.55] text-slate-600">
Non-Epic visits, medication changes, caregiver knowledge, and
@@ -356,10 +352,10 @@ export function NorthwellPrintSummary() {
A patient promise people can understand
</h3>
<p className="mt-2 text-[10.5px] leading-[1.5] text-slate-600">
Private AI. One current picture. Ready for the caregiver, the new
doctor, or the ER. That is a more human story than &ldquo;AI in
healthcare,&rdquo; and it gives Northwell a visible way to stand
for continuity beyond its own walls.
Private by design. One current picture. Ready for the caregiver,
the new doctor, or the ER. That is a human story people can
understand, and it gives Northwell a visible way to stand for
continuity beyond its own walls.
</p>
</div>
<div>
@@ -370,8 +366,8 @@ export function NorthwellPrintSummary() {
<p className="mt-3 text-[10.5px] leading-[1.5] text-slate-600">
A Bucknell computer science and engineering graduate who built
Medscribe after watching his family lose the full picture of his
grandfather&apos;s care. The product is live in beta on iOS and
Android today.
grandfather&apos;s care. Medscribe is designed for iOS and
Android.
</p>
</div>
</section>
+4 -4
View File
@@ -4,8 +4,8 @@ import { MedscribeLogo } from "~/components/medscribe-logo";
const footerLinks = [
{ href: "/how-it-works", label: "How it works" },
{ href: "/privacy", label: "Privacy & evidence" },
{ href: "/beta", label: "Beta access" },
{ href: "/privacy", label: "Privacy" },
{ href: "/access", label: "Request access" },
] as const;
export function SiteFooter() {
@@ -21,8 +21,8 @@ export function SiteFooter() {
<span className="font-serif text-lg font-semibold">Medscribe</span>
</Link>
<p className="text-muted-foreground mt-4 max-w-md leading-relaxed">
A private, patient-controlled beta for keeping visits, medications,
and critical context together on the device you carry.
A private, patient-controlled way to keep visits, medications, and
important care context together.
</p>
<p className="text-muted-foreground mt-3 text-xs leading-relaxed">
Medscribe does not diagnose, prescribe, or replace emergency
+4 -4
View File
@@ -7,7 +7,7 @@ import { Button } from "~/components/ui/button";
const navigation = [
{ href: "/", label: "Home" },
{ href: "/how-it-works", label: "How it works" },
{ href: "/privacy", label: "Privacy & evidence" },
{ href: "/privacy", label: "Privacy" },
] as const;
export function SiteHeader() {
@@ -39,7 +39,7 @@ export function SiteHeader() {
</Link>
))}
<Button asChild size="sm" className="ml-2">
<Link href="/beta">Request beta access</Link>
<Link href="/access">Request access</Link>
</Button>
</nav>
@@ -62,10 +62,10 @@ export function SiteHeader() {
</Link>
))}
<Link
href="/beta"
href="/access"
className="bg-primary-button hover:bg-primary-button/90 focus-visible:ring-primary/40 mt-1 rounded-xl px-4 py-3 text-center text-sm font-semibold text-white outline-none focus-visible:ring-2"
>
Request beta access
Request access
</Link>
</nav>
</details>
+21 -22
View File
@@ -60,7 +60,7 @@ const capabilities = [
{
icon: Mic,
title: "Understand a visit",
body: "Type, paste, snap the after-visit summary, or record the conversation with consent. Medscribe transcribes and summarizes it on the phone.",
body: "Type, paste, snap the after-visit summary, or record the conversation with consent, then review the useful details together.",
},
{
icon: ScanLine,
@@ -70,7 +70,7 @@ const capabilities = [
{
icon: MessageSquare,
title: "Answer the hard questions",
body: "Ask whether two medications are safe together and get an answer grounded in bundled FDA drug facts and known interaction pairs, not a chatbot's guess.",
body: "Bring medication questions into the same view as the patient's list, with important decisions left to the pharmacist or care team.",
},
{
icon: Layers,
@@ -84,8 +84,8 @@ const capabilities = [
},
{
icon: ShieldCheck,
title: "Share without exposure",
body: "End-to-end encrypted sharing lets a caregiver help, without a server ever reading the record.",
title: "Share with intention",
body: "The patient chooses what to share with a trusted caregiver and when that handoff happens.",
},
] as const;
@@ -121,9 +121,9 @@ const payoffs = [
{
patientTitle: "A tool that is theirs",
patient:
"An advocate they control, on their own device. Not a sales pitch, and never on a server.",
"An advocate they control, centered on their choices rather than a sales pitch.",
bizTitle: "Engagement without the liability",
biz: "A Walgreens-branded habit patients actually open through myWalgreens, with no PHI on a server: no new breach surface and no BAA to negotiate.",
biz: "A Walgreens-branded habit patients can understand through myWalgreens, with a clear privacy posture and deliberate patient control.",
},
] as const;
@@ -139,17 +139,16 @@ export function WalgreensPrintSummary() {
medical picture.
</h1>
<p className="mt-5 text-[15px] leading-[1.55] text-slate-600">
Real medical AI on the patient&apos;s phone. Medscribe summarizes
visits, reads pill bottles, answers medication questions from
bundled drug facts, and keeps one emergency-ready record across
every doctor and pharmacy. Nothing is sent to the cloud.
Medscribe organizes visits, reads pill bottles, supports
medication questions, and keeps one ready-to-share record across
every doctor and pharmacy.
</p>
<div className="mt-6 grid grid-cols-2 gap-x-5 gap-y-2 text-[8.5px] font-bold tracking-[0.08em] text-slate-600 uppercase">
{[
"On-device AI",
"Facts-first",
"Patient-owned",
"iOS and Android beta",
"Private by design",
"Clear by design",
"Patient-controlled",
"iOS and Android",
].map((badge) => (
<span key={badge} className="flex items-center gap-2">
<span className="size-1 rounded-full bg-teal-600" />
@@ -177,7 +176,7 @@ export function WalgreensPrintSummary() {
<div className="mt-8 border-t border-teal-700/25 pt-5">
<p className="northwell-print-label">What it can do</p>
<h2 className="mt-2 font-serif text-[25px] leading-[1.12] font-semibold text-slate-950">
Real medical AI, working entirely on the phone
The daily tools patients need, connected in one place
</h2>
</div>
@@ -198,12 +197,12 @@ export function WalgreensPrintSummary() {
<div className="mt-8 grid grid-cols-3 gap-7 border-t border-teal-700/25 pt-5">
{[
[
"On the device, not the cloud",
"Summarization and medication Q&A run on the phone. No health data goes to a server for AI, so there is no new breach surface and no BAA.",
"Private by design",
"The experience keeps the patient's choices at the center of every review and handoff.",
],
[
"Facts first, not guesswork",
"Drug facts, classes, and interaction pairs come from bundled reference data. The model helps phrase the answer; it does not invent it.",
"Clear medication context",
"Medication questions stay connected to the list the patient already carries and the professionals they trust.",
],
[
"Owned by the patient",
@@ -288,9 +287,9 @@ export function WalgreensPrintSummary() {
refills at Walgreens.
</h3>
<p className="mt-2 text-[10.5px] leading-[1.5] text-slate-600">
Live in beta on iOS and Android today. The core patient experience
ships now; the business layer is what a partnership builds
together.
Designed for iOS and Android. A partnership can connect the
patient experience with Walgreens&apos; adherence and pharmacy
goals.
</p>
</div>
<div>