Home / Portfolio / Case studies

Case studies by Sembian Balasubramanian

31 public case studies on AI transformation, agentic AI, Medical Affairs operations, PMO automation, congress and stakeholder intelligence, analytics and UX. Figures marked as estimates are not audited, and demos use synthetic data. A plain-text version is at llms-full.txt.

MAESTRO Agentic AI

Agentic AIMedical insights

AI-first buildL2 · human-agent teamInnovation

A human-agent team for Medical Affairs on the company's approved LLM gateway. A planner hands work to expert agents that turn thousands of field medical insights into strategic actions, care gaps, financial models and prioritized decisions, with a coverage check and a quality gate before anything reaches a person.

Try the interactive demo ↗
Specialist agentsfor strategy, insights, competitive intelligence and finance
LLM judgescores every report, with one bounded retry
  • Python
  • LangGraph
  • RAG
  • Chainlit
Read case study

Try the MAESTRO demo with sample data ↗

The problem

Strategic and financial planning drew on field insights, competitive intelligence, strategy documents and years of spend history. Pulling it together was manual and took months each planning cycle.

What I built

  • A LangGraph supervisor that routes each question to specialist agents for strategy, field insights, competitive intelligence, the scientific story, finance and research.
  • A report graph in which section agents run in parallel, a rule-based coverage gate checks completeness without an LLM, finance agents add the numbers, and an LLM judge scores the synthesis.
  • Self-reflective retrieval that filters irrelevant passages, searches further when evidence is thin, and tries again.
  • Five modes in one chat (Maestro Strategy, Maestro Insights, Maestro CI, Maestro Scientific Story and MFP Strategy), with every tool call and its query shown in the thread.
  • Model routing by role on the company's approved LLM gateway: a reasoning model for supervisor routing and synthesis, a retrieval model for the expert agents and a code model for pandas sub-agents, chosen in Settings and shown in a live status pill.

How it's governed

Citations are assembled in code from retrieved evidence, so the model cannot invent a reference. Multiple LLMs work under human-in-the-loop review, and every agent step is visible while it runs.

Where it went

MAESTRO's orchestration pattern now runs inside the MPM Control Tower as its cross-domain reporting layer.

Stack

Python · LangChain / LangGraph · RAG and deep-research workflows · Chainlit · pandas · LLM gateway (GPT and Claude models)

EURETINA Stakeholder AI Intelligence Map

Knowledge graphExpert engagement

AI-first buildL2 · human-agent teamStakeholder engagement

An AI-first rethink of expert engagement that answers what KOL lists can't: are we reaching the experts who shape evidence? It maps influence through guideline authorship and committee networks rather than publication volume, and shows where engagement has gaps.

Try the interactive demo ↗
0–100influence score across 11 transparent dimensions
10 modulesconnected across three lenses
  • React
  • TypeScript
  • Knowledge graph
  • Highcharts
Read case study

Try the Stakeholder Intelligence demo with synthetic data ↗

The problem

Traditional KOL lists rank experts by publication counts. They can't show who writes the guidelines and sits on the committees that shape retina care in Europe.

What I built

  • Ten connected modules across three lenses: influence scoring; EURETINA DME, RVO, nAMD and DR committee networks; and an IMA Engagement Planner that reveals coverage gaps.
  • A 0–100 influence score built from 11 weighted dimensions, led by guideline authorship, with every factor visible so the score can be challenged.
  • A knowledge graph of stakeholders, guidelines and evidence with centrality measures, community clustering and shortest-path search between experts.
  • An interactive demo with 48 invented stakeholders that simulates every module: overview, registry, guideline panels, guidance, disease map, RACI lifecycle, network map, influence profiles, engagement insights, a knowledge graph with shortest-path search, the publication pipeline, evidence attribution, the consensus panel and sources, with a full JSON export.

How it's governed

Evidence-attributed decision support: each stakeholder record links back to its sources, and people make the engagement decisions.

Stack

React · TypeScript · Vite · Tailwind · Highcharts · Recharts · jsPDF · prototyped in Figma Make, built with Claude Code

AI Strategy and Objectives Validator

Agentic AIMedical strategy

Process redesignL2 · human-agent teamBusiness processes

Strategy validation redesigned for the TNT and Eye Care pilot: every Strategic Imperative and Scientific Objective is tested against the NECSV 24 Leadership Themes and International MHIFP impact guidance before the workshop, so the room debates choices instead of wording.

9 dimensionsin the workshop readiness score
10 sectionsin the generated SAP Workshop Report
  • Node.js
  • LangChain JS
  • GraphRAG
  • D3
Read case study

The problem

Checking Strategic Imperatives and Scientific Objectives against leadership standards was a manual review, and workshop materials were assembled by hand for each team.

What I built

  • Extraction of imperatives and objectives straight from PowerPoint and PDF strategy documents.
  • Two-stage validation: a local rules engine runs first, then an LLM review against the 24 leadership themes and impact guidance.
  • A 10-section SAP Workshop Report, a 9-dimension readiness score, and Scientific Priorities with Discussion Topics ready for Veeva CRM.
  • An improvement loop that proposes revisions until an objective meets the standard, with version history for every profile.

How it's governed

Each uploaded document gets its own GraphRAG index, and generated text carries enforced inline citations back to the source.

Stack

Node.js · Express · LangChain JS · D3 · Tailwind · LLM gateway (GPT and Claude models)

Congress Competitive Intelligence with Copilot Notebooks

Copilot NotebooksCompetitive intelligence

Persona accelerationL2 · human-agent teamBusiness processes

Congress competitive intelligence that took several weeks to prepare now starts from one Copilot Notebook: the team shares CI APEX reports, publications, strategy team insights and country and affiliate insights as references, and saved prompts draft cited pre- and post-congress scientific summaries.

Try the interactive demo ↗
Several weeksof report preparation cut
Pre and postcongress scientific summaries drafted from shared references
  • Microsoft 365 Copilot Notebooks
  • Copilot Pages
  • CI APEX reports
  • Prompt library
  • Loop
Read case study

Try the Congress CI notebook demo with synthetic data ↗

The problem

Congress competitive intelligence came from many places: APEX reports, abstracts and sessions, press releases, publications and field medical insights. Each analyst kept their own copies, drafted sections by hand and merged versions, so a leadership report took several weeks to prepare.

What I built

  • Shared references: one Copilot Notebook where every function adds its content as references: CI APEX reports, publications, strategy team insights, country and affiliate insights, the congress programme and session notes.
  • Saved prompts: pre-congress and post-congress scientific summaries, a competitor readout, what changed since the last congress and a daily leadership summary, each drafted from the references.
  • Context architecture: notebooks organized by congress and competitor, with scheduled prompt delivery that surfaces the latest competitive insight in the team's own workflow.
  • Interactive demo: a simulated notebook with synthetic data: references you can switch on and off, Copilot answers with citations, pre- and post-congress summaries as Pages and a review checklist.

Result

Report preparation cut by several weeks, and a low-cost competitive intelligence capability that business users run themselves in Microsoft 365.

AI approach

Persona acceleration inside tools the team already uses. Prompts draw only on the references in the notebook, claims cite their source, missing sources are flagged rather than filled in, and people decide what reaches leadership.

How it scales

A new congress or competitor is a new set of references, not a new tool. The same pattern runs the Copilot Notebook Intelligence Hub and informs the proposed AI-Powered Competitive Intelligence Hub.

Stack

Microsoft 365 Copilot Notebooks · Copilot Pages · OneNote · Word · PowerPoint · prompt library

Retina Evidence Hub Automation

Agentic AIEvidence

Process redesignL2 · human-agent teamBusiness processes

Evidence screening redesigned: hours of manual literature review become a prioritized publication list aligned to field insights and TA strategy, with reviewers deciding what makes the cut.

Try the interactive demo ↗
7 stepsfrom retrieval to metadata, with a reviewer gate
To productionwith BTS for Eye Care International
  • React
  • TypeScript
  • Literature Library API
  • LLM gateway
  • Claude Code
Read case study

Try the Retina Evidence Hub demo with sample data ↗

The featured section Retina Evidence Hub walks through the architecture and the workflow screen by screen.

The problem

Therapeutic-area teams spent hours screening new literature by hand to decide which publications mattered for their strategy.

What I built

  • A seven-step agent workflow: retrieve new papers from Literature Library, evaluate them with AI, recommend, route to human review, publish to a curated hub, suggest tags and apply the metadata back to Literature Library.
  • Two scoring rubrics, one for general quality and one for alignment with TA strategy, plus AI summaries with version history.
  • Model routing across OpenAI and Anthropic models, with an automatic retry on a larger-context model when a paper is too long.

How it's governed

Nothing publishes without a reviewer's approval. The hub tracks AI–human agreement, performance by prompt and by model, coverage, and a full audit log.

