2.7 KiB
Medscribe Web
Public product website for Medscribe — a private, patient-controlled care companion for iOS and Android.
Built with create-t3-app (Next.js + TypeScript + Tailwind).
Uses bun exclusively (bun.lock).
Development
bun install
bun run dev
Open http://localhost:3000.
Routes
Public routes include:
/— consumer-first portable-context story, including Questions/how-it-works— review loop, medication maintenance, Questions, and handoff/privacy— plain-language privacy and patient-control commitments/access— health-data-free access request
Named partner print material remains isolated and excluded from search:
/briefs/northwell/cvs/walgreens
Legacy routes redirect to the current public experience and are excluded from search.
Analytics (optional)
Set in .env (see .env.example):
NEXT_PUBLIC_UMAMI_WEBSITE_ID— website UUID from your Umami dashboardNEXT_PUBLIC_UMAMI_SCRIPT_URL— optional; defaults tohttps://cloud.umami.is/script.js(use your self-hosted URL if needed)
Leave the website ID unset to disable tracking (default for local dev).
Build
bun run build
bun run start
Screenshots live in public/screenshots/. Every route uses the same fresh,
precomposited iPhone 17 Pro assets in
public/screenshots/product-bezel-2026-08-24-unified-type/; there are no raw or
CSS-framed product captures in the rendered site. The neutral Silver bezel and
the versioned path keep the imagery consistent and prevent stale optimizer
caches from hiding a new capture set.
Public pages label product imagery as an illustrative profile and Medscribe
interface.
Capturing raw screenshots for the site
Export in-app content only from the simulator or device — no simulator chrome or macOS capture toolbar. A normal in-app status bar/tab bar is fine.
- Run the app on an iPhone 17 Pro simulator or device.
- Capture each screen (⌘S in Simulator saves to Desktop).
- Fit each 1206 × 2622 capture into the bezel's 1201 × 2617 display opening,
clip it with a 198 px corner radius, and composite it into the 1350 × 2760
Silver bezel at offset
+74+71. Export a transparent, lossless WebP and update the shared versioned asset directory. referenced by the routes.
Product images are composited at the bezel source size of 1350 × 2760 with
transparent backgrounds and rendered responsively through
src/components/product-device.tsx; the smaller PhoneMockup wrapper reuses
that same component. The homepage uses CSS view timelines for
scroll-scrubbed device and chapter motion on desktop and mobile, with a static
fallback and a reduced-motion override.