Build / Windsurf · health-medicine

Vitals Panel

Search any drug, condition, or biopharma company and embed a cited FDA & clinical-trials panel — every approval, safety notice, and trial result links straight to fda.gov or clinicaltrials.gov. A working, deployed app at a live *.windsurf.build URL showing real Synorb data the moment you finish answering the questions — not a mockup. You get the React feature, a server-side /api/vitals route that holds your Synorb REST API key+secret (the browser never sees them), a Recharts phase/timeline visualization, a cited results table, honest empty/partial states that respect Synorb coverage.status, and a scheduled Beacon that re-runs on Windsurf's scheduler so the panel keeps catching new FDA approvals and safety communications. Synorb credentials are requested through CREDENTIALS FIRST; if the user chooses self-provision, use https://synorb.com/connect.

A cited FDA and clinical-trials panel.

A deployed React feature on *.windsurf.build with a server-side /api route. The user types a drug, condition, or company; the panel renders three cited sections — (1) FDA activity (drug approvals, safety communications, recalls/alerts, newsroom) as a chronological timeline; (2) Clinical Trials by phase, shown as a phase-distribution bar chart plus a per-trial results table with sponsor, condition, and NCT link; (3) NIH/HHS policy & funding context cards. Every card, row, and timeline node links to its real fda.gov / clinicaltrials.gov / nih.gov source_url, shows the published date, significance, and the count of structured claims behind it. A 'Watch this' button saves a Synorb Beacon scoped to the searched entity and schedules it on Windsurf's runtime to surface new approvals/safety notices.

Pulling FDA approvals, drug safety communications, and ClinicalTrials.gov phase-1-through-4 results — each pre-extracted into structured claims and pre-linked to its real government source_url — is a multi-week scraping-and-parsing slog that every health SaaS team rebuilds badly. Vitals Panel turns it into a clicked one-shot that deploys a cited, chart-driven, embeddable React feature on live data in minutes. The provenance is the moat: every claim traces to fda.gov / clinicaltrials.gov, so it survives a compliance review, and the verified HHS stream (~348 manifests/30d, 351 in-window) means it is genuinely populated the day it ships.

Click, answer a few plain-English questions, get a working product.

No setup to learn. Windsurf asks a handful of normal-person questions — each with a smart default, so “you pick” always works — then builds it with live Synorb data flowing in.

1

What do you want to look up first when the panel loads? (a drug name, a condition, or a company)

Smart default: Alzheimer's disease

2

Which should the panel lead with — FDA approvals & safety notices, or clinical-trial results by phase?

Smart default: Both, with FDA activity on top and a trials-by-phase chart below

3

How far back should it show by default?

Smart default: Last 90 days

4

Do you want a 'Watch this' button that keeps checking for new FDA approvals and safety communications on a schedule?

Smart default: Yes — check daily and highlight anything new

5

What should it look like — clean clinical white, or a darker dashboard style?

Smart default: Clean clinical white with a calm teal accent

Pick a look. It ships with taste by default.

Clinical Chart (default)

Calm clinical-white surface, teal accent, generous whitespace. Top: an FDA activity timeline (approvals, safety communications, recalls) as dated nodes, each color-coded by type and clickable to fda.gov. Middle: a Recharts horizontal bar chart of completed trials by phase (Early Phase 1 -> Phase 4) with counts. Bottom: a results table — trial title, sponsor, condition, phase badge, claim_count, NCT link. Every element carries a small 'source' chip linking to the real source_url. Feels like a regulatory affairs dashboard a clinician would trust.

Drug Dossier

Entity-first layout. A header card for the searched drug/condition/company with its tags and a one-line Brief, then two stacked rails: 'Regulatory' (FDA approvals + safety comms as a vertical cited feed) and 'Evidence' (trials grouped by phase as expandable accordions revealing the structured claims and their confidence/evidence labels). Web-search-sourced background (e.g. mechanism of action) appears in a clearly badged 'Web context' strip, visually separated from Synorb-cited cards. Reads like a living dossier.

Safety Monitor

Alert-forward, darker dashboard. A prominent 'New since you last looked' banner driven by the saved Beacon, a severity-sorted stream of FDA safety communications and recalls at top (significance-weighted), an approvals timeline strip, and a compact trials-phase sparkline. Optimized for teams who care most about catching new safety signals fast; the Beacon-on-scheduler is the centerpiece rather than a footnote.