Status

Partnering with BTS to move the pilot to production for Eye Care International, with a design that scales to other therapeutic areas.

How it was built

End to end in Visual Studio Code with Claude Code, from a Figma Make scaffold to the LLM gateway relay and the corporate design system.

Stack

React · TypeScript · Vite · Tailwind · Express · IndexedDB · Literature Library and LLM gateway APIs · Corporate design system · VS Code and Claude Code

Gap Assessment & AI Prioritization

AI prioritizationMicrosoft Copilot

Process redesignL2 · human-agent teamBusiness processes

One transparent prioritization rule for the Eye Care, TNT and Therapy Area 3 gap assessments (Anchor 6), developed with Microsoft Copilot in PowerPoint, Word and Excel, so every market ranks gaps the same way and the slides are rebuilt from the data, not by hand.

Try the interactive demo ↗
$60Ksaved on the Eye Care 2028 assessment
4,000Monte Carlo draws behind every rank band
  • Copilot in PowerPoint
  • Word
  • Excel
  • Python
Read case study

Try the gap assessment demo with sample data ↗

The problem

The global gap assessment gathers input from Areas and affiliates, then validates and ranks every evidence gap. Rankings disagreed across markets, small surveys swung results, and the slides and workshop framework were rebuilt by hand each cycle. In the Gap Assessment Tool, each brand's assessment moves through five review stages, from International to affiliates and Areas and back to International before it is finalized.

What I built

  • Prioritization Framework v2.0: one transparent rule applied the same way to Therapy Area 3, DME, RVO and Brand D. Mandate carries 45%, value for effort 40% and breadth 15%, each converted to a rank so they share one scale.
  • Value for effort divides impact by closure complexity after shrinking both toward the portfolio average, so a gap rated by two people cannot outrank one rated by twenty.
  • 4,000 Monte Carlo draws jitter the weights and the survey noise, so every gap gets a P10–P90 rank band instead of a falsely precise single number.
  • Four action tiers (act now, build, monitor, defer), with cut points nudged so statistically equivalent gaps stay together.
  • Priority heatmaps that compare every area and affiliate with the International anchor, such as 30 Therapy Area 3 gaps and 19 Brand D gaps, with contested ranges flagged.
  • One slide per gap with its trade-off position, survey spread, regional ranks, a feedback summary and an AI rewording drafted for approval.
  • Developed with Microsoft Copilot in PowerPoint, Word and Excel on one brand-neutral engine, with brand packs for Eye Care, TNT and Therapy Area 3.

How it's governed

Every figure is recomputed from the product's own heatmap and gap slides, and nothing is entered by hand. AI rewording is a draft the team approves, and nothing reaches a slide unless approved sources support it.

Outcome

Saved $60K on the Eye Care 2028 gap assessment.

Stack

Microsoft Copilot in PowerPoint, Word and Excel · Python · Monte Carlo simulation · Claude Code · React explorer app

CCG Consulting Plan Automation

Plan automationRules + LLM judge

Process redesignL2 · human-agent teamBusiness processes

Consulting plans redesigned around one standard: Copilot drafts each TA's annual plan, deterministic rule tests check it against the business guidance, and an advisory LLM judge scores it before it goes into iHub.

132 of 132rule tests pass on the Eye Care plan
4.4 of 5advisory judge score across eight weighted dimensions
  • Copilot
  • Claude skills
  • Python
  • Rule tests
Read case study

The problem

Each therapeutic area writes an annual consulting plan with strict rules for activity types, objectives, planned use of findings, expert numbers, dates and budget scope. Drafting and checking it by hand took weeks and still let errors through to review.

What I built

  • Copilot first drafts of the TA Annual Consulting Plan that draw on tactical plans and strategy documents to create objectives, rationale and expert cost estimates.
  • Plan-level fields pre-filled from the prior year, laid out to copy straight into iHub, with the review path and the rules that apply to this plan.
  • A validator skill that runs deterministic rule tests first (132 of 132 pass on the Eye Care plan), then has an LLM judge score each activity on eight weighted dimensions.

How it's governed

The rules decide pass or fail; the judge is advisory and a person makes the call. The validator never writes people's names into its findings, and every draft carries its version.

Stack

Microsoft Copilot · Claude skills · Python (PyYAML) · Excel consulting-plan template

Congress Journey & Expert Engagement Hub

Congress operationsAI-assisted planning

Persona accelerationL1 · assistantEmployee experience

An AI assistant for congress teams: a Copilot Notebook-powered hub for congress planning, milestone scheduling, deliverable tracking and expert engagement across the global congress calendar.

$40Ksaved per therapeutic area
46 rulesand 8 approval gates in the deadline model
  • Copilot Notebooks
  • React
  • TypeScript
  • Python
Read case study
Congress Hub milestone timeline
EURETINA 2026 milestone timeline: dates derived from the congress schedule, with owners and phase tags.

The problem

Congress planning spans abstracts, symposia, expert meetings, competitive intelligence and post-congress reporting, each with governance deadlines tracked in separate files.

What I built

  • Congress planning, governed-SLA milestone scheduling, deliverable tracking, expert engagement, competitive intelligence and abstract generation in one hub.
  • A deadline engine that derives every date from the congress dates in business days, separates required governance deadlines from planning estimates, and enforces approval gates.
  • Copilot Notebook automation for congress insights and planning, including pre-congress abstract content for EURETINA, EASL, GPIDN and INHSU.

How it's governed

Every deliverable links back to its source governance document. The model was specified with 21 deliverables, 8 approval gates and 46 validation rules, and it is covered by automated tests.

Outcome

Saves $40K per therapeutic area.

Stack

Microsoft Copilot Notebooks · React · TypeScript (MPM Control Tower module) · Python

Congress Abstract Intelligence

Congress intelligenceAI scoring

Process redesignL2 · human-agent teamBusiness processes

Turns congress programs and abstract books into scored, strategy-aligned intelligence: an LLM-ready program dataset, abstract dashboards ranked against the Scientific Alignment Plan, and one-click PowerPoint exports.

80 abstractsscored against 15 strategic themes for EASL 2026
~3,700EURETINA 2026 talks indexed from 7 sources
  • Python
  • JavaScript
  • pptxgenjs
  • Claude skills
Read case study

The problem

Congress programs and abstract books are spread across session pages, PDFs, ePoster galleries and satellite listings that change up to the last day. Teams had to read hundreds of abstracts to find the few that matter for their strategy.

What I built

  • A program pipeline that merges seven public feeds by precedence. For EURETINA 2026 that meant about 350 sessions, 3,700 talks, 2,183 abstracts and 1,759 ePosters, in a 36-sheet star-schema workbook and an LLM-ready corpus in which every record carries a citable ID.
  • Abstract intelligence dashboards, such as EASL 2026 for Therapy Area 3: 80 abstracts scored by AI and by the team, matched to 15 weighted strategic themes and mapped to the Scientific Alignment Plan's imperatives, objectives and gaps.
  • A potential score that blends AI score, team score and votes, a 0–10 evidence-confidence rating, and "Not reported" wherever a value is missing.
  • One-click exports to CSV, JSON and PowerPoint, with one or two slides per abstract and the full abstract text in the speaker notes.
  • A reusable congress-abstract skill that goes from program to abstract index to session tiering, benchmarked against a no-skill baseline.

How it's governed

Faculty conflict-of-interest data is deliberately left out, credentials are stripped from everything saved, and baseline diffing surfaces every program change.

Stack

Python (openpyxl, pdfplumber) · JavaScript · Tailwind · pptxgenjs · Claude skills with subagent evaluations

Copilot Notebook Intelligence Hub

Copilot NotebooksKnowledge synthesis

Persona accelerationL1 · assistantEmployee experience

Copilot Notebook frameworks that put an AI assistant into each role's workflow (Congress Hub, Evidence Intelligence, Gap Analysis and Competitor CI), plus a synthesis notebook that brings every knowledge source into one hub.

5 frameworkscongress, evidence, gaps, competitors and synthesis
20 sourcesin a single notebook, with every answer cited
  • Copilot Notebooks
  • OneNote
  • Word
  • Excel
Read case study

The problem

Congress debriefs, colleague insights, evidence reviews, gap registers and competitor intelligence lived in separate decks, documents and spreadsheets. Every leadership question meant re-reading all of them.

What I built

Five Copilot Notebook frameworks, each with its own sources, prompts and outputs:

  • Congress Hub: program datasets, session coverage and daily debriefs in one notebook. It answers logistics questions with rooms and times, and produces the pre-congress scientific story, master session coverage and post-congress summaries.
  • Evidence Intelligence: synthesizes scientific findings by theme, such as OCT biomarkers, into leadership-level insights with implications.
  • Gap Analysis: gap registers, survey results and heatmaps for each gap assessment cycle.
  • Competitor CI: one notebook per competitor product, producing competitive intelligence reports.
  • Intelligence Hub: a synthesis notebook across every knowledge source that produces the strategic intelligence report, infographics, audio overviews and spreadsheets.

