Inspiration Medical professionals spend hours every day wrestling with administrative tasks, dictating notes, and translating medical shorthand into patient-comprehensible instructions. While tools like Granola excel at turning live doctor-patient dialogue into precise, unstructured markdown summaries, a critical gap remains: patients still struggle to decipher sterile clinical text blocks, and doctors still need to manually write personal post-visit updates.
I was inspired to bridge the gap between complex medical language and high-fidelity patient care—taking raw backend data and transforming it into a clear, responsive, and beautiful dashboard that elevates the entire patient experience.
What it does PulseCheck acts as an interactive, intelligent companion layer for clinical note taking, delivering: • Granola Live Feed Integration: Connects directly to a live Granola workspace using the Lovable AI Gateway to securely parse and render the latest visit summaries. • Structured Clinical Parsing: Intelligently normalizes free-form text blocks into predictable semantic pillars: Current Health Status (vitals/assessments), Medication Adjustments, Lifestyle Modifications (exercise/diet), and Next Steps. • Automated Follow-Up Email Generator: Instantly converts structured entities into an empathetic, patient-friendly summary draft ready to send with a single click. • Automated Consistency Audit: Functions as a built-in safety rail, automatically scanning notes to flag missing details, inconsistent timelines, or discrepancies between the structured views and the raw conversation transcript. • Zero-Setup Demo Environment: An always-on cardiology follow-up workspace lets anyone see the app's full capabilities without pasting an API key.
How I built it I architected PulseCheck with a robust, type-safe full-stack setup designed for speed and edge scalability: • Framework & Engine: Built using TanStack Start v1 combining React 19 and Vite 7 to power highly efficient file-based routing, server-side rendering, and instant edge deployments. • Styling & Primitive System: Styled with Tailwind CSS v4 utilizing an elegant layout, coupled with shadcn/ui and Radix Primitives for fully accessible UI interactions. • Data Fetching & Secrets: Powered by TanStack Query on the frontend, coordinating with secure TanStack Start server functions (createServerFn). Client queries leverage Zod schemas to ensure all communication passing through the Lovable AI Gateway remains securely validated without leaking proprietary API keys to the browser. • Runtime & Infrastructure: Powered locally by Bun and deployed globally across the Cloudflare Workers edge runtime.
Challenges I ran into • Handling Arbitrary Markdown Variations: Since raw note extraction can change structural syntax depending on the medical case, writing a reliable parser that normalizes arbitrary headings into uniform JSON blocks required strict, deterministic matching layers. • Ensuring Secure Key Management: I wanted to provide a seamless "Bring-Your-Own-Key" (BYOK) paradigm that required zero local .env configuration for the user. Balancing client-side validation with stateless server-side handling (making sure user keys touch memory just once over HTTPS and never write to storage) meant carefully orchestrating the gateway architecture. • Validating Multi-Part Consistency: Building an auditing layer capable of accurately pointing out mismatches between unstructured, complex medical dialogue and normalized categories without inducing browser lag required highly optimized cross-reference rules. Accomplishments that I'm proud of • Production-Grade Visual Experience: Achieved an ultra-responsive layout complete with precise micro-interactions, distinct API state indicators, and clean design tokens. • 100% Secure Architecture: Kept developer secrets and user keys completely safe by structuring an isolated server environment where the client browser never interacts with external endpoints directly. • Zero-Friction Onboarding: Shipped a full interactive field glossary, in-app troubleshooting guides, and a functional demo feed right out of the box so anyone can preview the product instantly.
What I learned • The Power of the Edge Runtime: Leveraging TanStack Start on Cloudflare Workers validated how incredibly fast full-stack server functions can act when deployed close to the user, keeping application payloads remarkably small. • Clinical Data Flow Challenges: I learned that structuring unstructured clinical insights requires strict adherence to predictable domain structures to maintain high professional utility while keeping summaries accessible for everyday patients.
What's next for PulseCheck — Granola Clinical Note Assistant • Multi-Note Historical Tracking: Build a dashboard view compiling a patient’s historical timeline to visualize health trends, vitals progression, and compliance metrics over multiple visits. • Tailored Clinician Templates: Implement custom configurations so providers can tweak parsing definitions and shift email tone rules depending on their specific specialty (e.g., pediatrics vs. cardiology). • EHR & Native Document Exports: Add automated formatting tools to export completed, audited briefs directly into standard PDF formats or format blocks to integrate with electronic health record software.
Built With
- ai-assistant
- api-gateway
- automation
- bun
- clinical-notes
- cloudflare-workers
- edge-runtime
- full-stack
- granola-ai
- healthcare-it
- llm-parsing
- medical-dashboard
- productivity-tools
- radix-primitives
- react-19
- responsive-design
- security-first
- server-functions
- shadcn-ui
- tailwind-css-v4
- tanstack-query
- tanstack-start
- typescript
- vite-7
- zod
Log in or sign up for Devpost to join the conversation.