Deep Dive

Made Minimal UX: The Operator Cockpit

The React dashboard at madescientificai.com — eyes onto everything the backend produces. 12 sections, 8 months of iteration, driven by the team's daily needs.

What Is Made Minimal

Made Minimal is the UX layer at madescientificai.com. Built on the Lovable platform, connected to Made's Transfer DB, codebase at MADE-SCI/minimal-science-hub on GitHub.

This isn't a CRM replacement. It's the operator cockpit — the reps don't need to understand the news pipeline or clinical trials API. They open Made Minimal, and the data is there, filtered, scored, and ready to act on.

The dashboard has been iterated through dozens of versions since the first mockup in October 2025. Melody shaped the layout. Lucy's campaign needs drove the campaign tracker. Greg's execution defined the outreach interface. Joe's architecture shaped the data model underneath.

Section Walkthrough

Accounts / CRM

3,973 CGT-gated companies, each a clickable record: company profile, ICP tier, clinical trials, drug candidates, contacts (sorted by department/seniority), LinkedIn URLs, email addresses, campaign history, news mentions, social engagement. The "gold sheet" from the backend, surfaced in a UI.

List Builder

9 server-side filter dimensions that turn the scored account universe into outreach lists:

9
Filter Dimensions
3,973
CGT-Gated Companies
1-Click
CSV Export
Direct
Campaign Creation

Filters: ICP Tier, Development Stage, Modality, Geography, Seniority, Department, Enrichment Status, Campaign Status, Event Participation. Real-time stats bar updates as you filter.

Lead Scoring (MAS v1.0)

Made Account Scoring — v1.0 handed off May 6, 2026. Multi-signal composite: ICP fit (T-M-C-R model), engagement signals (LinkedIn accepts, email opens, replies), intelligence density (how much we know), campaign history. Scores surface on account records and List Builder filters.

SSO Matrix Refinement

Joe's May 5 front-end. The 38-row messaging matrix — persona × ICP tier × messaging angle — is now editable through the UX. Reps and Lucy can view current assignments, adjust pain points and CTAs, preview effects on message generation.

Campaign Tracker / Campaign Tasks

FeatureWhat It Shows
Campaign overview28 campaigns — status, sender, channel, contact count, response rate
Contact timelinePer-contact: every touchpoint across LinkedIn and email, chronological
Executive leaderboardsSender performance across campaigns
Campaign tasks519 pending follow-ups visualized per rep
Cross-channel mergeSame contact in LinkedIn + email → unified view

On-Demand Message Generation

Per-contact interface: select contact → choose sender (each has a voice profile) → select persona and CGT focus → generate via generate-outreach-message v93 → review, edit, queue. The AI references Clay enrichment (clayHeadline, claySummary) and company positioning JSON.

Bulk Message Generation

Campaign-level: select list (e.g., ISCT 1,027 contacts) → configure sender/persona/tone → batch generate → review sample → push to HeyReach or EmailBison. This is how ISCT launched: 1,027 contacts, 3 senders, each message personalized.

News Intelligence Feed

Articles from the News Pipeline (2× daily, 18 RSS + 5 NewsAPI queries). Per-article relevance scores, entity tagging, market context, bookmarking and filtering. Made sees only made_sci scoped articles.

Social Listening

LinkedIn engagement via Trigify webhooks: who engages with Made's posts, who engages with competitors, warm prospect flagging. Note: PhantomBuster likers/commenters pipeline degraded. Trigify webhooks still working. Data may be partially stale.

Content Studio

AI content generation: LinkedIn drafts using each member's voice profile, content hooks from news/trials data, hook library, pillar alignment, image generation via DALL-E 3.

Pipeline (Sales)

Opportunities, stages, revenue forecasting. Synced from Salesforce via Joe's 2–3×/daily cron.

User Guide & Feedback

14-section built-in guide at /user-guide. Feedback widget on every page writes to user_feedback table — bugs, feature requests, comments without leaving the dashboard.

Cross-Channel Campaign Management

Email and LinkedIn are different channels, but they reach the same people. The unified contact view shows LinkedIn status, email status, both timelines merged, and "has been contacted via" badges. When a contact accepts a LinkedIn connection AND opens an email, the system flags it as warm.

Live Ops Indicators

SourceCadenceHealth
HeyReach campaignsEvery 6h + 15-min acceptsLive
EmailBison statsEvery 6hLive
Salesforce2–3× dailyLive
HubSpot contactsNightlyLive
Monday.com3× dailyLive
PandaDoc3× dailyLive
News Intelligence2× dailyLive
Social ListeningEvery 4hPartially stale

Eight Months of UX Evolution

Oct 2025
First mockup
Dashboard concept shared with Joe. Basic account browsing, contact display, early intelligence feeds.
Nov 2025
ATW event integration
Conference contacts added. "Cell Therapy" filter built (94 accounts via GlobalData).
Dec 2025
Custom domain
madescientificai.com purchased and configured. Login system work begins.
Jan 2026
Infrastructure standardization
Supabase + GitHub + Lovable locked. Revenue forecasting prototyped. 47K contacts loaded.
Feb 2026
Clay enrichment integration
FullEnrich email discovery + Clay person enrichment wired into contact records.
Mar 2026
Transfer DB migration
318-table CMDO → clean schema. App migrated. Domain confirmed. ICP messaging matrix v1.
Apr 2026
ISCT campaign launch
Campaign Tracker live. Bulk messaging tested (1,027 contacts). Greg onboarded. Campaign Tasks built.
May 2026
MAS v1.0 + Academy
Lead scoring handed off. SSO Matrix front-end shipped. Academy Starter Git rolled out.