How it's governed

Answers cite the notebook's own sources, so every statement traces back to a debrief, deck or dataset. Notebooks stay inside the Microsoft 365 tenant, and outputs are reviewed before they are shared.

Stack

Microsoft 365 Copilot Notebooks · Copilot Pages · OneNote · Word · Excel · PowerPoint

AI-Powered Competitive Intelligence Hub

Competitive intelligenceIntelligence hub

AI-first buildL2 · human-agent teamInnovation

A proposed intelligence hub that consolidates publications, congress reports, field insights and competitive intelligence into one governed repository with an AI prompt interface, so medical directors, brand directors and VP leadership each get the outputs they need.

4 sourcesin one governed repository
3 audienceswith tailored, versioned outputs
  • Copilot Notebooks
  • Graph RAG
  • Prompt library
  • PowerPoint and Excel export
Read case study
Proposed intelligence hub for Medical AffairsFour information sources (publications, congress reports, field insights and competitive intelligence) feed one governed repository and an AI prompt interface. The hub consolidates, analyzes, generates insights and delivers audience-specific outputs for medical directors, brand directors and VP leadership. Conceptual architecture; integrations to be confirmed.AUDIENCE-SPECIFIC OUTPUTSMedical directorsLatest publications and evidence updates · fieldmedical insights and trending topics · clinical andregulatory developmentsBrand directorsCompetitive intelligence and market updates ·implications for the business · materials for brandplanningVP leadershipExecutive summary · key insights and trends ·strategic implicationsINTELLIGENCE HUB · CONSOLIDATE → ANALYZE → GENERATE INSIGHTS → DELIVER VALUERepositoryIntegrated data and content from every source: publications, congress reports, fieldinsights and competitive intelligence, with secure, governed accessAI prompt interfaceNatural-language questions and predefined prompts that summarize, analyze and drafttailored deliverables, exported to PowerPoint and Excel with version controlINFORMATION SOURCESPublicationsScientific literature, recentpublications and full text whereavailableCongress reportsConference reports, presentationsand abstracts, and congress emailsField insightsInsights from MSLs and DPOs,medical, commercial and marketaccess, meeting notesCompetitive intelligenceCI reports and news, congressinsights, investor updates and pressreleases
The proposed intelligence hub: four sources, one governed repository and an AI prompt interface, and outputs for three audiences. Redrawn from the concept slide.

The problem

Intelligence arrived through publications, congress reports, MSL insights and CI reports in different places, and each audience rebuilt its own summary.

How the hub works

  • Consolidate: publications, congress reports, field insights and CI land in one repository with secure, governed access.
  • Analyze: natural-language questions and predefined prompts run against the repository, not the open web.
  • Generate insights: the interface drafts tailored deliverables (evidence updates, CI briefs, executive summaries).
  • Deliver value: outputs export to PowerPoint and Excel with version control, shaped for medical directors, brand directors and VP leadership.

AI approach

An AI-first build with a human-agent team: a governed repository and prompt library inside the company boundary, with analysts and directors reviewing every deliverable.

How it scales

It builds on the Copilot Notebook Intelligence Hub and the Control Tower's insights graph, and adds sources without changing the interface. The retina landscape visualization in Launch Excellence is one example output.

Status

Conceptual architecture; integrations to be confirmed.

Stack

Copilot Notebooks · Graph RAG · prompt library · PowerPoint and Excel export

Medical Affairs Spend Insights: 5-Year Power BI Analysis

Financial analyticsPower BI

Data foundationAI-ready dataBusiness processes

The data foundation for spend decisions: 60 Excel files of five-year US and International spend combined into one Power BI model, so the PMO can standardize costing and spot risky spending patterns. Published for and used by the MPM team.

60 filesof US and International spend in one model
5 yearsof plan, latest estimate and variance trends
  • Power BI
  • Power Query
  • DAX
  • Excel
Read case study

The problem

Five years of Medical Affairs spend sat in 60 separate Excel files across US and International teams, in different layouts. There was no shared view of what an activity should cost, and spend that drifted from plan surfaced late.

What I built

  • One model from 60 files: Power Query combines the workbooks into one table of tactics with year, TA and cost center, activity category, plan, RTG, latest estimate, variance and quarterly shifts.
  • KPI measurement: cards for plan, plan plus RTG, RTG, latest estimate, variance and tactic counts, with the mean, median and standard deviation of spend per tactic.
  • Spending-pattern views: quarterly shifts by year, allocation by category, the largest unfavorable-to-favorable categories, a variance drill-through and an outlier scan.
  • Slicers that match how the PMO works: year, TA and cost center, RTG status (none, credit, received) and variance status (new unfavorable, favorable, on target, unfavorable).

How the PMO uses it

Standard costs for each activity category come from five years of actuals, using the mean, median and spread rather than a single average. Risk shows up as patterns: variance that repeats by quarter, category or cost center. The dashboard is published in Power BI and used by the MPM team for planning and quarterly reviews.

Stack

Power BI Desktop and Service · Power Query · DAX · Excel

AI-Enabled Financial Planning Dashboard

Investment planningBudget allocation

Process redesignL2 · human-agent teamBusiness processes

An interactive allocation dashboard for Eye Care 2027 planning. It bridges every function's allocated budget to the approved plan task, classifies each tactic as cut to zero, trimmed or held, and pivots the result by indication, asset, category, group, priority and function.

3 outcomesper tactic: to zero, trimmed or held
6 pivotsindication, asset, category, group, priority, function
  • HTML
  • JavaScript
  • Python
  • Budget export
  • Data visualization
Read case study

The problem

When the approved plan came in below the allocation, teams needed to see exactly where money came out, by indication, asset and category, and which tactics were cut, trimmed or protected.

What I built

  • An investment snapshot and reduction KPIs: allocated against plan, total reduction, and how many tactics were released, trimmed or protected.
  • A bridge from allocated budget to plan task that pivots by indication and group, indication, asset, category, tactics group or function, with hover detail for each step.
  • Allocation by indication and tactics group, the largest tactic-level reductions, and an allocation matrix shaded by depth of reduction.
  • Tactic detail with scientific objective and rationale on click, sortable columns and launch flags.

AI approach

AI-powered process redesign with a human-agent team: a deterministic bridge and classification set every number, and an AI-aided layer drafts the prioritization for the planning team to decide.

How it scales

It reads the budget export directly, so another TA's plan drops in without rework.

How to read the screens

Numbered outlines mark the areas each caption describes. Amounts, shares, counts, tactic IDs and names and asset codes are blurred.

Stack

HTML · JavaScript · Python · budget export (Excel) · data visualization

Launch Excellence & Data Visualization

Launch dashboardsData visualization

Data foundationAI-ready dataStakeholder engagement

Medical launch dashboards that put cross-functional launch signals on one page: initiation and titration, field medical engagement, adverse-event themes and a weekly performance roll-up, plus an axonometric view of the competitive landscape.

Try the interactive demo ↗
3 launch viewscross-functional, field medical and performance
6 stratain the competitive landscape visualization
  • Power BI
  • PowerPoint
  • Data visualization
  • Infographic design
Read case study

Try the launch dashboards with synthetic data, weeks 1 to 12 ↗

The problem

Launch teams tracked initiations, field engagement and safety signals in separate reports, so the weekly picture took hours to assemble and was hard to read at a glance.

What I built

  • Cross-functional key highlights with patients initiated, setting of initiation, time to optimization, patient profile, adverse events and switch sources.
  • Field medical highlights: HCP discussions, MSL scientific meetings by type and expertise, engagement by state, discussion topics and a key insights table.
  • A global performance roll-up with initiation by state, discontinuation reasons and infusion-site events, plus field medical, medical access and medical information summaries.
  • An axonometric data visualization of the retina landscape that reads from the ground up: indication planes, technology layer, sponsor lanes and stage heights.

AI approach

Data foundation: one visual language for launch signals that people read in seconds and AI can summarize without guessing.

A note on what's shown

The dashboards are SAMPLE templates with placeholder values. Product and study names and all comment and insight text are blurred, and every label on the poster is blurred.

Stack

Power BI · PowerPoint · data visualization · infographic design

Medical Review Workload & Resourcing Insights

Resourcing analyticsAI-assisted analysis

Process redesignL2 · human-agent teamBusiness processes

An AI-assisted resourcing analysis for International Eye Care medical review. Four years of workload, funding, invoices and timesheets are reconciled in one dashboard, with a backtested 2027 projection and costed resourcing options for leadership.

