Catalyst
Platform Overview

Platform & Technology Overview

The services and tools that power the Innovate Healthcare Catalyst platform

Hosting & Serverless Functions
Hosts the static Catalyst site and runs all backend serverless functions. Auto-deploys from GitHub on every push — live within ~60 seconds. Scheduled functions handle daily backups and newsletter reminders; on-demand functions handle email, contact form processing, and API calls.
Static Hosting Serverless Functions Scheduled Jobs CI/CD
🐙
Source Control & Deployment Trigger
All application code — HTML, JavaScript, Netlify functions — lives in the inno-hlth/catalyst repository. Every git push to main triggers a Netlify deploy automatically.
Version Control Deploy Trigger
🗄
Database & Authentication
PostgreSQL database accessed via REST API. Stores all proposals, contacts, companies, invoices, catalog data, and settings. Handles user authentication (email/password). Row Level Security policies ensure authenticated-only access. The app talks directly to Supabase from the browser using the anon/public key; Netlify functions use the service role key to bypass RLS for backup and admin operations.
PostgreSQL REST API Auth Row Level Security Storage
Backup Storage
Stores all automated and manual backups. Each backup is a timestamped JSON file containing all Supabase table data. Archived proposal PDFs are also copied to S3. Backups are organized by date folder and are never overwritten — every run produces a new timestamped file. Access is via signed URLs generated server-side by Netlify functions.
JSON Backups PDF Archive Signed URLs
Transactional Email
Sends all transactional emails from the platform — proposal PDFs to clients, accepted proposals to accounting, invoice emails, backup notifications, newsletter reminders, and the Payments page access code. All sent from the innovatehealthcare.com verified domain via the Resend API in Netlify functions.
Proposal Emails Invoice Emails Access Codes Backup Alerts
🐵
Email Marketing & List Management
Manages subscriber lists for all three publications. When a contact submits the website form with a CRM interest (Media Kit, Custom Marketing, Press Release), they are automatically subscribed to the IH Master List with the correct publication interest groups, and to the appropriate brand list (CVB / RB / HE) with newsletter frequency interest groups. For Media Kit and Custom Marketing, the 7-step follow-up email automation is triggered.
IH Master List CVB Brand List RB Brand List HE Brand List Interest Groups Automations
🚀
Contact & Company Enrichment
Used to bulk-enrich contacts and companies with data from the Apollo database. Company enrichment fills website, phone, address, city, state, and industry. Contact enrichment fills title, phone, and LinkedIn URL. Enrichment runs via Netlify functions using the Apollo People Match and Organization Enrich APIs. API key managed in Admin → API Keys.
Company Enrichment Contact Enrichment People Match API
📝
Press Release Submission
External content management system used by Innovate Healthcare editorial staff. When a visitor selects "Publishing a Press Release" on the contact form, they are subscribed to Mailchimp and then redirected to the TriMed CMS press release submission form rather than staying in the Catalyst flow.
Press Releases Editorial
🌐
Public Website & Contact Form Source
The public-facing Innovate Healthcare website. The contact form on the site is an iframe embedding contact-form-embed.html from Catalyst. Form submissions POST directly to the Catalyst Netlify function — no separate form service needed. Success and error states display inside the iframe without reloading the parent page.
iframe Embed Contact Form Wix
GitHub (source) ──push──▶ Netlify (deploy + functions) │ ┌───────────────┼───────────────────────┐ ▼ ▼ ▼ Supabase Resend AWS S3 (data + auth) (transactional email) (backup storage) │ ┌─────────┴──────────┐ ▼ ▼ Mailchimp Apollo.io (list + automation) (enrichment) InnovateHealthcare.com ──iframe──▶ contact-form-embed.html │ Netlify Function (contact-form.js) / | \ Supabase Mailchimp Resend
Innovate Healthcare — Proposal Builder Flow

From new proposal creation through invoicing and payment