Synorb is the cited core. Windsurf’s own tools make it pop.

INFRA-BACKED Windsurf dev codebase (Devin Desktop / Cascade). BUILD-TIME: register Synorb in ~/.codeium/windsurf/mcp_config.json over Streamable HTTP with Authorization: Bearer ${env:SYNORB_MCP_TOKEN}; the agent uses the MCP (synorb-stream-search to find the HHS/FDA/NIH streams for the chosen topic, then synorb-manifests mode=count for a zero-quota density check, then synorb-manifests compact=true target_count=5-10 to inspect real cited examples) so the UI is built on the true data shape. RUNTIME: a server-side /api/vitals route reads SYNORB_API_KEY + SYNORB_SECRET from .env and calls the Synorb REST API; the React feature fetches only /api/vitals so the browser never holds the key; deploy via App Deploys to *.windsurf.build. MCP token (build) and REST key+secret (runtime) are distinct and both server-side. Credentials are requested only at .env creation, linking https://synorb.com/connect. For the watch/monitor feature, configure+save a Synorb Beacon and execute it by beacon_id on Windsurf's scheduler (Synorb does not cron Beacons).

Cited data core
Synorb
StreamsU.S. Department of Health & Human Services stream (HHS/FDA/NIH/ClinicalTrials.gov), stream_id 17780823744461164, ~348 manifests/30d, media audio+regulatory+text, FDA Direct podcast (source channel fda-direct-podcast, audio), HHS press releases (hhs-press-releases, text), NIH ClinicalTrials.gov completed-results channels, Early Phase 1 / Phase 1 / Phase 2 / Phase 3 / Phase 4 (nih-clinical-trials-phase-N-completed-results, regulatory) — real NCT### links e.g. clinicaltrials.gov/study/NCT04195945, FDA public discovery stream, stream_id 17732977059399358 — channels fda-drug-safety-comms, fda-drug-alerts, fda-recalls-alerts, fda-newsroom, fda-vaccines, fda-medical-devices, NIH stream, stream_id 17732977062144588 (nih-news-releases, nih-research-matters) + NIH Extramural Nexus News / Funding Opportunities, home_domain health-medicine
Primitivessynorb-stream-search (build-time: locate the HHS/FDA/NIH streams for the chosen topic), synorb-manifests compact=true target_count=5-10 (build-time: inspect real cited examples to build on the true data shape), synorb-manifests mode=count (zero-quota density preflight before billed pulls), synorb REST /manifests (runtime, server-side via /api route), Manifest = Signal (structured claims) + Brief (narrative) + source metadata, source_url provenance + citation blocks (every node links to fda.gov / clinicaltrials.gov / nih.gov), tags (drug, condition, company, agency) + significance + claim_type/confidence/evidence, coverage.status / partial honesty, Beacon (saved monitor: synorb-configure-beacon -> synorb-save-beacon -> run by beacon_id on Windsurf scheduler)
Experience layer
Windsurf native tools
ComposesDevin Desktop / Cascade agent build loop, Synorb MCP registered in ~/.codeium/windsurf/mcp_config.json (Streamable HTTP, Authorization: Bearer ${env:SYNORB_MCP_TOKEN}), App Deploys to *.windsurf.build, Server-side /api route (Next.js / Express) holding SYNORB_API_KEY + SYNORB_SECRET from .env, Recharts (phase-distribution bar chart + FDA/approvals timeline), React feature (browser fetches only /api, never holds the key), Windsurf runtime scheduler (re-runs the saved Beacon by beacon_id), Web search FOR GAPS ONLY (e.g. a drug's mechanism blurb), visibly badged as web vs Synorb-cited
Web searchgaps only — clearly marked, never the primary feed

Credential safetySynorb credentials stay server-side or local — never in client/frontend code. You only enter them when the agent asks, with credentials from synorb.com/connect.

One click from the original source.

Every card, timeline node, and table row deep-links to its real government source_url — FDA approvals/safety/recalls to fda.gov, completed trials to clinicaltrials.gov/study/NCT##### (verified live: e.g. NCT04195945 Phase 2 AML, NCT05318976 Phase 2 early Alzheimer's), NIH/HHS items to nih.gov / grants.nih.gov. URLs are taken verbatim from each Manifest's source/citation block — never invented. Web-search-derived context (mechanism blurbs, drug background) is visibly badged 'Web' and kept separate from Synorb-cited claims, and any topic with no coverage renders an honest empty state per coverage.status rather than a fabricated card.

Questions builders ask.

Will this show real live data on the first run?

Yes. The build prompt connects Synorb at build time to learn the real data shape, then wires live Synorb data into the running product. A working, deployed app at a live *.windsurf.build URL showing real Synorb data the moment you finish answering the questions — not a mockup. You get the React feature, a server-side /api/vitals route that holds your Synorb REST API key+secret (the browser never sees them), a Recharts phase/timeline visualization, a cited results table, honest empty/partial states that respect Synorb coverage.status, and a scheduled Beacon that re-runs on Windsurf's scheduler so the panel keeps catching new FDA approvals and safety communications. Synorb credentials are requested through CREDENTIALS FIRST; if the user chooses self-provision, use https://synorb.com/connect.

Where do my Synorb credentials go?

Only where they are safe. INFRA-BACKED Windsurf dev codebase (Devin Desktop / Cascade). BUILD-TIME: register Synorb in ~/.codeium/windsurf/mcp_config.json over Streamable HTTP with Authorization: Bearer ${env:SYNORB_MCP_TOKEN}; the agent uses the MCP (synorb-stream-search to find the HHS/FDA/NIH streams for the chosen topic, then synorb-manifests mode=count for a zero-quota density check, then synorb-manifests compact=true target_count=5-10 to inspect real cited examples) so the UI is built on the true data shape. RUNTIME: a server-side /api/vitals route reads SYNORB_API_KEY + SYNORB_SECRET from .env and calls the Synorb REST API; the React feature fetches only /api/vitals so the browser never holds the key; deploy via App Deploys to *.windsurf.build. MCP token (build) and REST key+secret (runtime) are distinct and both server-side. Credentials are requested only at .env creation, linking https://synorb.com/connect. For the watch/monitor feature, configure+save a Synorb Beacon and execute it by beacon_id on Windsurf's scheduler (Synorb does not cron Beacons).

How are sources shown?

Every card, timeline node, and table row deep-links to its real government source_url — FDA approvals/safety/recalls to fda.gov, completed trials to clinicaltrials.gov/study/NCT##### (verified live: e.g. NCT04195945 Phase 2 AML, NCT05318976 Phase 2 early Alzheimer's), NIH/HHS items to nih.gov / grants.nih.gov. URLs are taken verbatim from each Manifest's source/citation block — never invented. Web-search-derived context (mechanism blurbs, drug background) is visibly badged 'Web' and kept separate from Synorb-cited claims, and any topic with no coverage renders an honest empty state per coverage.status rather than a fabricated card.

Is this just a Synorb feed, or a real app?

A real app. Synorb is the cited data core; it also composes the platform's own tools: Devin Desktop / Cascade agent build loop, Synorb MCP registered in ~/.codeium/windsurf/mcp_config.json (Streamable HTTP, Authorization: Bearer ${env:SYNORB_MCP_TOKEN}), App Deploys to *.windsurf.build, Server-side /api route (Next.js / Express) holding SYNORB_API_KEY + SYNORB_SECRET from .env, Recharts (phase-distribution bar chart + FDA/approvals timeline), React feature (browser fetches only /api, never holds the key), Windsurf runtime scheduler (re-runs the saved Beacon by beacon_id), Web search FOR GAPS ONLY (e.g. a drug's mechanism blurb), visibly badged as web vs Synorb-cited.

What will it ask me before building?

A few plain-English questions, each with a smart default so you can just say 'you pick': What do you want to look up first when the panel loads? (a drug name, a condition, or a company); Which should the panel lead with — FDA approvals & safety notices, or clinical-trial results by phase?; How far back should it show by default?; Do you want a 'Watch this' button that keeps checking for new FDA approvals and safety communications on a schedule?; What should it look like — clean clinical white, or a darker dashboard style?.

Using a different agent?

The same Synorb MCP connects to every major coding agent. Pick yours.

Free credentials. No card.

Generate credentials, connect Windsurf, and ship something with live, cited intelligence.