9 viewsfrom workload to resourcing options
5 methodsbacktested before the 2027 projection
  • Python
  • pandas
  • Statistics
  • Data visualization
  • AI-assisted analysis
Read case study

The problem

A contracted review line was running over plan while deadlines slipped, and the ledger, the timesheets and the supplier's invoices told three different stories.

What I built

  • Workload and funding views: volume, review type and brand mix, turnaround, document size, demand sources, burn against plan and unit cost.
  • A three-way reconciliation of invoices, timesheets and the ledger, and an effort regression that tests whether hours follow workload.
  • A 2027 projection from five forecasting methods, backtested walk-forward, bias-corrected and checked with regression diagnostics, with three independent routes to the requirement.
  • Resourcing insights and options: capacity, concentration risk, seasonality, rework and funding, each option costed against the funding line, plus data-quality flags.

AI approach

AI-powered process redesign with a human-agent team: AI drafts every view and narrative, deterministic reconciliation sets the numbers, and leaders make the resourcing call.

How it scales

The pipeline reads the same three exports (workload, funding, invoices and timesheets), so any contracted review line can be analysed the same way.

A note on what's shown

Only titles and labels are legible. People's names, the vendor, amounts, IDs, rates and findings are blurred.

Stack

Python · pandas · statistics (OLS, backtesting, diagnostics) · HTML dashboard · AI-assisted analysis

Process Mining: Intake to PO Contracting Optimization

Process mining · CelonisFinance & purchasing

Process redesignAI-ready dataBusiness processes

Process mining in Celonis on more than 100 Medical Program Management contracting timelines, from tactic intake to PO ordered: the real process map, its variants and rework loops, and where the days go, turned into an optimized workflow for finance and purchasing.

Try the interactive demo ↗
100+contracting timelines mined, intake to PO
6workflow improvements, each measured by replay
  • Celonis
  • Process mining
  • PQL
  • Python
  • pandas
Read case study

Explore the process map, variants, bottlenecks and the optimized workflow on synthetic data ↗

The problem

Every advisory board, symposium and consultancy needs a contract and a purchase order before the event. Teams felt the process was slow but could not say where: the steps sat in different systems (the tactic tracker, contract approvals and purchasing), and late POs pushed events, spend and accruals around at month end.

What I built

  • An event log: one row per activity per contract, from tactic intake through review, budget confirmation, quote or FMV rate, compliance review, drafting, approval routing, signature, requisition, approval, PO created and PO ordered, joined on the tactic and contract numbers from the tracker and purchasing status exports.
  • Process mining in Celonis: the discovered process map, variant explorer and throughput times across more than 100 contracting timelines, with PQL measures for median and P80 wait per hand-off, rework rate and lead time to the event.
  • Root causes: throughput cut by spend category, stakeholder type (vendor, consultant, internal function), contract amount and purchasing owner. The days sat in queues, not work: approvals, signature and the hand-off from an executed contract to a requisition.
  • An optimized workflow: guided intake with required fields and validated coding, compliance review in parallel with drafting, pre-approved templates for low-value work, approval SLAs with escalation, and requisitions created automatically on signature through SmartSync.

How it's governed

The analysis measures the process, not people: owners appear as roles, and compliance review stays mandatory; only its timing moves. Every recommendation was agreed with finance, purchasing and compliance before it changed the workflow.

Outcome

A shared, data-backed picture of where intake-to-PO time goes, and a to-be workflow that finance, purchasing and program management could act on. The interactive demo rebuilds the analysis on a synthetic log of 126 cases shaped like the real tracker: replaying them with all six improvements cuts the median from intake to PO by about 40% and lifts POs sent two weeks before the event from 83% to 94%.

Stack

Celonis (process explorer, variant explorer, PQL, analysis views) · Python · pandas · Excel tracker and purchasing exports · Asana · SmartSync automation

Women's Health Site: Information Architecture

Information architectureWomen's health education

Digital foundationWeb designInnovation

A site map for a women's health education library: condition hubs with the same pattern of series, provider insights, symposia, a 360 immersion library and resources, and a proposal to put one filterable 360 library in the main navigation.

View the site map ↗
3condition hubs in one tree
2navigation changes proposed
  • Site map
  • Navigation design
  • Content structure
Read case study

The problem

A library of video and 360 content grows one condition at a time, and each new hub repeats the same sections. A clinician who wants one mechanism has to know which condition it belongs to before they can find it.

What I built

A site map as a tree, rebuilt in my own words from the public navigation of the site: a home page, condition hubs, and in each hub a foundation series, provider insights, symposia, a 360 immersion library, advocacy and partnerships, and resources. The tree is interactive in the demo, so the structure is easy to compare across hubs.

Proposed changes

Put one 360 library in the main navigation, filterable by symptom, so content can be reached without choosing a condition first. Keep the same card pattern in each hub so the library works on phones, and move contact and privacy links from the header to the footer.

Outcome

The synthetic demo shows the tree and the proposed library entry point. The measures that would test the change are on the companion card.

Women's Health VR & 360-Video Experience

Immersive mediaWomen's health education

Digital foundationWeb designInnovation

A women's health education library built from 2D video and 360-degree virtual immersion: an information architecture for its condition hubs, an original 360 preview, and the analytics strategy and conversion funnel that show whether immersive content moves a clinician to the next step.

Try the 360 preview and funnel ↗
3views: site map, 360 preview, funnel
7funnel steps, from session to contact
  • Information architecture
  • 360 video
  • Virtual reality
  • GA4 events
  • Conversion funnels
  • Accessibility
Read case study

Open the synthetic demo: site map, 360 preview and funnel ↗

Where this sits in the portfolio

Women's health education is a library of short videos and, for some topics, 360-degree virtual immersion. Clinicians use the immersive scenes to see a mechanism or an anatomy from inside, then go on to a symposium, a tool or a contact. This case covers that library's structure, its previews, and how its success would be measured. Every figure and scene in the demo is synthetic.

Information architecture

I rebuilt the public navigation of a women's health site for healthcare professionals as a tree. The home page leads to condition hubs; each hub has the same pattern: a foundation series, provider insights, lecture series and symposia, a 360 immersion library, advocacy and partnerships, and resources. The proposed change puts one 360 library in the main navigation, filterable by symptom, so a clinician can find a mechanism without first choosing a condition. The same card pattern works on phones, and contact and privacy links move to the footer.

360 previews

Each immersive scene is a set of hotspots over a single panorama. The preview in the demo is drawn in code from invented shapes, with keyboard and pointer control and labelled markers. The hard rule for this work: the scene is illustrative, not medical content, and any real library would be licensed or produced by its owner rather than copied into a portfolio.

State of the art

Web 360 video works best when it reuses the content of the virtual reality modules behind it. One source asset then serves a desktop browser, a phone and a headset, and the same storyboard and transcript carry the accessibility text. The design choice is to keep one production source and derive each viewing mode from it, rather than produce a separate web version.

Analytics strategy

The goal is a clinician who moves from a hub to a resource, a symposium or a contact. Seven steps form the funnel: session, hub viewed, video or 360 started, 360 interaction, resource downloaded, contact started and contact completed. The events are hub_view, video_start, immersion_interact, resource_download, contact_start and contact_complete, each with a short parameter list and no personal data. Analytics stays off until the visitor consents, and the 360 viewer sends only drag and marker events, never the scene or a visitor identifier. The demo's funnel uses invented counts per 10,000 sessions, split by device, to show where the largest drop sits.

Stack

Information architecture · 360 panorama viewer in plain JavaScript · Canvas · GA4 event model · Roboto · WCAG-minded controls

SmartSync: Budget Sync to Asana

IntegrationPortfolio operations

Data foundationAutomationBusiness processes

The automation layer under the planning work: a Python sync keeps every tactic's plan, latest estimate, actuals, remaining budget and variance current in Asana, from finance workbooks and, since 2025, ATLAS exports.

164 taskssynced across 3 projects in under 5 minutes
23 categoriesof spend mapped to Asana dropdowns
  • Python
  • pandas
  • Asana API
  • openpyxl
  • threading
Read case study

The problem

Tactic budgets, latest estimates and actuals lived in finance workbooks, while the work itself was tracked in Asana. Reconciling them by hand was slow, and drift from plan surfaced late.