New Proposal
Client Info
Name · Company · Contact · Presenter · Audience
Select Brand & Rate Card Items
CVB · RB · HE  |  Checkbox · Qty · Monthly · Multi-instance
Investment Summary Auto-calculates
Billing option · Custom line items · Pricing validity
Save → Supabase
proposals table · status: Draft
Next Action?
Preview / Print
Browser Print-to-PDF
Branded proposal layout
client-ready formatting
Local PDF — no email sent
Send Proposal
Resend — PDF email to client
Branded PDF attached
from: innovatehealthcare.com
Archive PDF URL → Supabase
pdf_sent_url saved · status: Sent
Proposal Outcome?
Accepted
Send to Accounting
Resend email → accounting@
Full proposal detail + PDF
Archive Accepted PDF → Supabase
pdf_accepted_url · status: Accepted
Projects Board
Deliverables per rate card section
Owner · Status · Date range
Orders → Create Invoice
Invoice record → Supabase
Resend PDF → client
Payments
Mark paid · Check/ref #
Commission report
✓ Closed — Won
Declined
Update Status → Declined
Stored in Supabase
proposals table
✗ Closed — Lost
Edit & Re-save
Update Rate Card / Client Info
Repriced or revised proposal
status remains Draft
Save → Supabase
proposals table updated
↩ Back to Draft — ready to send
Supabase read/write
Resend email
Supabase archive (PDF URL)
Downstream tracking (Projects · Orders · Payments)
Declined / closed lost
Local only — no server action

* Invoices created in Orders page are stored in the invoices Supabase table and emailed to accounting via Resend  |  Payment records feed the commission PDF report on the Payments page

Innovate Healthcare — Contact Form Submission Flow

InnovateHealthcare.com Information Request Form

Form Submitted
What is the visitor's Interest?
Media Kit /
Advertising Info
Supabase Upsert
Match company · merge tags
Mailchimp Brand List
Daily/Weekly/Monthly News
+ Announcements + Conferences tags
Mailchimp IH Master List
Media Kit Date + Interest Groups
+ Sub: tag + Conference tag
+ CVB/RB/HE Media Kit tag
⚡ Mailchimp Automation
IH Master List 7-Step Media Kit Follow Up Email Automation
🔔 "Thank you for your interest.
Someone from our team will
be in touch shortly."
→ Redirect to InnovateHealthcare.com
Custom Marketing
/ Webinars
Supabase Upsert
Match company · merge tags
Mailchimp Brand List
Daily/Weekly/Monthly News
+ Announcements + Conferences tags
Mailchimp IH Master List
Media Kit Date + Interest Groups
+ Sub: tag + Conference tag
+ CVB/RB/HE Media Kit tag
⚡ Mailchimp Automation
IH Master List 7-Step Media Kit Follow Up Email Automation
🔔 "Thank you for your interest.
Someone from our team will
be in touch shortly."
→ Redirect to InnovateHealthcare.com
Billing or
Accounting Issue
🔔 "Thank you for your inquiry.
Someone from our team will
be in touch shortly."
→ Redirect to InnovateHealthcare.com
Editorial
Correction / Inquiry
🔔 "Thank you. Someone from our team
may be in touch for further details."
→ Redirect to InnovateHealthcare.com
Submit a
News Tip
🔔 "Thank you. Someone from our team
may be in touch for further details."
→ Redirect to InnovateHealthcare.com
Publishing a
Press Release
Mailchimp Brand List
Daily/Weekly/Monthly News
+ Announcements + Conferences tags
Mailchimp IH Master List
Interest Groups + Sub: tag
+ Conference tag
(no automation tag)
🔔 "Taking you to our press
release submission form…"
→ Redirect to TriMed CMS
Other
🔔 "Thank you for your interest.
Someone from our team will
be in touch shortly."
→ Redirect to InnovateHealthcare.com
Full CRM — Supabase + Mailchimp (brand + master) + sales@
Mailchimp only — brand + master, no Supabase
Operational — dedicated inbox only
Redirects to TriMed CMS after Mailchimp
Toast on all successful submissions

* Conferences of Interest hidden until publication selected: Cardiovascular Business → Cardiology  |  Radiology Business → Radiology  |  HealthExec → Healthcare

Mailchimp Interest Group IDs
CVB Brand List
Daily & Breaking News — 12f0d0eceb
Weekly News Summary — 8c67b1cab3
Monthly News Highlights — d6214dca85
Announcements — b6d7d31829
RB Brand List
Daily & Breaking News — 6b0680d4aa
Weekly News Summary — 2a015f2199
Monthly News Highlights — 1ac689f32e
Announcements — ddc9654fce
HE Brand List
Daily & Breaking News — 8702a7ae5c
Weekly News Summary — 183d23dfa5
Monthly News Highlights — adc980e7e4
Announcements — bf2c20a135
IH Master List (bed098518d)
Cardiovascular Business — 9bfe88bf20
HealthExec — 201ff4eabf
Radiology Business — 21c5769702