No description
  • TypeScript 87.3%
  • CSS 6.9%
  • JavaScript 5.8%
Find a file
2026-08-26 21:25:40 -04:00
.claude Add preview dev-server launch config 2026-06-30 13:32:43 -04:00
.github/workflows Deploy website to GitHub Pages 2026-08-26 20:06:52 -04:00
public Refresh Questions interface screenshots 2026-08-26 21:25:40 -04:00
scripts feat: launch public product website 2026-08-20 20:13:35 -04:00
src Refresh Questions interface screenshots 2026-08-26 21:25:40 -04:00
.env.example Publish partner deck and open closed beta site 2026-08-24 15:43:39 -04:00
.gitignore feat: launch public product website 2026-08-20 20:13:35 -04:00
bun.lock feat: launch public product website 2026-08-20 20:13:35 -04:00
eslint.config.js initial commit 2026-06-24 17:02:04 -04:00
next.config.js Deploy website to GitHub Pages 2026-08-26 20:06:52 -04:00
package.json feat: launch public product website 2026-08-20 20:13:35 -04:00
postcss.config.js initial commit 2026-06-24 17:02:04 -04:00
prettier.config.js initial commit 2026-06-24 17:02:04 -04:00
README.md Deploy website to GitHub Pages 2026-08-26 20:06:52 -04:00
tsconfig.json Deploy website to GitHub Pages 2026-08-26 20:06:52 -04:00
WEBSITE_STRATEGY.md feat: launch public product website 2026-08-20 20:13:35 -04:00

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
  • /medscribe-corporate-partner-overview.pdf — public eight-slide partner deck

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 dashboard
  • NEXT_PUBLIC_UMAMI_SCRIPT_URL — optional; defaults to https://cloud.umami.is/script.js (use your self-hosted URL if needed)

Leave the website ID unset to disable tracking (default for local dev).

Optional preview password

The public site is open by default. To enable the private-preview gate, set both values in the deployment environment:

SITE_PASSWORD_ENABLED="true"
SITE_PASSWORD="choose-a-strong-password"

Unset SITE_PASSWORD_ENABLED or set it to false to keep the site public. A stored password alone does not enable the gate.

Build

bun run build
bun run start

GitHub Pages

Pushes to master also publish a static build to GitHub Pages through .github/workflows/deploy-pages.yml. The Pages build keeps the public product site and partner materials, while omitting the optional server-only password gate and legacy redirect routes that cannot run on static hosting.

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.

  1. Run the app on an iPhone 17 Pro simulator or device.
  2. Capture each screen (⌘S in Simulator saves to Desktop).
  3. Place each 1206 × 2622 capture at native size in the 1350 × 2760 Silver bezel at offset +72+69, clip it to the calibrated display-opening mask, and export a transparent, lossless WebP into 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.