What I built

  • Tactic-level sync: every Asana task is a tactic, matched on its tactic ID. pandas computes plan, plan plus new funding, latest estimate, year-to-date actuals, remaining budget, variance and budget-goal percentage, and the sync writes a field only when its value changes.
  • Project rollups: eleven project-level fields, including quarterly shifts between plan and latest estimate and the spending rate.
  • Variance status rules: a dropdown set to favorable, unfavorable, on target, not funded, grid error or a large-variance flag, with a templated budget-change note for the task.
  • Category mapping and gap checks: 23 spend categories mapped to Asana dropdown values, and a report of tactics in the budget file that are missing from Asana (the 2024 version created them).
  • Runs on its own: in 2024, a loop with one thread per budget grid refreshed every 30 minutes and posted an error status to a monitoring project if a run failed.
  • Sources that moved with the business: Excel budget grids in 2024, ATLAS plan and latest-estimate exports in 2025, and the 2026 layout, which adds geography, contract amount remaining and spending status.

Outcome

In the 2025 run, 164 tasks across three Asana projects synced in under five minutes with no API errors. Teams see budget movement on the task itself, and with the SmartSync Tactical Model budget variance fell 20% across $10M Neurology and Women's Health portfolios.

Stack

Python · pandas · numpy · openpyxl · python-asana · threading · tqdm · python-dotenv

SmartSync Tactical Model: Random Forest Budget Risk Prediction

Machine learningML Ops

Process redesignL2 · human-agent teamBusiness processes

A random forest trained on five years of tactical budget grids reads each tactic's monthly plan and latest-estimate pattern, predicts its year-end spend and variance, and syncs the Predicted LBE and a budget-risk status to Asana every hour, so teams see overspend and underspend months earlier.

Try the interactive demo ↗
0.95 R²on a held-out year of tactics
20%reduction in budget variance
  • scikit-learn
  • Random forest
  • SHAP
  • joblib
  • Asana API
Read case study

Try the model on synthetic data: risk board, forecasts, ML Ops and the Asana sync ↗

The problem

Latest best estimates (LBE) were updated by hand in finance grids, and a tactic heading for overspend or underspend often wasn't visible until late in the year, when money could no longer move. SmartSync already copied the grids into Asana; it could report variance but not anticipate it.

What I built

  • Historical data: five years of tactical budget grids (2019 to 2023) read from the finance workbooks into one master grid: every tactic's monthly plan, new spend and LBE, with its therapy area, cost center and tactic category.
  • Feature engineering: twelve months of plan, new spend and LBE; quarterly plan, LBE, variance and shift; plan and LBE totals; total variance; and spend-pattern labels (on target, favorable, unfavorable, cancelled, new and placeholder) from five years of outcomes. Correlation analysis and PCA showed which signals overlap.
  • The tactical model: a scikit-learn RandomForestRegressor trained on four closed years and tested on the fifth, cross-validated ten-fold, explained with SHAP and saved as a versioned joblib file.
  • Scoring and sync: the hourly SmartSync job loads the model, rebuilds each tactic's features from the current grid, predicts the year-end LBE and writes the Predicted LBE beside the reported LBE in Asana and Smartsheet. It sets the variance status (favorable, unfavorable, on target or not funded, with large-variance flags), pins a budget-change story on the task and posts a project status when the run completes or fails.
  • Model comparison: gradient boosting, XGBoost, LightGBM and CatBoost were benchmarked against the random forest, with experiments in PyTorch embedding models and Prophet.

Model Development & ML Ops

  • Walk-forward validation: train on closed years, test on the next year against its year-end truth, never on a random split of the same year.
  • Results: R² of 0.95 on the held-out 2023 tactics and 0.86 on the validation split; ten-fold cross-validated mean absolute error is recorded with every retrain so versions can be compared.
  • Versioning and retraining: each planning year's model is retrained after year-end close and saved with a version, so a sync always names the model it used.
  • Monitoring: feature importance and SHAP are compared between versions to catch drift, and every run posts its status to the Asana project so a failed sync is visible the same hour.
  • Security: API tokens belong in environment variables, never in notebooks; the demo and this case show no real tactics, budgets or IDs.

How it's governed

The prediction sits next to the reported estimate, never in place of it, and SHAP explains what drives each forecast. Finance and program owners decide what to move.

Outcome

Budget risk now surfaces months earlier in the tools teams already use. With SmartSync, budget variance fell 20% across $10M Neurology and Women's Health portfolios. The interactive demo reruns the whole pipeline on synthetic data: its random forest, trained on four invented years, beats the reported estimate through September of the fifth.

Stack

Python · pandas · scikit-learn (RandomForestRegressor, cross-validation, PCA) · SHAP · joblib · XGBoost · LightGBM · CatBoost · PyTorch · Prophet · Asana API · Smartsheet SDK · threading for parallel grid syncs

Power BI Reporting: Financial PLN & EE Panel Insights

Financial reportingPower BI

Data foundationAI-ready dataBusiness processes

Two Power BI dashboards that make planning questions self-serve. Financial PLN Reporting breaks the committed and planned budget down from function to tactic, and EE Panel Insights maps the external expert panel by segment, level of expertise and territory.

5 levelsof budget drill-down, from function to tactic
11 territoriesof expert coverage on one map
  • Power BI
  • DAX
  • Power Query
  • Excel
Read case study

The problem

Budget questions arrived by function, business unit, indication or congress, and every answer meant another spreadsheet pivot. Expert panel lists lived in separate files by territory, so coverage gaps were hard to see.

What I built

  • Financial PLN Reporting Dashboard: committed and planned views of the annual budget, and a decomposition tree from function (US, EP&E, HEOR and International) through business unit, indication, tactic category and tactic, with filters for congresses such as AAN, MDS and EAN.
  • Budget mix and tactic table: the share of budget by tactic category (evidence generation, medical education, consultancy, internal meetings and training), a ranked tactic table, and priority tiers for core time-critical and time-flexible work.
  • EE Panel Insights Dashboard: a filled map of the external expert panel by state, slicers for segment, level of expertise (local, regional and national), commercial overlap and territory, and a roster with designations and territories.

How it's used

Published in Power BI for the MPM team. Planning leads answer budget questions during PLN and quarterly reviews instead of after them, and teams check expert coverage by territory before they plan engagement. It sits alongside the five-year spend insights model.

Stack

Power BI Desktop and Service · Power Query · DAX · decomposition tree · filled map · Excel

Narrative Data Visualization: Causes of Death in the US

Interactive D3.js data storyUIUC CS 498

Data foundationData storytellingStakeholder engagement

A hand-coded D3.js narrative visualization of US death rates from 2000 to 2017, built on the martini glass structure: three annotated scenes walk the reader through the rise in Alzheimer's disease deaths, then the chart opens up so they can explore 18 causes by gender and race.

Explore the live chart ↗
4 scenesthree guided by annotations, one open to explore
18 causesof death, 2000–2017, by gender and by race
  • D3.js
  • JavaScript
  • SVG
  • Data storytelling
  • Narrative visualization
  • CDC data
Read case study

Explore the live chart ↗

The brief

The final project for my UIUC data visualization course (CS 498), part of the Master of Computer Science: a narrative visualization that guides the reader through the key facts in a public dataset, then lets them explore it. Every scene, annotation and transition is hand-coded in D3.js v5, with no charting or annotation library.

The martini glass structure

The stem is author-driven. Scene 1 sets Alzheimer's disease beside the leading causes of death (heart disease, cancer, unintentional injuries and chronic lower respiratory diseases), scene 2 splits it by gender and scene 3 by race. Each scene has a headline, a short narrative, an annotation and one button forward, so every reader gets the same story in the same order. The bowl is reader-driven: scene 4 unlocks a menu of 18 causes plus all causes, All, By Gender and By Race views and tooltips on every point, and Restart replays the story.

What I built

  • Scenes and parameters: one chart and one update function driven by a small state (the scene, the selected cause and the grouping), so each scene re-renders the same chart rather than drawing a new one.
  • Annotations: a custom annotation layer, with a callout box sized to its text, leader lines to the 2013 and 2017 values, and the rising points recoloured and labelled with their rates.
  • Triggers: story buttons, a cause menu built from the data, grouping buttons, hover tooltips with the cause, rate, year and group, and Restart.
  • Transitions: lines draw themselves with a stroke-dash tween, and points and labels move through enter, update and exit joins, so the reader can follow what changed between scenes.
  • Data: CDC National Center for Health Statistics, Health, United States, 2018, Table 005: age-adjusted death rates per 100,000 by cause, sex, race and Hispanic origin, prepared as a tidy CSV (category, cause, year, rate) and loaded with d3.csv.

What the story shows

Heart disease and cancer still lead, but Alzheimer's disease is the cause on the rise: its age-adjusted death rate climbed from 23.5 per 100,000 in 2013 to 31 in 2017, the highest in the 18 years shown. It rose for women (25.9 to 34.8) and men (19.3 to 24.9) and across race groups, and was highest for White Americans (32.3 in 2017).

Where the pattern applies

Leadership dashboards benefit from the same structure: lead with the one insight, annotate it, then hand over the filters. My Power BI work is in Launch Excellence & Data Visualization and Medical Affairs Spend Insights.

