import type { Metadata } from "next"; import { ArrowRight, Check, ContactRound, KeyRound, LockKeyhole, ScanLine, ShieldCheck, Smartphone, } from "lucide-react"; import Link from "next/link"; import { ProductDevice } from "~/components/product-device"; import { Button } from "~/components/ui/button"; import { productClaims, productRelease } from "~/content/product"; import { BETA_INVITE_MAILTO } from "~/lib/beta"; export const metadata: Metadata = { title: "Carry the context when care gets complicated", description: "Medscribe is a private, patient-controlled beta that helps keep visits, medications, and critical context together on your device.", }; const visitMoments = [ { number: "01", eyebrow: "Visits stay findable", title: "The visit has a place to land.", body: "Keep the recording, transcript, and reviewed summary together instead of reconstructing the appointment from memory.", image: "/screenshots/pitch-glass-2026-08-20/visits-natural.webp", darkImage: "/screenshots/pitch-glass-2026-08-20/visits-natural-dark.webp", alt: "Medscribe Visits screen in a natural titanium iPhone product bezel", }, { number: "02", eyebrow: "Words stay checkable", title: "Go back to what was actually said.", body: "Search the local transcript and compare it with the generated summary before anything becomes part of the record you rely on.", image: "/screenshots/pitch-glass-2026-08-20/transcript-black.webp", darkImage: "/screenshots/pitch-glass-2026-08-20/transcript-black-dark.webp", alt: "Medscribe visit transcript in a black titanium iPhone product bezel", }, { number: "03", eyebrow: "The next step stays visible", title: "Review the useful part. Keep the uncertainty.", body: "Medications, follow-ups, diagnoses, and instructions are prepared on-device. Suggestions remain suggestions until a person checks them.", image: "/screenshots/pitch-glass-2026-08-20/summary-natural.webp", darkImage: "/screenshots/pitch-glass-2026-08-20/summary-natural-dark.webp", alt: "Medscribe appointment summary in a natural titanium iPhone product bezel", }, ] as const; const proofStats = [ { value: productRelease.drugFacts.toLocaleString("en-US"), label: "bundled medication records", }, { value: productRelease.rxNormTerms.toLocaleString("en-US"), label: "RxNorm terms for matching", }, { value: productRelease.interactionPairs.toLocaleString("en-US"), label: "known interaction pairs", }, ] as const; const privacyPrinciples = [ { icon: Smartphone, title: "Your working record stays local", body: productClaims.localRecord.publicCopy, }, { icon: LockKeyhole, title: "AI runs on the device", body: productClaims.localAi.publicCopy, }, { icon: ShieldCheck, title: "Facts do not come from model memory", body: productClaims.medicationFacts.publicCopy, }, ] as const; const betaFit = [ "Managing several medications or repeated visits", "Coordinating care with a family caregiver", "Willing to review generated information and report errors", ] as const; export default function HomePage() { return ( <>
{productRelease.stage} {productRelease.platforms}

Carry the context.

Visits, medications, and the critical details between them—kept together on the device you carry.

Synthetic demo data · beta interface

The missing picture

Care happens in fragments. Your context shouldn't.

One instruction lives in a portal. A medication label sits in a cabinet. The latest change lives in someone's memory. Medscribe is the patient-held thread between those moments.

After the visit

Turn what happened into something you can check.

Bring in typed notes, a portal screenshot, a document, or an optional consent-gated recording. The work happens locally. You decide what is useful.

The safety loop:{" "} review generated information before acting. Medscribe does not diagnose, prescribe, or replace clinical verification.

    {visitMoments.map((moment, index) => (
  1. {moment.number}

    {moment.eyebrow}

    {moment.title}

    {moment.body}

  2. ))}

Between visits

Keep the medication picture from going stale.

The list, the label, the schedule, and the latest confirmation belong in the same view—not scattered across paper and memory.

{[ { title: "Show where a schedule came from", body: "Schedules can carry their source, confirmation, timezone, and freshness state.", }, { title: "Keep facts deterministic", body: productClaims.medicationFacts.publicCopy, }, { title: "Make uncertainty visible", body: "Missing or stale details stay visible so the person or clinician can verify them.", }, ].map((item) => (
))}

Ask from the record

Better questions begin with your context.

Ask about a visit or medication without uploading the record to a remote model. Answers are grounded in local history and bundled facts, with the boundary kept in view.

Informational only. Medication changes still belong with a clinician or pharmacist.

At the handoff

Bring the picture when the chart is incomplete.

Know Me gathers selected medications, allergies, conditions, baseline, and contacts into one readable snapshot. Freshness signals show what may need another look.

    {[ ["1", "You review", "Choose the record to send"], ["2", "Encrypted copy", "Protected for the recipient key"], ["3", "They import", "A local, readable snapshot"], ].map(([number, title, body]) => (
  1. {number}

    {title}

    {body}

  2. ))}

Manual today—not live sync or a household cloud account. Import-side sender trust enforcement is still being hardened; revocation cannot recall a copy already exported.

A precise privacy boundary

Local changes what you have to trust.

The working record and supported AI tasks stay on the device. Medication facts come from bundled references, not a model trying to remember medicine.

{proofStats.map((stat) => (
{stat.label}
{stat.value}
))}
{privacyPrinciples.map((principle) => { const Icon = principle.icon; return (
); })}

The right beta participant

Help build the record people can actually carry.

This is an internal beta. Expect close feedback, manual review, rough edges, and possible resets—not guaranteed continuity.

Start with your platform and whether you are testing as a patient, caregiver, or both. Please do not email health details.

); }