The coach's weekly review: a routine against the mornings after it, cited.
Every shadcn style · one file
v2.0 · Updated Oct 13pnpm dlx shadcn@latest add @notchset-pro/weekly-reviewpnpm dlx shadcn@latest add @notchset-pro/weekly-reviewNeeds your registry key. Every components.json style gets the same files.
Works with React 18.3 or 19 on Tailwind CSS v4, in any shadcn project. What's tested
The CLI adds the styles to the CSS file named in components.json (tailwind.css). Check that it points at your global stylesheet, that the project uses Tailwind CSS v4, and that the file is imported in your root layout. Installed by hand: paste styles.css into that file.
Import it and pass your content. The props that matter most are listed next.
"use client";
import { WeeklyReview } from "@/components/ui/notchset/blocks/weekly-review";
const MORNINGS = [
{ label: "8 Oct", value: 51, did: false },
{ label: "10 Oct", value: 55, did: true },
{ label: "13 Oct", value: 52, did: false },
{ label: "15 Oct", value: 56, did: true },
{ label: "16 Oct", value: 50, did: false },
{ label: "19 Oct", value: 54, did: true },
{ label: "20 Oct", value: 53, did: false },
{ label: "23 Oct", value: 55, did: true },
{ label: "24 Oct", value: 52, did: false },
{ label: "25 Oct", value: 56, did: true },
];
export default function WeeklyReviewDemo() {
return (
<div className="w-full max-w-[1040px]">
<WeeklyReview
when="Sun 25 Oct"
text="On the 5 mornings after a walk, HRV averaged [1], +3 ms over the 5 without one [2], and resting heart rate moved −1 bpm [3]."
citations={[
{ n: 1, label: "HRV, mornings after a walk", value: "55.2", unit: "ms", date: "5 mornings", source: "Ring" },
{ n: 2, label: "HRV, mornings without", value: "51.6", unit: "ms", date: "5 mornings", source: "Ring" },
{ n: 3, label: "Resting heart rate, difference", value: "−1", unit: "bpm", date: "8–25 Oct", source: "Ring" },
]}
mornings={MORNINGS}
withAvg={55.2}
withoutAvg={51.6}
withLabel="walked"
withoutLabel="didn't"
unit="ms"
source="Ring HRV and resting heart rate · routine ticks · 8–25 Oct"
leftOut="11 nights with alcohol or a late meal left out"
action={{ label: "Ask about the review", onClick: () => {} }}
second={{ label: "See the nights", onClick: () => {} }}
/>
</div>
);
}components/ui/notchset/blocks/weekly-review.tsx
This component is included with Pro.
Try the live preview above. Get Pro to install the source.
when–
string"Sun 25 Oct"
text–
stringthe review, numbers as [n] matching `citations`
citations–
ValueCitation[]Required.
mornings–
ReviewMorning[]Required.
withAvg–
numberRequired.
withoutAvg–
numberRequired.
withLabel–
stringthe averages' names at their line ends: "walked", "didn't"
withoutLabel–
stringRequired.
unit–
stringRequired.
source–
stringwhat it read, in one line
leftOut–
stringwhat it left out, said after the source ("11 nights with alcohol or a late meal left out")
action–
WeeklyReviewActionsecond–
WeeklyReviewActionGive your coding assistant the Markdown guide instead of screenshots.
https://notchset.dev/api/mcp (setup)v2.0.0 · 2026-10-13
Released with the Notchset system.
The same file, at work in a finished app. Open it live and find it on its pages.
Health coach. A coach that answers from your numbers, cites each one, and turns the week into a plan and a routine.
1 free · 5 ProSee the Health coach kit
Pro is in early access.