HeartStrong is a static patient education website that extends the HeartStrong booklet with heart failure education, guided goal setting, treatment guidance, and printable visit resources.
The site is designed to feel calm, clear, and supportive on both desktop and mobile while staying simple to host on GitHub Pages.
It follows the booklet structure with dedicated pages for:
- Welcome
- HF Basics
- Goal Setting
- Treatment Options
- Resources
- Astro for a static multi-page site
- Plain CSS with a liquid-glass-inspired visual system
- Small vanilla TypeScript modules for interactive behaviors
- Fontsource for self-hosted web fonts
- Vitest for local automated testing
- ESLint and Prettier via the shared Stanford Spezi web configuration package, with Astro-specific overrides kept local
- GitHub Actions for CI, CodeQL, markdown link checking, REUSE compliance, sitemap generation, and GitHub Pages deployment
HeartStrong recommends Node.js 24 or newer. The repository includes a .node-version file for toolchains that can pick it up automatically.
- Install dependencies:
npm install- Start the local development server:
npm run dev- Open the local Astro server URL shown in the terminal.
Run the same core checks locally that GitHub Actions uses in CI:
npm run format:check
npm run lint
npm run validateThe site is configured for GitHub Pages deployment through .github/workflows/deploy-pages.yml.
To publish it:
- Push the repository to GitHub.
- In the repository settings, configure Pages to deploy from GitHub Actions.
- Push to
mainor run the workflow manually.
The Astro configuration automatically uses the repository name as the base path during GitHub Actions builds, so project-site deployments like https://stanfordbdhg.github.io/HeartStrong/ work without manual path edits.
This project is licensed under the MIT License. See Licenses for more information.
This project is developed as part of the Stanford Byers Center for Biodesign at Stanford University. See CONTRIBUTORS.md for a full list of all contributors.