Stack

D3.js v5 · JavaScript · SVG · HTML and CSS grid · CDC NCHS data (CSV) · static hosting

Fast Start Framework: Strategic Planning

Planning frameworkClaude Code + Copilot

Process redesignL2 · human-agent teamBusiness processes

One planning framework used across TNT, Therapy Area 3 and Eye Care. Claude Code built its interface and PowerPoint templates, and Claude and Copilot create the visuals, saving $150K in vendor support and slide development. For Eye Care it turns 16 inputs into a 325-slide workshop deck, an SAP pre-read, a swimlane and R&R tool and an A0 roadmap poster.

$150Ksaved in vendor support and slide development
3 TAsTNT, Therapy Area 3 and Eye Care on one framework
  • Claude Code
  • Copilot
  • pptxgenjs
  • Python
Read case study

Inputs to outputs

Fast Start Framework: inputs to outputsSixteen inputs in four groups (strategy, budget, evidence and insight, rhythm and design) are parsed into one data model. Claude Code skills and Copilot prompts draft the content, builders lay it onto the therapeutic area's PowerPoint master, and automated checks run before release. The outputs are the workshop deck, the SAP pre-read, the consulting plan deck and workbook, the swimlanes and R&R tool, and an A0 roadmap poster, for Eye Care, TNT and Therapy Area 3.16 INPUTSStrategyBrand and tactical plans · Scientific AlignmentPlans (SI/SO) · launch guidance and milestones ·last year's prioritiesBudgetBudget workbook and investment-priorities grid ·allocation dashboard · consulting-plan guidance,template and spendEvidence and insightGap assessment (impact × closure) · fieldinsights and post-congress readouts · quarterlyevidence review · congress calendarRhythm and designGovernance calendar and planning timeline ·agenda and theme deck · SAP-review guidance ·the TA's design systemFAST START PIPELINEParsePython parsers turn every input into one JSONdata model; a missing input shows as ‘inputpending’.Draft with Claude Code and CopilotSkills and paired prompts write each slide'scontent, sized to Copilot's limits, with avalidation list per slide.Buildpptxgenjs builders lay out every block on theTA's PowerPoint master; one data model feedsdeck, tool and poster.CheckLayout lint for overflowing text, SAP coverage,consulting-plan rule tests with a scoredjudgement, and 328 checks on the HTML tool.OUTPUTSWorkshop deck325 slides for Eye Care, on the TA masterSAP executive pre-read107 slides: six elements per assetConsulting planPlan deck plus a filled Excel workbook for iHubSwimlanes and R&R toolOne self-contained HTML file with 16 tabs:worldwide view, swimlanes, budget, evidence,strategy mapA0 roadmap posterEvery tactic, the governance rhythm and theevidence on one pageEDITIONSEye Care & SpecialtyTNTTherapy Area 3Built with Claude Code and Copilot: about $150K saved in vendor support and slide development
Sixteen inputs in four groups feed one data model. Claude Code skills and Copilot prompts draft the content, builders lay it onto the TA's master and automated checks run before anything is shared. Drawn from the framework's own input register.

The problem

Every therapeutic area runs the same planning workshop, yet each team rebuilt its deck, pre-read and swimlanes from scratch, gathered source documents by hand and paid vendors to design slides.

What I built

  • One framework for every TA: four goals and sixteen components, now used across TNT, Therapy Area 3 and Eye Care, with a 96-slide template that pairs each slide with Copilot prompts and a validation list.
  • Interface and templates built with Claude Code: the swimlanes and R&R tool (one self-contained HTML file with 16 tabs) and the PowerPoint templates on each TA's master.
  • A build pipeline from 16 inputs: strategy, budget, evidence and insight, and rhythm and design inputs become, for Eye Care, a 325-slide workshop deck, a 107-slide SAP pre-read, a consulting plan, the tool and an A0 poster, all from one data model.
  • Visuals made, not commissioned: heatmaps, gap landscapes, swimlanes, scorecards and roadmaps are generated with Claude Code and Copilot instead of being designed slide by slide by vendors.

How it's governed

A missing input shows as ‘input pending’ rather than being invented. People and roles are typed in during the workshop, never generated. Layout, coverage and rule checks run on every build, and every format carries its version, so the deck, pre-read, tool and poster never drift apart. The consulting plan that follows has its own automation and checks.

Outcome

About $150K saved in vendor support and slide development, and every TA starts its planning cycle from the same proven pack.

Stack

Claude Code · Claude skills · Microsoft Copilot · Node.js with pptxgenjs · Python (python-pptx, PyYAML) · HTML and JavaScript

HEAP-DL: Deep Learning for Healthcare Cost Prediction

Deep learningMaster's thesis

AI researchModelInnovation

My deep-learning thesis project for the Master of Computer Science (AI & Data Science) at the University of Illinois: a neural network with entity embeddings that predicts payer cost from claims data, explained with SHAP and integrated gradients.

Watch the walkthrough ↗
RMSE 0.766on the held-out test set, scaled target
4 × 50hidden layers with embeddings, BatchNorm and dropout
  • PyTorch
  • SHAP
  • Captum
  • scikit-learn
  • pandas
Read case study

Watch the HEAP-DL walkthrough on YouTube ↗

The problem

Payers need to anticipate the direct cost of care, but cost depends on interactions between diagnosis, procedure, place of service, provider specialty and patient factors that linear models miss.

What I built

  • A data pipeline over 2015–2016 IQVIA PharMetrics claims: aggregation, joins to enrollment, diagnosis, place-of-service and revenue-code lookups, derived age group and length of stay, and quantile-based outlier removal.
  • Baseline regression models, explained with SHAP, to set the bar and understand the drivers.
  • HEAP-DL, a feed-forward network: categorical features become entity embeddings (with dropout), then four hidden layers of 50 neurons with ReLU, BatchNorm and 0.2 dropout. It predicts a transformed sum of paid amount, dispensing fee and copay, the payer's direct cost.
  • Explainability for the network with Captum layer integrated gradients.

Result

HEAP-DL reached an RMSE of 0.766 on the held-out test set (scaled target), and its predicted cost distribution tracks the test data across record types.

Stack

Python · pandas · PyTorch · scikit-learn · SHAP · Captum · seaborn · Jupyter

Asana Enterprise PPM, Resource Planning & Goals

Portfolio managementAsana Champion

Digital foundationWork graphBusiness processes

The work graph behind the portfolio's 537+ planned and tracked projects: Asana Enterprise with goals and OKRs, resource planning, workflow automation and API integration, and 100+ custom fields templated by activity category. As the MPM group's Asana Champion I run training and onboarding, and led a 10-user pilot of bundles and task types.

537+projects planned and tracked, 2019–2026
100+custom fields, templated by activity category
  • Asana Enterprise
  • Goals & OKRs
  • Workload
  • Rules
  • Asana API
Read case study

The problem

Neuroscience and Women's Health programs ran on disconnected trackers. Budget data sat in silos, reporting was manual, nobody could see who was over-allocated, and leaders lacked a portfolio view.

What I built

  • Portfolios and goals: an Asana Enterprise rollout with goals and OKRs that roll up from projects to portfolios, and portfolios of priorities that show status, task and milestone progress at a glance.
  • Resource planning: workload views with percent allocation, so capacity across portfolios is visible before work is committed.
  • Custom fields and templates: more than 100 custom fields, managed through templates for each activity category, so every new project starts with the right fields, sections and rules.
  • Template management with bundles: project templates with sections, tasks due relative to the event, project roles and dependency settings (an international Eye Care symposium template, for example), and bundles that apply one set of custom fields everywhere: the USMA tactical grid bundle carries 28 fields across 54 projects and 3 templates, with its financial values kept current by SmartSync.
  • Workflow automation: rules for intake, status changes, approvals and hand-offs, which replaced manual follow-up.
  • Advanced API integration: SmartSync writes plan, latest estimate, actuals and variance into custom fields through the Asana API, and the MPM Control Tower syncs both ways: Asana goals feed its strategy map, and the ranked tactic plan goes back to Asana as tasks.

Event templates: roadmaps from event day

Templates for advisory boards, congress symposia and booths schedule every task from the event day, so a new project gets its whole timeline, owners and approval steps from one date. The roadmaps below summarize the phases and milestones.

High-level roadmaps from three of my Asana templates, in weeks before and after the event. Select a phase or milestone for its tasks.

Advisory board

Objectives, advisors & vendor RFP
SOW, PO & kickoff
Advisor contracts
Agenda, pre-reads & slides
Medical & compliance approvals
Venue, invitations & travel
Thank-yous, invoices & summary
Milestones

Congress symposium

Decision to attend & budget
Sponsorship package & vendor RFP
Speakers, agenda & contracts
Content, materials & approvals
Competitive intelligence plan
Field pull-through
Close-out, evaluations & insights
Milestones

Congress booth

Kickoff & objectives
Booth space, sponsorship & payment
Content vendor contract
Design & renderings
Content & medical approvals
Badges, staffing & training
Build, ship & install
Live, debrief & metrics
Milestones

Select a phase or milestone to see what happens in it.

Asana Champion for the MPM group

  • Training and onboarding for the MPM group, from first project to portfolio reporting.
  • A 10-user pilot of bundles (shared sets of fields, rules, sections and task templates applied across projects) and custom task types, before wider rollout.

Today in Eye Care International

  • Strategic planning timelines that put gap-assessment workstreams, congresses, webinars and evidence reviews on one plan.
  • Expert-engagement plans that track approval status, country contracting status, lead times and hours for every engagement.
  • A tactical budget tracker and dashboard on custom fields, kept current by SmartSync and flagged with its sync status.

Outcome

537+ projects planned and tracked across five cost centers from 2019 to 2026, with every budget line in view. Alongside the rollout I deployed Microsoft Teams for the Women's Health teams and produced a pump-training series that reached 90% engagement.

Stack

Asana Enterprise · Portfolios · Goals · Workload · Rules · Bundles · Task types · Custom fields and templates · Asana API · Power BI · Microsoft Teams · Asana Certified Pro and Certified Services Partner

Post-Stroke Spasticity Education: MUSICA Infographics

HCP and patient educationInfographics

AI-first buildL2 · human-agent teamStakeholder engagement

An eight-page infographic series for post-stroke spasticity that teaches ultrasound-guided care through five clinical pearls (anatomy, compare, localize, architecture and an ABC checklist), built for HCP training and plain-language patient conversations.

5 clinical pearlsin one repeatable framework
8 pagesfrom anatomy to daily practice
  • AI image generation
  • Medical illustration
  • jsPDF
  • HCP education
Read case study

The brief

Turn an ultrasound-guided spasticity training framework into visuals that HCPs can teach from and patients can follow.

What I built

  • A series of eight pages: the framework, why it matters, the five pearls and the impact on daily practice.
  • Consistent anatomical and clinical scenes generated with AI image tools, with labels added for teaching.
  • Short, structured copy for each pearl so the same pages work in a training session, at the booth and in the clinic.

AI approach

An AI-first build with a human-agent team: AI generates the scenes; the clinical content, labels and every claim are set and reviewed by people.

How it scales

The same pipeline as the gene therapy journey, so new modules and languages reuse the style.

Stack

AI image generation · medical illustration · jsPDF

Application Security Framework: US Patent 9,098,680

Patented iOS security framework2011–2014

Codify and controlMobile platformTrust and security

Cut delivery cycles by 300 days and saved about $7.5M across 15 apps by building security in from the first line of code. I invented and patented the reusable framework: federated sign-in, encryption, secure transport, licensing and audit, built into each new app from an Xcode template.

300 dayscut from delivery cycles
~$7.5Msaved through framework reuse across 15 apps
  • Objective-C
  • iOS SDK
  • Xcode
  • OAuth 2.0
  • SAML 2.0
  • AES-256
Read case study

The problem

In 2011 the digital learning team wanted confidential training and meeting content on the iPad. Without a shared framework, each app had to build its own sign-in, encryption and secure hosting, and answer on its own to IT policy, lost devices and eDiscovery audits.

What I built

  • One framework, built in: an installer adds ASFKit to Xcode with a project template, so a new app starts secured; existing apps add the library and its 50+ documented API methods.
  • Sign-in and single sign-on: federated sign-in through PingFederate (SAML 2.0 tokens in 1.x, OAuth 2.0 with silent refresh in 2.1), with one session shared by every ASF app.
  • Data protection: AES-256 encryption with Apple's Data Protection classes, protected app folders and no stored passwords, plus a signed configuration profile that enforces a device passcode; if the policy is removed, so is the protected data.
  • Secure transport: every request is checked through NSURLProtocol, which allows only HTTPS with a valid certificate and serves content only after sign-in and a license check; downloads are protected the moment they land.
  • Licensing and kill switch: an app ID and license key per app, validated at launch against a licensing server that also manages domain and endpoint settings; revoke a license and the app locks.
  • Activity and audit (2.1): with the user's consent, actions are logged as JSON activity streams, notes sync to the server and a web console reports by app or user.
  • Screen protection: sign-in and content are masked on external displays and Apple TV mirroring.

Result

Built into the development process, the framework cut delivery cycles by 300 days and saved about $7.5M through reuse across 15 apps. Its first version carried 80+ security features and 100+ security test cases; version 2.1 (2014) added consent-based activity and audit streams and ran on iPad and iPhone. It secured a family of learning and meeting apps (see Digital Learning Mobile Apps and Pronto), earned the President's Award in 2011 and became US Patent 9,098,680, granted in 2015 with me as sole inventor.

Design decisions

  • The secure path is the fast path: a template and a library made the protected setup the quickest way to start an app, so in-house teams and vendors never rebuilt security from scratch.
  • Policy on the device, control on the server: a signed profile enforces the passcode locally, while licenses, domains and endpoints are managed centrally.
  • Consent before telemetry: activity logging asks the user first and records actions in the JSON Activity Streams format, a public standard.
  • Built for developers: simulator runs skip the license check, and the framework ships with a reference, a user guide, code snippets and code hinting.

Stack

Objective-C · iOS SDK · Xcode · Keychain · Data Protection · NSURLProtocol · PingFederate · OAuth 2.0 · SAML 2.0 · AES-256 · JSON Activity Streams · PHP · CakePHP · MySQL

Pronto: iPad Field Resource Library

Learning and performance support appUS Commercial Training

Digital foundationMobile platformEmployee experience

An iPad library that put training guides, PDFs and videos in the hands of the company's US field and home office teams, secured by my patented Application Security Framework. It reached 3,000 users across 22 franchises in 2013–2014, measured with Adobe Analytics and HockeyApp.

3,000 usersacross 22 franchises, 2013–2014
384K page views3,500 hours in the app and 75% loyalty
  • iPad
  • iOS · Objective-C
  • Application Security Framework
  • Adobe Analytics
  • HockeyApp
  • Push notifications
Read case study

The problem

Field teams needed approved training and reference content on their iPads, wherever they worked. Every file had to stay inside the company: only valid company users could open it, data on the device and online had to be encrypted and content had to come from one secure source. As the library grew past a hundred items in a single department's view, people also needed help finding what mattered to them.

What I built

  • The app: an iPad library to browse by audience, search, filter and sort, with views and ratings on every item. A briefcase holds saved content, messages arrive in the app, and guides can be annotated with notes and highlights.
  • Security: built on my Application Security Framework, which authenticates every company user with single sign-on, encrypts the profile and data on the device and online, serves content from one secure source and adds a license with a kill switch and an activity and audit stream.
  • Audience data: more than 50 data points per person from HR, sales alignment and directory records, so content and push messages reach the right franchise, region, territory, department or role.
  • Distribution: over-the-air installs and upgrades through federation services, with SharePoint and Nintex workflows routing Pronto's documents for approval.
  • Measurement: Adobe Analytics for users, visits, time and loyalty by franchise, plus HockeyApp crash reports by version, shared with the development vendors.
  • Redesign: a front page personalized by franchise, a My Pronto feed with levels and followers, discussions on every item and briefcase folders, planned in two-week sprints.

Result

In 2013–2014 Pronto reached 3,000 users across 22 franchises, with 350 content assets, 384K page views, 26K visits, 3,500 hours in the app, 75% loyalty and 10K segmented push messages. Monthly users rose from 783 in November 2013 to 1,808 in April 2014, and push notifications drove engagement: 12,929 notifications and 187,436 content views from January 1 to May 7, 2014. In November 2014, 1,500 people used it for 32 minutes each on average. Crashes fell from 1,673 on version 2.0.15 to 33 on version 3.0.0.

Design decisions

  • Security as a shared framework: sign-on, encryption, licensing and auditing come from the framework, not from code written for one app.
  • Audience from systems of record: HR, sales alignment and directory data shape the field view (franchise to territory) and the home office view (department and role).
  • Measure by release: release markers on the analytics timeline and crash counts by version show what each release changed.
  • Participation as a side effect: the redesign plans for the 90-9-1 rule (most people read and few contribute) by counting views, likes and shares on every item and making it easy to join a discussion.

Stack

iPad · iOS 7 and 8 · Xcode · Objective-C · Application Security Framework · single sign-on and over-the-air distribution through federation services · Brightcove · Adobe Analytics · HockeyApp · push notifications · SharePoint · Nintex

Digital Learning Mobile Apps

Mobile learning apps and analyticsUS Commercial Training

Codify and controlMobile platformTrust and security

A portfolio of iPad and iPhone training apps for the company's US commercial teams, built on my patented Application Security Framework, which secured 15 apps and cut development time by 30%. Analytics ran in every app: MyMeeting reached 7,500 users and Pronto 3,000.

15 appssecured by one shared framework
7,500 usersof MyMeeting, 2012–2014
  • iOS · Objective-C
  • Application Security Framework
  • Single sign-on
  • Adobe Analytics
  • Push notifications
  • Over-the-air distribution
Read case study

The problem

Every training app the team shipped needed the same protections: only valid company users could sign in, data on the device and online had to be encrypted, content had to come from one secure source and each app needed a license, a kill switch and an audit trail. Building that app by app cost development time and left every app with its own approach to security.

What I built

  • A shared security framework: my Application Security Framework gave every app authentication, single sign-on, encryption, one secure content source, licensing with a kill switch and an activity and audit stream, released in versions from 1.0.6.3 to 2.1.
  • The apps: iPad and iPhone apps such as Pronto (the field resource library), MyMeeting (agendas, venue maps and franchise meetings), OECentral, PD and the Brainiak learning platform.
  • Distribution: a first-of-its-kind over-the-air install model through federation services, which sped up app adoption and ended distribution delays.
  • Analytics in every app: Adobe Analytics with audience segmentation by franchise, segmented push notifications and custom crash analysis, reported monthly to project teams and leadership.
  • Process and quality: a mobile development process and standards with cross-team approvals and value stream mapping, plus a test strategy for every mobile training app.

Result

The framework secured 15 Digital Learning mobile apps and cut development time by 30%, and another team reused it for its own app with the same 30% saving. MyMeeting reached 7,500 users and 100 meetings (2012–2014), Pronto 3,000 users in 22 franchises (2013–2014), OECentral 2,365 users (43% loyal) and PD 267 users in 2014. Push notifications drove engagement: MyMeeting logged 14,843 app opens alongside 9,718 notifications around its February 2014 meeting.

Design decisions

  • Build security once: a versioned framework every app reuses, so the security protocols are the same in every app.
  • One sign-on for training: single sign-on across the training apps, so people sign in the same way everywhere.
  • Measure what matters: loyalty, time and adoption as the KPIs, with tactics to measure adoption, promote popular content and grow content views.
  • Segmented push: notifications targeted by audience, 10K each for Pronto and MyMeeting.

Stack

iOS · Xcode · Objective-C · Application Security Framework · single sign-on and over-the-air distribution through federation services · Adobe Analytics · push notifications · HockeyApp · Brightcove · SharePoint · Nintex

MEI Speaker Programs: UX Research & UI Design

UX research & UI designSpeaker programs, 2014

People and experienceUX researchEmployee experience

A task-first dashboard design for the site sales reps use to set up, host and close out speaker programs, on the web and the iPad, grounded in research with real users: card sorts and a prioritization matrix ranked 41 tasks by frequency and importance.

41 tasksranked by frequency and importance
4 card sortson whiteboards, one per participant
  • User research
  • Card sorting
  • Task analysis
  • Wireframing
  • Web and iPad UI
  • Adobe Analytics
Read case study

The brief

In 2014, in US Commercial Excellence (Sales Excellence, Digital Learning), I reviewed the user experience of the speaker program resource site run with the vendor MEI. Sales reps, district managers and regional managers use it to set up, host and close out speaker programs. News and compliance notices filled the first screen, and Create a Program, where every program starts, sat below the fold.

Research

  • Users and goals: the users are reps, district managers and regional managers. Their goals (host speaker programs, make life easier, be awesome, stay compliant) are not the business goals (compliance, news and legal information, help desk, system integration, closeout and more iPad use), and the review kept the two apart.
  • Like 'em: user focus tends to drop as project stress peaks, so the rule was not "users are doing it wrong" but "let's find what's wrong and fix it".
  • Talk to real people: planned sessions of 30–60 minutes with 5–12 people, organized around the four phases of a program: initiation (4 weeks out), RSVPs (2–4 weeks out), hosting (the day itself) and closeout.
  • Task analysis and card sorting: 41 tasks on cards, placed on a frequency and importance grid on whiteboards and on a digital board, with a column for tasks nobody needed, plus a task-order exercise of up to 17 steps.
  • Prioritization matrix: frequency and importance for every task and participant, field and in-house, totaled and flagged so the tasks that matter most stand out.
  • The current site: an F-pattern and above-the-fold review of the home page, where news filled the first screen.

What I designed

  • Task flow: the participants' task orders merged into one flow, initiation across the top and RSVPs, hosting and closeout down the left, in the F shape people use to scan a page.
  • Sketches to high fidelity: paper wireframes with the rep's profile and budget at left, My Programs and All Programs in the center and news at right, then a high-fidelity dashboard in the same layout.
  • Program cards: the date and time, speaker, venue, an RSVP funnel (sent, accepted, declined, no reply) and an activity feed, with one-click actions to enter RSVPs, print the sign-in sheet, sign in on the iPad and close out.
  • My Programs on iPad: the same dashboard on the iPad, planned with secure sign-in that works offline, a complete offline mode for program forms and sign-in, guided-access sign-in for HCPs, Maps and Calendar integration and push notifications for RSVPs, news and compliance.
  • Measurement: JavaScript tags on the site reporting to Adobe Analytics, so every change could be measured.

Result

The review delivered a prioritized task model and a dashboard design for the web and the iPad, with a five-part plan: add analytics to the site; hold usability tests and user interviews; analyze the results and clean up the site; design an offline sign-in; design My Programs for the iPad. The same methods shaped the Corporate Learning Center redesign earlier that year.

Design decisions

Tasks before notices: the most frequent and important tasks lead the page, and news and compliance move into a side panel with counts. The budget sits beside the rep's profile; the current program budget was among the highest-scoring tasks in the matrix.

Stack

User research · Card sorting · Task analysis · Excel prioritization matrix · Paper wireframes · Web and iPad UI design · JavaScript tagging · Adobe Analytics

Corporate Learning Center: LMS UX Research & UI Design

UX research & UI designLearning management, 2014

People and experienceUX researchEmployee experience

A learner home page that puts assigned training first, one click to launch on the iPad or the PC, in a learning management system where finishing one 10-minute compliance course had taken 12 steps. I researched and designed it, built it inside the LMS and measured it with Adobe Analytics.

12 stepsto finish one 10-minute course before
1 clickto launch assigned training after
  • User research
  • Journey audit
  • Responsive design
  • iPad UI
  • JavaScript
  • Adobe Analytics
Read case study

The brief

In 2014, in US Commercial Training and Development (Digital Learning), I redesigned the learner experience of the Corporate Learning Center, the US commercial learning management system on SumTotal, for the iPad and the PC. Finishing one 10-minute compliance course took 12 steps.

Research

  • Journey audit: I took one 10-minute compliance course through the system screen by screen: 12 steps from the home page to the transcript, and only two of them were the course itself.
  • A second system: ethics and compliance training lived on a separate legal and ethics site with its own sign-in, so learners needed a way there from the home page.
  • Prioritization: a frequency and importance sort on the whiteboard, with a column for the functions nobody needed.
  • Top tasks for the iPad: launch and finish my training, my completed training, a link to the ethics site, sort and filter, training in progress and help.
  • Principles: keep what matters above the fold (768 px in landscape and 1024 px in portrait on the iPad) and follow the F-shaped pattern people use to scan a page.

What I designed

  • A to-do list first: assigned training leads the home page, and every course shows its status, due date, estimated duration and a Start button, one click to launch.
  • Three buttons for the rest: Completed Training, the ethics site and Help, with search and the menu in a side panel that folds away.
  • Laptop-only courses: device detection flags courses that need a laptop, so learners on the iPad know before they launch.
  • Every screen: iPad landscape and portrait, the PC browser and a manager home page that opens on an exception report.
  • Built inside the LMS: a responsive HTML home page loaded through the LMS's own home-page settings, with learner and manager scripts that hide default elements, add the buttons and send analytics events.

Result

The new learner and manager home pages were built inside the LMS and measured in Adobe Analytics: page views for each home page, clicks on every button, real-time traffic and course-launch errors by course, browser and operating system. The reports showed which buttons learners used and which browsers and devices produced launch errors.

Design decisions

Before, generic text or a welcome banner filled the first screen and assigned training began near the bottom. After, the to-do list starts at the top in both orientations: titles run down the left where the eye scans, and every Start button sits in the same place on the right. The same research methods shaped the MEI Speaker Programs review later that year.

Stack

SumTotal LMS · HTML5 · CSS (responsive) · JavaScript · Adobe Analytics · iPad and desktop browsers