Department shell (Team / Directory / Marketing / Sales) with the Directory's Outreach Board, plus 12 of 25 boss's Phase 1 targets researched so far. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1219 lines
145 KiB
HTML
1219 lines
145 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>TXproducts Sales & Marketing</title>
|
||
<style>
|
||
* { box-sizing: border-box; }
|
||
html, body { margin: 0; }
|
||
body {
|
||
background: #f7f9fc;
|
||
font-family: -apple-system, "Source Sans Pro", "Segoe UI", Helvetica, Arial, sans-serif;
|
||
display: flex;
|
||
align-items: stretch;
|
||
}
|
||
|
||
/* ---------- Sidebar (1:1 with linkedin_analytics app.py's `sidebar`) ---------- */
|
||
.sidebar {
|
||
width: 240px;
|
||
min-width: 240px;
|
||
padding: 20px 16px;
|
||
border-right: 1px solid #e0e7ef;
|
||
background-color: #ffffff;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-height: 100vh;
|
||
}
|
||
.sidebar img.logo {
|
||
max-width: 200px;
|
||
width: 100%;
|
||
display: block;
|
||
margin: 0 auto 12px;
|
||
}
|
||
.sidebar .wordmark {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
margin: 4px 0 14px;
|
||
}
|
||
.sidebar .wordmark .brand {
|
||
font-size: 1.6rem;
|
||
font-weight: 800;
|
||
color: #1b3a5c;
|
||
text-align: center;
|
||
line-height: 1.15;
|
||
}
|
||
.sidebar .wordmark .brand-sub {
|
||
font-size: 1.3rem;
|
||
font-weight: 800;
|
||
letter-spacing: 0.03em;
|
||
text-transform: uppercase;
|
||
color: #2d6a9f;
|
||
margin-top: 4px;
|
||
}
|
||
.sidebar hr {
|
||
border: none;
|
||
border-top: 1px solid #e0e7ef;
|
||
margin: 6px 0;
|
||
}
|
||
.status-pill {
|
||
background: linear-gradient(90deg, #1b3a5c 0%, #2d6a9f 100%);
|
||
border-radius: 8px;
|
||
padding: 8px 10px;
|
||
margin-bottom: 12px;
|
||
}
|
||
.status-pill .label {
|
||
font-size: 0.68rem;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.05em;
|
||
text-align: center;
|
||
color: rgba(255,255,255,0.85);
|
||
}
|
||
.status-pill .value {
|
||
font-size: 1.05rem;
|
||
font-weight: 800;
|
||
text-align: center;
|
||
color: white;
|
||
}
|
||
.nav-group { display: flex; flex-direction: column; gap: 2px; }
|
||
.sidebar-nav-btn {
|
||
display: block;
|
||
width: 100%;
|
||
text-align: left;
|
||
background: none;
|
||
border: none;
|
||
border-left: 3px solid transparent;
|
||
color: #6b7a8d;
|
||
font-weight: 500;
|
||
font-size: 0.92rem;
|
||
padding: 8px 10px;
|
||
border-radius: 4px;
|
||
cursor: pointer;
|
||
font-family: inherit;
|
||
}
|
||
.sidebar-nav-btn:hover { background: #f7f9fc; color: #1b3a5c; }
|
||
.sidebar-nav-btn.active {
|
||
background: #e8f0fe;
|
||
color: #1b3a5c;
|
||
font-weight: 700;
|
||
border-left: 3px solid #2d6a9f;
|
||
}
|
||
.sidebar-footer {
|
||
font-size: 0.75rem;
|
||
color: #aab;
|
||
margin-top: auto;
|
||
}
|
||
|
||
/* ---------- Main content ---------- */
|
||
.main-content { flex: 1; min-width: 0; padding: 20px 24px; }
|
||
|
||
.hero {
|
||
background: linear-gradient(90deg,#1b3a5c 0%,#2d6a9f 100%);
|
||
border-radius: 8px;
|
||
padding: 14px 18px 13px;
|
||
margin-top: 4px;
|
||
margin-bottom: 16px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
}
|
||
.hero-title { color: white; font-size: 1.45rem; font-weight: 800; line-height: 1.1; }
|
||
.hero-subtitle { color: rgba(255,255,255,0.84); font-size: 0.9rem; font-weight: 500; margin-top: 4px; }
|
||
.hero-actions { display: flex; align-items: center; flex-shrink: 0; margin-left: 16px; }
|
||
.hero-actions a {
|
||
color: white; background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.4);
|
||
border-radius: 6px; padding: 6px 12px; font-size: 0.82rem; font-weight: 700;
|
||
text-decoration: none; white-space: nowrap;
|
||
}
|
||
.hero-actions a:hover { background: rgba(255,255,255,0.26); }
|
||
|
||
.hero-nav { position: relative; }
|
||
.hero-nav-btn {
|
||
display: flex; align-items: center; gap: 6px;
|
||
color: white; background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.4);
|
||
border-radius: 6px; padding: 6px 12px; font-size: 0.82rem; font-weight: 700;
|
||
font-family: inherit; cursor: pointer; white-space: nowrap;
|
||
}
|
||
.hero-nav-btn:hover, .hero-nav.open .hero-nav-btn { background: rgba(255,255,255,0.26); }
|
||
.hero-nav-btn .caret { font-size: 0.65rem; transition: transform 0.12s ease; }
|
||
.hero-nav.open .hero-nav-btn .caret { transform: rotate(180deg); }
|
||
|
||
.hero-dropdown {
|
||
display: none;
|
||
position: absolute; top: calc(100% + 6px); right: 0; z-index: 10;
|
||
background: white; border: 1px solid #e0e7ef; border-radius: 8px;
|
||
box-shadow: 0 8px 24px rgba(27, 58, 92, 0.18);
|
||
min-width: 170px; padding: 6px;
|
||
}
|
||
.hero-nav.open .hero-dropdown { display: block; }
|
||
.hero-dropdown button {
|
||
display: block; width: 100%; text-align: left;
|
||
background: none; border: none; font-family: inherit;
|
||
font-size: 0.86rem; font-weight: 600; color: #1a2533;
|
||
padding: 8px 10px; border-radius: 5px; cursor: pointer;
|
||
}
|
||
.hero-dropdown button:hover { background: #e8f0fe; color: #1b3a5c; }
|
||
|
||
.card {
|
||
border: 1px solid #e0e7ef !important;
|
||
border-radius: 8px !important;
|
||
box-shadow: 0 1px 3px rgba(27, 58, 92, 0.06) !important;
|
||
background: #ffffff;
|
||
padding: 22px 24px;
|
||
}
|
||
.placeholder-card {
|
||
text-align: center;
|
||
color: #6b7a8d;
|
||
padding: 48px 24px;
|
||
}
|
||
.placeholder-card .chip {
|
||
display: inline-block;
|
||
font-size: 0.68rem;
|
||
font-weight: 700;
|
||
letter-spacing: 0.06em;
|
||
text-transform: uppercase;
|
||
padding: 3px 10px;
|
||
border-radius: 20px;
|
||
color: #b45f06;
|
||
background: #fbf0df;
|
||
margin-bottom: 12px;
|
||
}
|
||
.placeholder-card p { max-width: 46ch; margin: 0 auto; line-height: 1.5; font-size: 0.9rem; }
|
||
|
||
.team-grid {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 0;
|
||
}
|
||
.team-col {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
text-align: center;
|
||
padding: 48px 32px;
|
||
}
|
||
.team-col:first-child { border-right: 1px solid #e0e7ef; }
|
||
.avatar-circle {
|
||
width: 180px;
|
||
height: 180px;
|
||
border-radius: 50%;
|
||
background: linear-gradient(135deg, #1b3a5c 0%, #2d6a9f 100%);
|
||
color: white;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: 3.4rem;
|
||
font-weight: 800;
|
||
margin-bottom: 22px;
|
||
box-shadow: 0 4px 16px rgba(27, 58, 92, 0.18);
|
||
}
|
||
.team-name { font-size: 1.25rem; font-weight: 800; color: #1a2533; }
|
||
.team-title { font-size: 0.92rem; color: #6b7a8d; margin-top: 6px; }
|
||
|
||
.branch-card { display: flex; flex-direction: column; gap: 14px; }
|
||
.branch-card .child-row {
|
||
display: flex; align-items: center; justify-content: space-between; gap: 12px;
|
||
padding: 12px 14px; background: #f7f9fc; border-radius: 6px; border: 1px solid #e0e7ef;
|
||
}
|
||
.branch-card .child-name { font-weight: 600; color: #1a2533; font-size: 0.92rem; }
|
||
.branch-card .child-addr {
|
||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||
font-size: 0.78rem; color: #2d6a9f;
|
||
}
|
||
.branch-card a.open-link {
|
||
color: white; background: #2d6a9f; border-radius: 6px; padding: 6px 14px;
|
||
font-size: 0.82rem; font-weight: 700; text-decoration: none; white-space: nowrap;
|
||
}
|
||
.branch-card a.open-link:hover { background: #1b3a5c; }
|
||
|
||
.tree-card { padding: 28px 32px; }
|
||
.tree-row {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
padding: 10px 0;
|
||
}
|
||
.tree-row + .tree-row { border-top: 1px dashed #eef1f5; }
|
||
.tree-glyph {
|
||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||
color: #b7c2ce;
|
||
white-space: pre;
|
||
font-size: 0.95rem;
|
||
}
|
||
.tree-name { font-size: 0.98rem; color: #1a2533; }
|
||
.tree-row.depth-0 .tree-name { font-weight: 800; font-size: 1.1rem; color: #1b3a5c; }
|
||
.tree-row.depth-1 .tree-name { font-weight: 700; color: #2d6a9f; }
|
||
.tree-row.depth-2 .tree-name { font-weight: 600; }
|
||
.tree-row.leaf { margin-left: auto; }
|
||
.tree-row.leaf .tree-name { font-weight: 700; }
|
||
.tree-row .tree-addr {
|
||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||
font-size: 0.78rem; color: #2d6a9f; margin-left: 4px;
|
||
}
|
||
.tree-row .open-link {
|
||
margin-left: auto;
|
||
color: white; background: #2d6a9f; border-radius: 6px; padding: 5px 12px;
|
||
font-size: 0.8rem; font-weight: 700; text-decoration: none; white-space: nowrap;
|
||
}
|
||
.tree-row .open-link:hover { background: #1b3a5c; }
|
||
|
||
.drill-crumbs {
|
||
font-size: 0.78rem;
|
||
font-weight: 600;
|
||
color: #6b7a8d;
|
||
margin-bottom: 14px;
|
||
}
|
||
.drill-crumbs .crumb {
|
||
cursor: pointer;
|
||
color: #2d6a9f;
|
||
}
|
||
.drill-crumbs .crumb:hover { text-decoration: underline; }
|
||
.drill-crumbs .crumb.current {
|
||
color: #1a2533;
|
||
font-weight: 800;
|
||
cursor: default;
|
||
text-decoration: none;
|
||
}
|
||
.drill-crumbs .sep { margin: 0 6px; color: #c3cdd8; }
|
||
|
||
.drill-view { display: none; padding: 32px; }
|
||
.drill-view.active { display: block; }
|
||
.drill-view h2 { margin: 0 0 12px; font-size: 1.3rem; font-weight: 800; color: #1b3a5c; }
|
||
.drill-view .narrative {
|
||
font-size: 0.95rem; line-height: 1.65; color: #3d4c5c;
|
||
max-width: 60ch; margin: 0 0 24px;
|
||
}
|
||
.drill-actions { display: flex; align-items: center; gap: 12px; }
|
||
.drill-next, .drill-back {
|
||
font-family: inherit; font-size: 0.85rem; font-weight: 700; cursor: pointer;
|
||
border-radius: 6px; padding: 8px 16px;
|
||
}
|
||
.drill-next {
|
||
background: #2d6a9f; color: white; border: none;
|
||
}
|
||
.drill-next:hover { background: #1b3a5c; }
|
||
.drill-back {
|
||
background: none; color: #6b7a8d; border: 1px solid #e0e7ef;
|
||
}
|
||
.drill-back:hover { color: #1b3a5c; border-color: #2d6a9f; }
|
||
.drill-view .open-link {
|
||
color: white; background: #2f9e58; border-radius: 6px; padding: 8px 18px;
|
||
font-size: 0.85rem; font-weight: 700; text-decoration: none;
|
||
}
|
||
.drill-view .open-link:hover { background: #24824a; }
|
||
|
||
.tab-content { display: none; }
|
||
.tab-content.active { display: block; }
|
||
|
||
/* ---------- Address Book ---------- */
|
||
.ab-toolbar {
|
||
display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
|
||
margin-bottom: 16px;
|
||
}
|
||
.ab-search {
|
||
flex: 1; min-width: 200px;
|
||
padding: 9px 14px; border: 1px solid #e0e7ef; border-radius: 6px;
|
||
font-family: inherit; font-size: 0.88rem; color: #1a2533; background: #fff;
|
||
}
|
||
.ab-search:focus { outline: none; border-color: #2d6a9f; }
|
||
.ab-filter-chip {
|
||
font-family: inherit; font-size: 0.8rem; font-weight: 700;
|
||
padding: 7px 13px; border-radius: 20px; cursor: pointer;
|
||
border: 1px solid #e0e7ef; background: #fff; color: #6b7a8d; white-space: nowrap;
|
||
}
|
||
.ab-filter-chip.active { background: #1b3a5c; color: #fff; border-color: #1b3a5c; }
|
||
.ab-summary { font-size: 0.8rem; color: #6b7a8d; margin-bottom: 14px; }
|
||
|
||
.ab-stage-select {
|
||
font-family: inherit; font-size: 0.8rem; font-weight: 700; color: #1b3a5c;
|
||
padding: 7px 13px; border-radius: 20px; border: 1px solid #e0e7ef; background: #fff; cursor: pointer;
|
||
}
|
||
.ab-fit-filter-label { font-size: 0.78rem; font-weight: 700; color: #6b7a8d; margin-left: 6px; }
|
||
.ab-fit-chip-strong.active { background: #1a8a60; border-color: #1a8a60; }
|
||
.ab-fit-chip-moderate.active { background: #c97000; border-color: #c97000; }
|
||
.ab-fit-chip-weak.active { background: #6b7a8d; border-color: #6b7a8d; }
|
||
|
||
.ab-view-toggle { display: flex; gap: 8px; }
|
||
.view-toggle-btn {
|
||
padding: 7px 16px; border-radius: 8px; border: 1px solid #e0e7ef;
|
||
background: #fff; color: #6b7a8d; font-size: 0.8rem; font-weight: 700;
|
||
cursor: pointer; font-family: inherit;
|
||
}
|
||
.view-toggle-btn.active { background: #1b3a5c; color: #fff; border-color: #1b3a5c; }
|
||
|
||
.ab-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; }
|
||
|
||
.ab-outreach { display: flex; gap: 16px; align-items: flex-start; }
|
||
.ab-outreach-list {
|
||
width: 300px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px;
|
||
max-height: 76vh; overflow-y: auto; padding-right: 4px;
|
||
}
|
||
.ab-outreach-list .ab-card.selected { border-color: #2d6a9f; box-shadow: 0 0 0 2px rgba(45,106,159,0.15); }
|
||
.ab-outreach-detail { flex: 1; min-width: 0; }
|
||
.ab-outreach-empty {
|
||
color: #9aa7b4; font-style: italic; padding: 60px 24px; text-align: center;
|
||
border: 1px dashed #e0e7ef; border-radius: 8px;
|
||
}
|
||
.ab-detail-cols { display: flex; gap: 16px; align-items: stretch; }
|
||
.ab-detail-cols > .ab-prof-box, .ab-detail-cols > .ab-prof-box-full { flex: 1 1 50%; min-width: 0; }
|
||
|
||
/* ---------- Comp-card pattern, 1:1 with Marketing Intelligence's Competitors cards ---------- */
|
||
.comp-card {
|
||
background: #ffffff; box-shadow: 0 1px 3px rgba(27,58,92,0.06), 0 0 0 1px #e0e7ef;
|
||
padding: 18px; border-radius: 8px; overflow: hidden;
|
||
}
|
||
.comp-card.highlight { border-top: 3px solid #c0303a; }
|
||
.comp-card.fit-strong, .ab-card.fit-strong { background: #f2faf5; }
|
||
.comp-card.fit-moderate, .ab-card.fit-moderate { background: #fdf9f0; }
|
||
.comp-card.fit-weak, .ab-card.fit-weak { background: #f6f7f9; }
|
||
.comp-name {
|
||
display: block; font-size: 1rem; font-weight: 800; color: #fff;
|
||
margin: -18px -18px 12px -18px; padding: 12px 18px 10px;
|
||
background: linear-gradient(90deg, #1b3a5c 0%, #2d6a9f 100%); border-radius: 8px 8px 0 0;
|
||
}
|
||
.comp-loc { font-size: 0.8rem; color: #6b7a8d; margin-bottom: 10px; }
|
||
.comp-desc { font-size: 0.88rem; color: #3d4c5c; line-height: 1.55; margin-bottom: 12px; }
|
||
.comp-desc.empty { color: #9aa7b4; font-style: italic; }
|
||
.comp-tags .tag { display: inline-block; font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; margin: 0 5px 5px 0; }
|
||
.tag-r { background: #fdeaec; color: #c0303a; }
|
||
.tag-a { background: #fff4e0; color: #c97000; }
|
||
.tag-c { background: #e3f2fb; color: #2d6a9f; }
|
||
.tag-g { background: #e5f5ee; color: #1a8a60; }
|
||
.tag-u { background: #eef2f6; color: #9aa7b4; }
|
||
.comp-card .site-link {
|
||
display: inline-block; font-size: 0.76rem; font-weight: 700;
|
||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||
color: #1b3a5c; text-decoration: none; background: #e8f0fe; border: 1px solid #e0e7ef;
|
||
padding: 5px 12px; border-radius: 20px; margin-top: 4px; white-space: nowrap;
|
||
}
|
||
.comp-card .site-link:hover { background: #d9e6fb; }
|
||
.li-link {
|
||
display: inline-block; font-size: 0.72rem; font-weight: 700; font-family: inherit;
|
||
color: #2d6a9f; text-decoration: none; background: #e3f2fb; border: 1px solid #9dcde8;
|
||
padding: 5px 12px; border-radius: 20px; white-space: nowrap;
|
||
}
|
||
.li-link:hover { background: #cfe6f7; }
|
||
.profile-btn {
|
||
display: inline-block; margin-top: 4px; font-size: 0.76rem; font-weight: 700;
|
||
color: #c0303a; background: #fdeaec; border: 1px solid #e8a0a5; border-radius: 20px;
|
||
padding: 5px 13px; cursor: pointer; font-family: inherit;
|
||
}
|
||
.profile-btn:hover { background: #fbd7db; }
|
||
.comp-profile { display: none; margin-top: 16px; border-top: 1px solid #eaeff5; padding-top: 16px; }
|
||
.comp-profile.open { display: block; }
|
||
.ab-log-entry { font-size: 0.82rem; padding: 8px 0; border-bottom: 1px dashed #e0e7ef; }
|
||
.ab-log-entry:last-child { border-bottom: none; }
|
||
.ab-log-entry .log-date { display: block; font-weight: 700; color: #1a2533; font-size: 0.74rem; }
|
||
.ab-log-empty { color: #9aa7b4; font-style: italic; font-size: 0.82rem; }
|
||
.ab-section-grid { display: flex; gap: 16px; margin-bottom: 14px; }
|
||
.ab-section-grid-left { flex: 1 1 50%; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
|
||
.ab-section-grid-left .ab-prof-box, .ab-section-grid-left .ab-detail-cols { margin-bottom: 0; }
|
||
.ab-outreach-log-tall { flex: 1 1 50%; min-width: 0; display: flex; flex-direction: column; margin-bottom: 0; min-height: 0; }
|
||
.ab-log-scroll { flex: 1; overflow-y: auto; }
|
||
@media (max-width: 900px) {
|
||
.ab-section-grid { flex-direction: column; }
|
||
}
|
||
.comp-loc-row { display: flex; align-items: center; gap: 24px; margin: 4px 0 16px; }
|
||
.comp-loc-row .comp-loc { margin-bottom: 0; flex-shrink: 0; }
|
||
.ab-fit-inline { flex: 1; min-width: 100px; padding-left: 10px; border-left: 1px solid #e0e7ef; }
|
||
.ab-fit-inline-label { font-size: 0.62rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: #1a2533; margin-bottom: 14px; text-align: center; }
|
||
.ab-fit-inline-track { position: relative; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #b3bfcc 0%, #c97000 50%, #1a8a60 100%); }
|
||
.ab-fit-inline-marker {
|
||
position: absolute; top: -5px; width: 0; height: 0;
|
||
border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 7px solid #1a2533;
|
||
transform: translateX(-50%);
|
||
}
|
||
.ab-highlight { background: #fff4e0; color: #1a2533; font-weight: 700; padding: 1px 3px; border-radius: 3px; }
|
||
.ab-prof-notes {
|
||
margin-top: 8px; padding-top: 8px; border-top: 1px dashed #d7e0ea;
|
||
font-size: 0.74rem; color: #6b7a8d; line-height: 1.5;
|
||
}
|
||
@media (max-width: 900px) {
|
||
.ab-outreach { flex-direction: column; }
|
||
.ab-outreach-list { width: 100%; max-height: 300px; }
|
||
.ab-detail-cols { flex-direction: column; }
|
||
}
|
||
.ab-card {
|
||
background: #fff; border: 1px solid #e0e7ef; border-radius: 8px;
|
||
padding: 12px 14px; cursor: pointer; position: relative;
|
||
}
|
||
.ab-card:hover { border-color: #2d6a9f; }
|
||
.ab-follow-star {
|
||
position: absolute; bottom: 8px; right: 10px;
|
||
font-size: 1rem; color: #eda100; line-height: 1;
|
||
}
|
||
.ab-card-top { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
|
||
.ab-card-company { font-weight: 800; font-size: 0.9rem; color: #1a2533; }
|
||
.ab-card-name { font-size: 0.82rem; color: #3d4c5c; margin-top: 2px; }
|
||
.ab-card-name.empty { color: #b3bfcc; font-style: italic; }
|
||
.ab-card-vertical { font-size: 0.72rem; color: #6b7a8d; margin-top: 6px; }
|
||
|
||
.ab-source-chip {
|
||
font-size: 0.6rem; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase;
|
||
padding: 2px 7px; border-radius: 20px; white-space: nowrap; flex-shrink: 0;
|
||
}
|
||
.ab-source-chip.mi { background: #e3f2fb; color: #1a6fa8; }
|
||
.ab-source-chip.boss { background: #e8f0fe; color: #1b3a5c; }
|
||
.ab-source-chip.eng { background: #e6f7f2; color: #0e7c66; }
|
||
|
||
.ab-warmth { font-size: 0.68rem; font-weight: 700; margin-top: 6px; display: inline-block; }
|
||
.ab-warmth.Warm { color: #2f9e58; }
|
||
.ab-warmth.Pipeline { color: #b45f06; }
|
||
|
||
.ab-card-detail {
|
||
display: none; margin-top: 10px; padding-top: 12px; border-top: 1px dashed #e0e7ef;
|
||
font-size: 0.8rem; color: #3d4c5c; line-height: 1.55;
|
||
}
|
||
.ab-card.expanded .ab-card-detail { display: block; }
|
||
.ab-card-detail a { color: #2d6a9f; }
|
||
|
||
.ab-prof-box, .ab-prof-box-full {
|
||
background: #e8f0fe; border: 1px solid #eaeff5; border-radius: 6px;
|
||
padding: 12px 14px; margin-bottom: 14px;
|
||
}
|
||
.ab-prof-title {
|
||
font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em;
|
||
color: #6b7a8d; margin-bottom: 8px;
|
||
}
|
||
.ab-prof-narrative { font-size: 0.8125rem; line-height: 1.5; color: #1a2533; margin-bottom: 8px; }
|
||
.ab-prof-narrative.empty { color: #9aa7b4; font-style: italic; }
|
||
.ab-prof-kv { display: grid; grid-template-columns: 132px 1fr; gap: 10px; font-size: 0.8125rem; margin-bottom: 5px; }
|
||
.ab-prof-kv .k { font-weight: 700; color: #1b3a5c; }
|
||
.ab-prof-kv .v { color: #3d4c5c; line-height: 1.5; }
|
||
.ab-prof-row { display: flex; gap: 8px; margin-bottom: 5px; align-items: flex-start; font-size: 0.8125rem; line-height: 1.5; color: #1a2533; }
|
||
.ab-prof-dot { width: 6px; height: 6px; border-radius: 50%; background: #2d6a9f; margin-top: 6px; flex-shrink: 0; }
|
||
.ab-prof-dot-g { background: #1a8a60; }
|
||
.ab-prof-dot-r { background: #c0303a; }
|
||
.ab-prof-dot-a { background: #c97000; }
|
||
.ab-prof-subhead { font-weight: 700; color: #1a2533; margin: 8px 0 4px; font-size: 0.8125rem; }
|
||
.ab-prof-subhead:first-child { margin-top: 0; }
|
||
.ab-prof-sources a { font-size: 0.78rem; }
|
||
.ab-prof-sources .row { margin-bottom: 4px; }
|
||
|
||
.links { display: flex; gap: 8px; }
|
||
.links a {
|
||
font-size: 0.74rem; font-weight: 700; text-decoration: none;
|
||
background: #f0f4f8; border: 1px solid #e0e7ef; border-radius: 6px; padding: 4px 9px;
|
||
}
|
||
.links a:hover { border-color: #2d6a9f; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<div class="sidebar">
|
||
<img class="logo" src="assets/txp_logo_vertical.png" alt="TXproducts" />
|
||
<div class="wordmark">
|
||
<div class="brand">Sales & Marketing</div>
|
||
<div class="brand-sub">Department</div>
|
||
</div>
|
||
<hr />
|
||
|
||
<div class="status-pill">
|
||
<div class="label">Last Updated</div>
|
||
<div class="value" id="sidebar-last-updated">Aug 12, 2026</div>
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<button class="sidebar-nav-btn active" data-tab="team">Team</button>
|
||
<button class="sidebar-nav-btn" data-tab="address-book">Directory</button>
|
||
<button class="sidebar-nav-btn" data-tab="marketing">Marketing</button>
|
||
<button class="sidebar-nav-btn" data-tab="sales">Sales</button>
|
||
</div>
|
||
<hr />
|
||
|
||
<div class="sidebar-footer">TXproducts · Internal Tool · 2026</div>
|
||
</div>
|
||
|
||
<div class="main-content">
|
||
<div class="hero">
|
||
<div>
|
||
<div class="hero-title" id="hero-title">Team</div>
|
||
<div class="hero-subtitle" id="hero-subtitle">Who's on marketing/sales and their roles.</div>
|
||
</div>
|
||
<div class="hero-actions" id="hero-actions">
|
||
<div class="hero-nav" id="hero-nav-social" style="display:none;">
|
||
<button class="hero-nav-btn" id="hero-nav-social-btn">Social Media <span class="caret">▾</span></button>
|
||
<div class="hero-dropdown">
|
||
<button data-target="linkedin">LinkedIn</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="tab-team" class="tab-content active">
|
||
<div class="card" style="padding: 0;">
|
||
<div class="team-grid">
|
||
<div class="team-col">
|
||
<div class="avatar-circle">PG</div>
|
||
<div class="team-name">Peter Gaal</div>
|
||
<div class="team-title">CEO — R&D and Sales</div>
|
||
</div>
|
||
<div class="team-col">
|
||
<div class="avatar-circle">MB</div>
|
||
<div class="team-name">Mckinley Black</div>
|
||
<div class="team-title">Sales and Marketing Manager</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="tab-address-book" class="tab-content">
|
||
<div class="ab-toolbar">
|
||
<div class="ab-view-toggle">
|
||
<button class="view-toggle-btn active" id="ab-view-directory-btn">Directory View</button>
|
||
<button class="view-toggle-btn" id="ab-view-board-btn">Outreach Board</button>
|
||
</div>
|
||
</div>
|
||
<div class="ab-toolbar">
|
||
<input class="ab-search" id="ab-search" type="text" placeholder="Search company, name, vertical..." />
|
||
<button class="ab-filter-chip active" data-source="all">All</button>
|
||
<button class="ab-filter-chip" data-source="Marketing Intelligence">Marketing Intelligence</button>
|
||
<button class="ab-filter-chip" data-source="Outreach">Outreach</button>
|
||
<button class="ab-filter-chip" data-source="Engaged Non-Follower">Engaged Non-Follower</button>
|
||
<button class="ab-filter-chip" id="ab-followers-link">Followers ↗</button>
|
||
</div>
|
||
<div class="ab-toolbar">
|
||
<select class="ab-stage-select" id="ab-category-filter">
|
||
<option value="all">All sectors</option>
|
||
<option value="Power Electronics (Devices)">Power Electronics (Devices)</option>
|
||
<option value="Devices (WBG Device Manufacturer)">Devices (WBG Device Manufacturer)</option>
|
||
<option value="Device Testing">Device Testing</option>
|
||
<option value="Radiation Hardness">Radiation Hardness</option>
|
||
</select>
|
||
<select class="ab-stage-select" id="ab-stage-filter">
|
||
<option value="all">All stages</option>
|
||
<option value="Not started">Not started</option>
|
||
<option value="Requested">Requested</option>
|
||
<option value="Connected">Connected</option>
|
||
<option value="In discussion">In discussion</option>
|
||
<option value="Call scheduled">Call scheduled</option>
|
||
<option value="Not interested">Not interested</option>
|
||
</select>
|
||
<span class="ab-fit-filter-label">Partnership fit:</span>
|
||
<button class="ab-filter-chip ab-fit-chip active" data-fit="all">All</button>
|
||
<button class="ab-filter-chip ab-fit-chip ab-fit-chip-strong" data-fit="Strong">Strong</button>
|
||
<button class="ab-filter-chip ab-fit-chip ab-fit-chip-moderate" data-fit="Moderate">Moderate</button>
|
||
<button class="ab-filter-chip ab-fit-chip ab-fit-chip-weak" data-fit="Weak">Weak</button>
|
||
</div>
|
||
<div class="ab-summary" id="ab-summary"></div>
|
||
<div class="ab-grid" id="ab-grid"></div>
|
||
<div class="ab-outreach" id="ab-outreach" style="display:none;">
|
||
<div class="ab-outreach-list" id="ab-outreach-list"></div>
|
||
<div class="ab-outreach-detail" id="ab-outreach-detail"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<script id="address-book-data" type="application/json">[{"id": "mi-1", "name": "Heinrich Haas", "title": "Senior Scientist / R&D", "company": "BioNTech SE", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma / mRNA", "stage": "Not started", "warmth": "Warm", "role_badge": "Champion", "abstract": "Ugur Sahin personally co-authored SAXS study at PETRA III P12. Beamtime is embedded in their R&D pipeline.", "who_to_contact": "Contact Haas as technical champion. Budget holder: Head of Structural Biology / VP R&D.", "website": "https://www.biontech.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Heinrich+Haas+BioNTech"}, {"id": "mi-2", "name": "Daniel Ritz", "title": "Senior Director of Biology", "company": "Idorsia Pharmaceuticals", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma / Drug Discovery", "stage": "Not started", "warmth": "Warm", "role_badge": "Budget Holder", "abstract": "Used ESRF ID23-1 for COVID drug discovery. Publicly quoted — high-quality named outreach target.", "who_to_contact": "Direct outreach to Ritz. Senior Director = budget authority. Use the ESRF ID23-1 work as the opener.", "website": "https://www.idorsia.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Daniel+Ritz+Idorsia"}, {"id": "mi-3", "name": "Robert Kin Yip Cheng", "title": "Head of Biochemistry", "company": "leadXpro AG", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma / Membrane Proteins", "stage": "Not started", "warmth": "Warm", "role_badge": "Champion", "abstract": "PSI spin-out. Ran the first-ever industrial serial crystallography on ESRF ID29 (Feb 2026).", "who_to_contact": "Cheng is the right technical entry. Small company — CEO approves budget. Build the case through Cheng first.", "website": "https://www.leadxpro.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Robert+Cheng+leadXpro"}, {"id": "mi-4", "name": "Helena Kack, Tove Sjogren", "title": "Scientists, Structural Biology (Gothenburg)", "company": "AstraZeneca", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma / Drug Discovery", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Technical", "abstract": "~800 structures/year. May outsource overflow or specialist runs.", "who_to_contact": "Kack and Sjogren are technical users, not buyers. Budget held by Head of Structural Biology or VP Drug Discovery, Gothenburg. Use them as champions.", "website": "https://www.astrazeneca.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Helena+Käck+AstraZeneca"}, {"id": "mi-5", "name": "Serghei Glinca", "title": "Founder and CEO", "company": "CrystalsFirst", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma / Drug Discovery", "stage": "Not started", "warmth": "Warm", "role_badge": "Budget Holder", "abstract": "Active DESY P11 partnership for fragment-based drug discovery. Potential partner or client.", "who_to_contact": "Founder/CEO = budget holder and decision maker in one. Accessible startup contact. Direct outreach.", "website": "https://crystalsfirst.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Serghei+Glinca+CrystalsFirst"}, {"id": "mi-6", "name": "", "title": "", "company": "GSK", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Pharma", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Find Contact", "abstract": "Confirmed Diamond Light Source industrial user.", "who_to_contact": "Find Head of Structural Biology or Protein Sciences — that person manages the synchrotron relationship. Budget held by VP Drug Discovery.", "website": "https://www.gsk.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=GSK+structural+biology+synchrotron+Diamond"}, {"id": "mi-7", "name": "David Rugg", "title": "Senior Fellow, Materials", "company": "Rolls-Royce", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Aerospace / Turbines", "stage": "Not started", "warmth": "Warm", "role_badge": "Champion", "abstract": "Used Diamond I12 for Trent 1000 turbofan blade XRD. First industrial user of the JEEP beamline.", "who_to_contact": "Rugg is the champion but not the buyer. Budget held by VP Materials / Director of Advanced Technology. Use Rugg to escalate.", "website": "https://www.rolls-royce.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=David+Rugg+Rolls-Royce+materials"}, {"id": "mi-8", "name": "", "title": "", "company": "GKN Aerospace", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Aerospace / Composites", "stage": "Not started", "warmth": "Warm", "role_badge": "Find Contact", "abstract": "Confirmed DESY PETRA III user. Same data, less friction, faster turnaround.", "who_to_contact": "No named contact yet. Search LinkedIn for Head of Materials Science or Advanced Characterisation. Budget holder: VP Engineering / Director of Materials Technology.", "website": "https://www.gknaerospace.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=GKN+Aerospace+materials+characterisation+synchrotron"}, {"id": "mi-9", "name": "Cecile Weulersse", "title": "Radiation/SEE Test Engineer, 20+ yrs", "company": "Airbus", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Aerospace / Space Systems", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Technical", "abstract": "Used ESRF ID09 for satellite chip radiation/SEE testing.", "who_to_contact": "Weulersse is the technical user, not the buyer. Budget held by Radiation Test Programme Manager or VP Space Systems. Use her as a reference entry point.", "website": "https://www.airbus.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Cécile+Weulersse+Airbus"}, {"id": "mi-10", "name": "Dr Elizabeth Rowsell OBE", "title": "CTO", "company": "Johnson Matthey", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Energy / Fuel Cells", "stage": "Not started", "warmth": "Warm", "role_badge": "Budget Holder", "abstract": "Drove JM's Diamond I14 investment for platinum group metals and hydrogen fuel cells.", "who_to_contact": "CTO = budget holder. Highest-level warm entry in the dataset. Direct outreach appropriate.", "website": "https://matthey.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Elizabeth+Rowsell+Johnson+Matthey"}, {"id": "mi-11", "name": "", "title": "", "company": "BASF SE", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Chemicals / Catalysis", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Find Contact", "abstract": "Co-designed ESRF STREAMLINE powder diffraction service. Hinrichsen left to found Momentum Transfer — his replacement holds the relationship.", "who_to_contact": "Find new Head of Advanced Characterisation in Ludwigshafen. Budget held by VP Corporate Research.", "website": "https://www.basf.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=BASF+advanced+characterisation+XRD+Ludwigshafen"}, {"id": "mi-12", "name": "", "title": "", "company": "Siemens Energy", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Energy / Turbines", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Find Contact", "abstract": "Turbine blade and high-temperature alloy characterisation. In-situ strain measurement under service conditions is the key use case.", "who_to_contact": "Find Head of Advanced Materials or VP R&D Turbines. Budget held at VP level.", "website": "https://www.siemens-energy.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Siemens+Energy+materials+R%26D+characterisation+turbine"}, {"id": "mi-13", "name": "", "title": "", "company": "Topsoe", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Chemicals / Catalysts", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Find Contact", "abstract": "Confirmed DESY PETRA III user for XAS/XRD catalyst characterisation.", "who_to_contact": "Find the person managing external characterisation experiments. Budget held by VP R&D / Head of Catalysis.", "website": "https://www.topsoe.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Topsoe+catalysis+XAS+XRD+characterisation"}, {"id": "mi-14", "name": "Dr. Mauritz Moller", "title": "Automotive Industry Manager", "company": "TRUMPF", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Automotive / Laser Mfg", "stage": "Not started", "warmth": "Warm", "role_badge": "Champion", "abstract": "Used DESY P07 for in situ X-ray of EV copper welding. Publicly quoted.", "who_to_contact": "Moller is the right first contact. Budget held by VP Advanced Manufacturing R&D. Use Moller to reach the buyer.", "website": "https://www.trumpf.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Mauritz+Möller+TRUMPF"}, {"id": "mi-15", "name": "", "title": "", "company": "BMW Group", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Automotive / Battery", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Find Contact", "abstract": "Known synchrotron user for battery cell and lightweight materials research.", "who_to_contact": "Find Head of Battery Cell Characterisation or Materials R&D. Budget held by VP Battery Technology.", "website": "https://www.bmwgroup.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=BMW+Group+battery+cell+materials+characterisation"}, {"id": "mi-16", "name": "Philipp Hans", "title": "Researcher, Materials Physics", "company": "STMicroelectronics", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Semiconductors", "stage": "Not started", "warmth": "Pipeline", "role_badge": "Technical", "abstract": "3 published ESRF ID01 studies (2022–2025) on phase-change memory. Active and recurring beamtime user.", "who_to_contact": "Hans is the user, not the buyer. Budget held by Director of Advanced Characterisation or VP R&D. Reach Hans first, then escalate to his department head.", "website": "https://www.st.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Philipp+Hans+STMicroelectronics"}, {"id": "mi-17", "name": "Thomas Blatt", "title": "Principal Scientist; DESY Foundation Council", "company": "Beiersdorf AG", "category": "Lead", "source": "Marketing Intelligence", "vertical": "Consumer / Cosmetics", "stage": "Not started", "warmth": "Warm", "role_badge": "Champion", "abstract": "Used PETRA III P06 XRF. On DESY Foundation Council — best-connected warm lead in Hamburg.", "who_to_contact": "Blatt can champion internally. Budget holder: VP R&D / Head of Advanced Analytics.", "website": "https://www.beiersdorf.com/", "linkedin": "https://www.linkedin.com/search/results/people/?keywords=Thomas+Blatt+Beiersdorf"}, {"id": "boss-1", "name": "Sabine E. Herlitschka", "title": "CEO, Infineon Technologies Austria AG (Villach)", "company": "Infineon Technologies", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — SiC/GaN Power, CoolSiC Series", "region": "DE", "stage": "Not started", "warmth": "", "abstract": "Infineon runs extensive AEC-Q101/AEC-Q101+ automotive qualification across CoolSiC generations, and Villach's new EPI Competence Center (2023) means active R&D into next-generation wafer/epitaxy defects at exactly the site tied to this target.", "search_term": "Infineon Technologies reliability engineer", "notes": "Important distinction: Jochen Hanebeck is CEO of the GLOBAL PARENT (Infineon Technologies AG). Sabine Herlitschka is CEO of the AUSTRIA SUBSIDIARY (Infineon Technologies Austria AG) specifically, headquartered at the Villach site — Infineon's actual global center of expertise for SiC/GaN power semiconductors, matching this entry's Focus exactly. She is already a confirmed 2nd-degree LinkedIn follower of TXproducts (followed July 2026, not yet contacted per the Follower Directory) — by far the strongest, most verified contact found of any company researched so far, since this is a real existing connection rather than a cold search result.", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "https://www.infineon.com/", "linkedin": "https://www.linkedin.com/in/sabine-herlitschka/", "desc": "German semiconductor company (Neubiberg, near Munich) — global leader in power semiconductors, automotive chips, and connected secure systems, organized into Automotive, Green Industrial Power, Power & Sensor Systems, and Connected Secure Systems divisions. Its CoolSiC and CoolGaN product lines are among the industry's leading wide-bandgap power semiconductor families.", "founded": "1999", "ceo": "Jochen Hanebeck", "leadership": [{"name": "Sabine E. Herlitschka", "title": "CEO, Infineon Technologies Austria AG (Villach)", "url": "https://www.linkedin.com/in/sabine-herlitschka/"}], "employees": "57,077 (2025, company-reported)", "revenue": "EUR 14.662 billion (fiscal year 2025, company-reported)", "ownership": "Public, German stock corporation (AG), listed on Frankfurt Stock Exchange", "target_verticals": ["Automotive/EV", "Green Industrial Power", "AI data centers", "robotics", "renewable energy", "connected secure systems"], "differentiators": ["Third-generation CoolSiC MOSFETs (2025): 16 mOhm at 1200V, switching frequencies up to 200 kHz", "CoolGaN 650V G5 generation with monolithically integrated Schottky diode — 15% lower losses, >10% lower device temperature", "Villach, Austria site is Infineon's global center of expertise for power semiconductors — EUR1.6B 300mm SiC/GaN fab opened 2021", "Global EPI Competence Center launched at Villach (2023) for SiC/GaN epitaxy R&D, focused on largest-achievable wafer diameters", "2,265+ patents across three CoolSiC generations (per Patsnap patent analysis)"], "partnership_angle": ["Infineon runs extensive AEC-Q101/AEC-Q101+ automotive qualification across CoolSiC generations, and Villach's new EPI Competence Center (2023) means active R&D into next-generation wafer/epitaxy defects at exactly the site tied to this target.", "TXproducts' non-destructive synchrotron imaging could offer higher-resolution complementary characterization for epitaxial defect analysis and die/package qualification beyond conventional in-house X-ray — especially relevant as the newly-ramping 3rd-gen CoolSiC and CoolGaN G5 lines need fast qualification cycles.", "The strongest angle here isn't technical — it's that the CEO of the exact business unit tied to this focus area (Infineon Technologies Austria AG, Villach) is already a warm, 2nd-degree LinkedIn connection who follows TXproducts and hasn't been contacted yet."], "fit_rating": "Strong", "history": [{"date": "1999", "text": "Spun off from Siemens AG as an independent semiconductor company, HQ Neubiberg, Germany"}, {"date": "2017", "text": "First-generation 1200V CoolSiC MOSFET launched"}, {"date": "2020", "text": "Second-generation CoolSiC launched, ~30% lower RDS(on)"}, {"date": "2021", "text": "EUR1.6B 300mm power semiconductor fab opened in Villach, Austria, 3 months ahead of schedule"}, {"date": "2023", "text": "Global EPI Competence Center launched at Villach for SiC/GaN epitaxy"}, {"date": "2025", "text": "Third-generation CoolSiC MOSFETs launched (16 mOhm at 1200V, up to 200kHz)"}], "recent_activity": [{"date": "Feb 2026", "text": "Published \"GaN Insights 2026\" report; announced CoolGaN 650V G5 generation (press release)"}, {"date": "May 2026", "text": "Showcased power/AI-data-center/robotics/e-mobility portfolio at PCIM Europe 2026 (press/independent-news)"}, {"date": "Aug 2026", "text": "Announced collaboration with LS ELECTRIC on high-efficiency DC power for AI data centers (press release)"}], "certifications": ["ISO 9001 — certified worldwide, covers all production sites", "IATF 16949 — certified worldwide, covers production sites, HQ, automotive design centers, and sales regions", "AS 9100"], "sources": [{"label": "en.wikipedia.org/wiki/Infineon_Technologies", "url": "https://en.wikipedia.org/wiki/Infineon_Technologies"}, {"label": "en.wikipedia.org/wiki/Infineon_Technologies_Austria", "url": "https://en.wikipedia.org/wiki/Infineon_Technologies_Austria"}, {"label": "vindobona.org Villach fab opening", "url": "https://www.vindobona.org/article/infineon-opened-euro-1-6-billion-high-tech-chip-factory-in-villach"}, {"label": "eetimes.eu Villach fab", "url": "https://www.eetimes.eu/infineon-opens-e1-6bn-300mm-fab-in-villach-ahead-of-schedule/"}, {"label": "infineon.com quality certifications", "url": "https://www.infineon.com/quality/certifications-and-standards"}, {"label": "semiconductor-today.com GaN Insights 2026", "url": "https://www.semiconductor-today.com/news_items/2026/feb/infineon-100226.shtml"}, {"label": "infineon.com LS ELECTRIC collaboration", "url": "https://www.infineon.com/market-news/2026/infxx202605-090"}], "company_linkedin": "https://www.linkedin.com/company/infineon-technologies/", "already_follows": true}, {"id": "boss-2", "name": "", "title": "", "company": "Wolfspeed", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — SiC Substrates & Devices", "region": "US", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Wolfspeed quality reliability", "notes": "", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": ""}, {"id": "boss-3", "name": "", "title": "", "company": "onsemi", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — SiC Power", "region": "US", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "onsemi SiC reliability", "notes": "", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": ""}, {"id": "boss-4", "name": "", "title": "", "company": "STMicroelectronics", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — SiC/GaN Power", "region": "CH/FR/IT", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "STMicroelectronics power reliability", "notes": "", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": ""}, {"id": "boss-5", "name": "", "title": "", "company": "ROHM", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — SiC Power", "region": "JP", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "ROHM SiC reliability engineer", "notes": "", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": ""}, {"id": "boss-6", "name": "", "title": "", "company": "Renesas", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN/SiC Power", "region": "JP", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Renesas power semiconductor reliability", "notes": "", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": ""}, {"id": "boss-7", "name": "Bhavesh Patel", "title": "Senior Manager, Reliability Engineering", "company": "Power Integrations", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN Power ICs", "region": "US", "stage": "Not started", "warmth": "", "abstract": "POWI qualifies automotive parts under AEC-Q100/Q101 and claims full in-house PowiGaN manufacturing control for reliability, but shows no visible in-house non-destructive imaging for die-attach/solder/package interconnects. Synchrotron 3D imaging could complement AEC-Q qualification and FA via non-destructive root-cause investigation (voiding, wire-bond/die-attach cracking, delamination) ahead of/instead of destructive cross-sectioning - valuable for scarce qualification samples or field-return failures.", "search_term": "Power Integrations reliability", "notes": "SEC EDGAR direct fetch blocked (403), 10-K figures via secondary summaries matching press release. Employee count discrepancy (865 vs 877) unresolved. No corporate ISO 9001/IATF 16949 found (absence of evidence, not evidence of absence). Could not confirm if X-ray/DPA explicitly named in their test methodology docs.", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": "https://www.linkedin.com/in/bhavesh-patel-03bb5b4/", "desc": "Designs/manufactures high-voltage ICs and GaN devices for power conversion, primarily AC-DC and DC-DC power supplies, across consumer electronics, appliances, industrial, renewable energy, automotive. NASDAQ: POWI.", "founded": "1988 by Klas Eklund, Art Fury, Steve Sharp; first product (TOPSwitch) 1994", "ceo": "Dr. Jennifer A. Lloyd, President & CEO since July 2025, succeeding Balu Balakrishnan", "leadership": [{"name": "Nancy Erba", "title": "CFO"}, {"name": "Mike Balow", "title": "Sr VP Worldwide Sales"}, {"name": "Julie Currie", "title": "Chief People/Transformation Officer"}, {"name": "Sunny Gupta", "title": "Sr VP Operations"}, {"name": "Andrew Hughes", "title": "General Counsel"}, {"name": "Chris Jacobs", "title": "Sr VP Marketing/Product Strategy (all primary source, investors.power.com)"}], "employees": "~865-877 (discrepancy: 10-K summary says 865 as of Dec 31 2025; power.com company page says 877)", "revenue": "FY2025 $443.5M (up 6% YoY); FY2024 $418.97M; FY2023 $444.54M (company press release/investors site, cross-checked)", "ownership": "Public, NASDAQ:POWI, IPO Dec 1997", "target_verticals": ["Appliances/consumer electronics", "mobile/computers", "renewable energy", "industrial motors", "automotive (EV traction inverters", "OBC)", "LED lighting", "data centers", "comms", "power transmission/rail"], "differentiators": ["PowiGaN patented GaN tech with full in-house manufacturing control", "InnoSwitch/TOPSwitch integrated IC families", "industry-first 1700V GaN (2024) and world's first 2200V GaN (Aug 2026)", "automotive-qualified InnoSwitch3-AQ/LinkSwitch-TN2Q (AEC-Q100), Qspeed diodes (AEC-Q101), SCALE EV gate-driver (ASIL B)"], "partnership_angle": ["POWI qualifies automotive parts under AEC-Q100/Q101 and claims full in-house PowiGaN manufacturing control for reliability, but shows no visible in-house non-destructive imaging for die-attach/solder/package interconnects. Synchrotron 3D imaging could complement AEC-Q qualification and FA via non-destructive root-cause investigation (voiding, wire-bond/die-attach cracking, delamination) ahead of/instead of destructive cross-sectioning - valuable for scarce qualification samples or field-return failures."], "fit_rating": "Moderate", "history": [{"date": "1988", "text": "Founded"}, {"date": "1994", "text": "TOPSwitch launched"}, {"date": "1997", "text": "NASDAQ IPO"}, {"date": "2021", "text": "Surpassed $500M revenue"}, {"date": "2022", "text": "Automotive-qualified SiC MOSFET ICs"}, {"date": "2024", "text": "Industry-first 1700V GaN"}, {"date": "", "text": "Jul 2025: Lloyd succeeds Balakrishnan as CEO"}, {"date": "", "text": "Aug 2026: World's first 2200V GaN demoed"}], "recent_activity": [{"date": "", "text": "Aug 2026 (press/independent-news): Q2 2026 earnings, margin expansion"}, {"date": "", "text": "Aug 2026 (press): 2200V GaN demo for AI data centers/EV/PV/BESS/HVDC, dev starting 2027, GA end 2028"}, {"date": "", "text": "Mar 2026 (independent-news): 440W TOPSwitchGaN launch, stock +7.3%"}, {"date": "", "text": "Jan 2026 (press): Chris Jacobs named SVP Marketing"}, {"date": "", "text": "May 2026 (press): Mike Balow named SVP Sales"}, {"date": "", "text": "Jul 2026 (news/filing): CEO Lloyd sold ~$936K stock, reported routine/tax-related"}], "certifications": ["AEC-Q100/Q101 on specific product lines", "ASIL B (ISO 26262) on SCALE EV gate-driver", "IEC60664-1, VDE0884-10, CTI 600. No ISO 9001/IATF 16949 corporate cert found."], "sources": [{"label": "power.com", "url": "https://power.com/company"}, {"label": "executive-management", "url": "https://investors.power.com"}, {"label": "automotive-solutions/automotive-qualification", "url": "https://power.com"}, {"label": "stockanalysis.com", "url": "https://stockanalysis.com"}, {"label": "Q4/FY results", "url": "https://investors.power.com"}, {"label": "2200V GaN release", "url": "https://morningstar.com"}, {"label": "CEO succession", "url": "https://powerelectronicsnews.com"}, {"label": "Lloyd CEO announcement", "url": "https://ieee-pels.org"}, {"label": "semiconductor-today.com", "url": "https://semiconductor-today.com"}, {"label": "linkedin.com", "url": "https://linkedin.com/in/bhavesh-patel-03bb5b4/"}]}, {"id": "boss-8", "name": "Anthony Schiro", "title": "VP Quality & Sustainability", "company": "Navitas Semiconductor", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN Power", "region": "US", "stage": "Not started", "warmth": "", "abstract": "Navitas stakes its differentiation on reliability data (7-yr field report, AEC-Q100/101, self-defined \"AEC-Plus\" extended/dynamic HTRB/HTGB stress testing), with a named VP Quality (Anthony Schiro) publishing on methodology. That qualification regime consumes small expensive lots of automotive/data-center grade parts in destructive DPA/cross-sectioning. TXproducts' non-destructive synchrotron imaging could let Navitas detect voids/cracks in die-attach and package interconnects (even in-situ during thermal cycling) without consuming the same qualification-lot samples - complementing, not replacing, their existing X-ray/DPA workflow. Timely given simultaneous automotive AEC-Plus push and Nvidia data-center collaboration.", "search_term": "Navitas Semiconductor reliability", "notes": "SEC EDGAR and navitassemi.com Quality page both blocked to fetch tool, so employee count/certs/revenue detail rely on secondary aggregation, not primary filing text. Employee count inconsistent (300 self-reported vs ~190 aggregator est.) - plausibly a 2024 workforce reduction, not confirmed. Gene Sheridan's post-CEO board status unconfirmed. CEO/contact LinkedIn URLs not found - manual search recommended.", "source_ref": "Yole Group Power SiC/GaN Market Monitor; Metoree GaN Rankings 2026", "website": "", "linkedin": "", "desc": "Public (Nasdaq: NVTS) power semiconductor company making GaN power ICs (GaNFast, GaNSense, GaNSafe) integrating switching+drive+control+sensing+protection on one chip, plus SiC discretes (650V-6500V) via GeneSiC. Targets AI data center power, EV/automotive, solar/energy storage, industrial, and fast chargers.", "founded": "2014, El Segundo/Torrance, CA, by Gene Sheridan and Dan Kinzer (ex-International Rectifier)", "ceo": "Chris Allexandre, President & CEO, effective Sept 1 2025 (succeeded co-founder Gene Sheridan); previously ran Renesas' Power Division", "leadership": [{"name": "Dan Kinzer", "title": "Co-founder, COO/CTO, Director"}, {"name": "Gene Sheridan", "title": "Co-founder, former CEO (stepped down Sept 2025)"}, {"name": "Richard Hendrix", "title": "Board Chairman"}, {"name": "Anthony Schiro", "title": "VP Quality & Sustainability"}, {"name": "Paul Wheeler", "title": "VP & GM SiC BU"}], "employees": "~300 self-reported (Feb 2024); aggregator estimates ~190-192 (2025/26, Tracxn/PitchBook) - consistent with disclosed FY2024 workforce reduction. Not independently confirmed.", "revenue": "FY2022 $37.9M; FY2023 $79.5M; FY2024 ~$83.3M; FY2025 ~$45.9M (down ~44.9% YoY) - StockTitan aggregation of SEC data, not independently verified (SEC EDGAR direct fetch blocked 403)", "ownership": "Publicly traded Nasdaq:NVTS, went public via SPAC merger with Live Oak Acquisition Corp II (2021, >$1B valuation)", "target_verticals": ["AI/data center power", "automotive/EV", "solar/energy storage", "industrial electrification", "mobile/consumer fast chargers"], "differentiators": ["GaNFast integrated power ICs", "GaNSafe short-circuit protection (350ns) + 2kV ESD", "GeneSiC trench-assisted planar SiC tech", "\"AEC-Plus\" self-defined qualification standard beyond AEC-Q101/JEDEC", "7-year reliability report (>250M units shipped, >2 trillion field device hours, ~100ppb failure rate, self-reported)", "first semiconductor co. CarbonNeutral certified", "Nvidia 800V HVDC data-center partnership"], "partnership_angle": ["Navitas stakes its differentiation on reliability data (7-yr field report, AEC-Q100/101, self-defined \"AEC-Plus\" extended/dynamic HTRB/HTGB stress testing), with a named VP Quality (Anthony Schiro) publishing on methodology. That qualification regime consumes small expensive lots of automotive/data-center grade parts in destructive DPA/cross-sectioning. TXproducts' non-destructive synchrotron imaging could let Navitas detect voids/cracks in die-attach and package interconnects (even in-situ during thermal cycling) without consuming the same qualification-lot samples - complementing, not replacing, their existing X-ray/DPA workflow. Timely given simultaneous automotive AEC-Plus push and Nvidia data-center collaboration."], "fit_rating": "Strong", "history": [{"date": "2014", "text": "Founded"}, {"date": "2021", "text": "SPAC merger, Nasdaq listing"}, {"date": "2022", "text": "Acquired GeneSiC (~$100M) for SiC"}, {"date": "2023", "text": "Shipped >100M GaN devices, Forbes/Deloitte recognition"}, {"date": "2024", "text": "10-year anniversary, ~300 employees, CarbonNeutral cert"}, {"date": "", "text": "Apr-May 2025: GaNSafe AEC-Q100/101 then \"AEC-Plus\" SiC MOSFETs"}, {"date": "", "text": "May 2025: Nvidia 800V HVDC collaboration"}, {"date": "", "text": "Sept 2025: Chris Allexandre named CEO"}], "recent_activity": [{"date": "", "text": "Apr 2025 (press): GaNSafe AEC-Q100/101 qualification"}, {"date": "", "text": "May 2025 (press): AEC-Plus SiC MOSFETs"}, {"date": "", "text": "May 2025 (press): Nvidia 800V HVDC collaboration"}, {"date": "", "text": "Sept 2025 (press/news): CEO transition to Allexandre"}, {"date": "", "text": "Jul 2026 (self-reported): Q2 2026 results, FY2025 revenue down ~44.9% YoY (secondary source, not independently verified)"}], "certifications": ["CarbonNeutral certified (Climate Impact Partners, self-reported)", "AEC-Q100/AEC-Q101 (GaNSafe, Apr 2025)", "\"AEC-Plus\" company-defined benchmark (May 2025)", "ISO 9001/IATF 16949 not found (Quality page blocked to fetch)"], "sources": [{"label": "CEO announcement", "url": "https://navitassemi.com"}, {"label": "electronicsweekly.com", "url": "https://electronicsweekly.com"}, {"label": "x2", "url": "https://semiconductor-today.com"}, {"label": "GeneSiC acquisition", "url": "https://eepower.com"}, {"label": "AEC-Plus press release", "url": "https://globenewswire.com"}, {"label": "AEC-Q100/101", "url": "https://compoundsemiconductor.net"}, {"label": "Nvidia release", "url": "https://ir.navitassemi.com"}, {"label": "financials (aggregator", "url": "https://stocktitan.net"}]}, {"id": "boss-9", "name": "Bel Lazar", "title": "COO, Efficient Power Conversion Corporation / CEO, EPC Space", "company": "EPC (Efficient Power Conversion)", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN FETs", "region": "US", "stage": "Not started", "warmth": "", "abstract": "EPC already runs and PUBLICLY DOCUMENTS an extensive multi-phase reliability/qualification testing regime, and EPC Space's new JANS MIL-PRF-19500 cert for rad-hard GaN HEMTs means it now operates under defense-grade standards that typically demand destructive physical analysis (decapsulation, cross-sectioning, wire-bond pull tests). Since EPC Space parts are low-volume, expensive, rad-hardened space-grade devices, every unit destroyed for cross-sectional inspection is a costly loss of qualification/flight-lot material. TXproducts' non-destructive synchrotron imaging could inspect die-attach voiding, wire-bond integrity, and package/solder cracking at higher resolution than conventional X-ray while PRESERVING the sample for continued life-testing or flight use - complementing their existing DPA/X-ray workflow referenced in their own reliability reports.", "search_term": "EPC GaN reliability engineer", "notes": "epc-co.com's own site (homepage, About, Quality Certificates) consistently returned 403 to fetch tool - several claims rest on secondary sources, recommend manual browser check before finalizing pitch. Employee/revenue figures are aggregator-estimate-only, wide range, no primary figure found. \"$7.5M raised\" funding claim looks unreliable/possibly wrong entity - don't use in outreach. Robert Beach/Joe Cao current status at EPC unconfirmed (only founder status documented). No named Quality/Reliability/Test Engineering contact BELOW COO level found - Bel Lazar is senior but best-documented target given his 22-yr Intl Rectifier \"High Reliability business unit\" background; a mid-level contact would need manual LinkedIn search (not completed, search budget exhausted). AS9100 status genuinely unconfirmed, don't assume absence.", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": "https://www.linkedin.com/in/bel-lazar/", "desc": "Designs/manufactures enhancement-mode gallium nitride (eGaN) FETs and ICs replacing silicon power MOSFETs - higher efficiency, smaller size, higher switching frequency for DC-DC conversion, motor drives, lidar, wireless power, RF. Via EPC Space JV (with VPT), also produces radiation-hardened GaN power devices for satellites/defense. HQ El Segundo, CA; privately held.", "founded": "2007, by Alex Lidow, Robert Beach, Joe Cao (Wikipedia, corroborated; epc-co.com About page blocked/403)", "ceo": "Alex Lidow (co-founder, CEO since 2007; previously CEO of International Rectifier 12 yrs, co-inventor of HEXFET MOSFET 1978)", "leadership": [{"name": "Robert Beach", "title": "co-founder (current role unconfirmed)"}, {"name": "Joe Cao", "title": "co-founder (current role unconfirmed)"}, {"name": "Bel Lazar", "title": "COO of EPC AND CEO of EPC Space (30+ yrs semiconductor/aerospace/defense, ex-President/CEO API Technologies, ex-SVP Microsemi, 22 yrs at Intl Rectifier VP/GM High Reliability BU)"}, {"name": "Maurizio Salato", "title": "VP Engineering, EPC Space"}, {"name": "Sean Morrison", "title": "VP BD, EPC Space"}], "employees": "Not found on primary source (site blocked 403). Aggregator estimates vary: ZoomInfo 51-200, Explorium 129, RocketReach 107. Unconfirmed, rough 100-200 range.", "revenue": "Not found, private company no filings. One low-quality aggregator claim ($7.5M raised, \"Polo Tecnologico di Pavia\" investor) looks unreliable/possibly wrong entity - do not use.", "ownership": "Private, founder-led (Alex Lidow CEO). EPC Space = JV with VPT (~2020). No confirmed outside/VC ownership.", "target_verticals": ["Automotive/EV", "consumer electronics", "data center/telecom power", "lidar/autonomous vehicles", "wireless power", "RF/envelope tracking", "Class-D audio", "medical", "robotics/drones", "satellites/space", "avionics", "defense (via EPC Space)"], "differentiators": ["eGaN tech multiples-better than silicon MOSFETs in size/efficiency/switching freq", "extensive PUBLISHED multi-phase reliability testing program (public \"Reliability Report Phase 7/8/9/10/17...\" + per-part Qualification Reports on epc-co.com) - unusually transparent for a component maker", "ISO 9001 certified (GaN power transistors/power mgmt devices, cert# unconfirmed - site blocked)", "EPC Space achieved JANS MIL-PRF-19500 certification (Dec 2024) for GaN HEMTs at Andover MA + Taiwan fab - claimed world-first for GaN (corroborated independent trade press)", "rad-hard GaN FETs (EPC7001/EPC7002, Sept 2023) rated >1000 kilorads TID + SEE immunity LET 83.7 MeV/mg/cm^2"], "partnership_angle": ["EPC already runs and PUBLICLY DOCUMENTS an extensive multi-phase reliability/qualification testing regime, and EPC Space's new JANS MIL-PRF-19500 cert for rad-hard GaN HEMTs means it now operates under defense-grade standards that typically demand destructive physical analysis (decapsulation, cross-sectioning, wire-bond pull tests). Since EPC Space parts are low-volume, expensive, rad-hardened space-grade devices, every unit destroyed for cross-sectional inspection is a costly loss of qualification/flight-lot material. TXproducts' non-destructive synchrotron imaging could inspect die-attach voiding, wire-bond integrity, and package/solder cracking at higher resolution than conventional X-ray while PRESERVING the sample for continued life-testing or flight use - complementing their existing DPA/X-ray workflow referenced in their own reliability reports."], "fit_rating": "Moderate", "history": [{"date": "2007", "text": "Founded by Lidow/Beach/Cao after Lidow's Intl Rectifier CEO tenure"}, {"date": "", "text": "~2020: EPC Space JV formed with VPT"}, {"date": "", "text": "Sept 2023: EPC7001/EPC7002 rad-hard 40V GaN FETs launched"}, {"date": "2024", "text": "EPC2361 launched (smallest 100V 1mOhm GaN FET)"}, {"date": "", "text": "Dec 27 2024: EPC Space JANS MIL-PRF-19500 certification announced (world-first for GaN HEMTs claim)"}], "recent_activity": [{"date": "", "text": "Dec 2024 (press, corroborated independent trade press): JANS MIL-PRF-19500 certification"}, {"date": "", "text": "roadmap of 18 JANS-certified rad-hard GaN HEMT parts (40V-300V) through 2025 (press/independent news)"}, {"date": "", "text": "EPC2361 launch 2024 (self-reported)"}, {"date": "", "text": "EPC7001/EPC7002 launch Sept 2023 for LEO/GEO satellites, avionics, military (independent news)"}], "certifications": ["ISO 9001 (GaN power transistors/mgmt devices scope, cert# unconfirmed, site blocked)", "JANS MIL-PRF-19500 (EPC Space, Dec 2024, DoD-managed standard, world-first-for-GaN claim, corroborated by independent trade press)", "AS9100 genuinely unconfirmed (not confirmed absent, not confirmed present)"], "sources": [{"label": "en.wikipedia.org", "url": "https://en.wikipedia.org/wiki/Efficient_Power_Conversion"}, {"label": "en.wikipedia.org", "url": "https://en.wikipedia.org/wiki/Alex_Lidow"}, {"label": "JANS cert news (snippet only, 403 on direct fetch", "url": "https://epc-co.com"}, {"label": "Dec 2024", "url": "https://semiconductor-today.com"}, {"label": "militaryaerospace.com", "url": "https://militaryaerospace.com"}, {"label": "powerelectronicsnews.com", "url": "https://powerelectronicsnews.com"}, {"label": "epc.space", "url": "https://epc.space/about/leadership-team/"}, {"label": "linkedin.com", "url": "https://linkedin.com/in/bel-lazar/"}, {"label": "Qualification Reports PDFs (found, not parseable", "url": "https://epc-co.com"}]}, {"id": "boss-10", "name": "Denis Marcon", "title": "General Manager, Innoscience Europe (unverified beyond LinkedIn search snippet, direct profile fetch blocked)", "company": "Innoscience", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN Power", "region": "CN", "stage": "Not started", "warmth": "", "abstract": "Innoscience is scaling GaN wafer output ~5.6x by 2029 while still recently loss-making - yield, reliability, and FA throughput at fab scale are directly tied to hitting that capacity target and satisfying new automotive/data-center customers (Nvidia 800VDC, onsemi collaborations) who demand rigorous non-destructive qualification evidence. TXproducts' synchrotron imaging offers higher-resolution non-destructive complement to internal X-ray/destructive cross-sectioning, useful for root-causing GaN-on-Si delamination/void/package defects without consuming production samples during the capacity ramp.", "search_term": "Innoscience GaN reliability", "notes": "innoscience.com itself blocked all automated fetch (403 on /about-us and /investor-relations) - leadership/cert/official claims rely on secondary summarization. Founding year minor discrepancy (2015 vs 2017), 2015 better corroborated. Revenue/ownership % trace to IPO prospectus via a secondary blog, not the primary HKEX filing - recommend pulling the prospectus PDF before quoting externally. No CTO or dedicated Quality/Reliability/Test contact identified. GEOGRAPHIC/LOGISTICS CONCERN (material to fit rating): TXproducts is Europe/DESY-Hamburg-based; Innoscience's fabs/HQ/leadership are entirely China-based (Zhuhai/Suzhou), revenue concentrated domestically (largest customer CATL ~32% of 2023 revenue), positioned as a \"national champion\" in China's chip self-sufficiency push. Real friction: (1) physical sample shipping China-to-Europe synchrotron facility is slow/costly/export-control-sensitive given GaN power semiconductors' dual-use status; (2) geopolitical tension may make a China-based IDM cautious sending proprietary defect data to a Western facility, and vice versa for TXproducts' own institutional/EU-linked relationships; (3) time zone/language gaps complicate fast iterative sample-turnaround relationships synchrotron beamtime usually requires. Given real technical fit but serious logistics/geopolitical friction: worth a soft/exploratory outreach (via Europe GM contact if confirmed) rather than a priority pursuit - should not be resourced ahead of comparable Western or Asian-allied targets.", "source_ref": "Yole Group Power SiC/GaN Market Monitor", "website": "", "linkedin": "https://be.linkedin.com/in/marcondenis", "desc": "World's largest 8-inch Integrated Device Manufacturer (IDM) fully focused on GaN power semiconductors, own epitaxy-to-package fabs in Zhuhai and Suzhou, China. Products span 15V-1200V GaN epitaxial wafers, discrete devices, power ICs and modules for chargers, data centers, automotive, industrial, renewable energy. ~29.9-33.7% global GaN power device market share (2023/2024, self-reported/press).", "founded": "2015 (Dec 17, better corroborated vs a competing \"2017\" source), by Luo Weiwei, former NASA scientist (15 years), PhD applied mathematics Massey University", "ceo": "Wu Jingang (PhD Physical Chemistry, Lanzhou Institute/CAS; former VP Technology Development at SMIC). Luo Weiwei is Founder/Chairwoman (not CEO), remains controlling shareholder (~34.5%) and more prominent public face.", "leadership": [{"name": "Luo Weiwei", "title": "Founder & Chairwoman"}, {"name": "Zhong Shan", "title": "Executive Director & CFO"}, {"name": "Denis Marcon", "title": "GM Innoscience Europe (Belgium, unverified beyond LinkedIn snippet)"}, {"name": "Yi Sun", "title": "Sr VP Product & Engineering/GM, San Francisco Bay Area, 20+ yrs power electronics (LinkedIn confirmed). No CTO identified."}], "employees": "1,147 (Dec 2024) / 1,238 (mid-2025) / 1,359 (Dec 2025) - S&P Global Market Intelligence via stockanalysis.com, filing-based", "revenue": "RMB ~592.7M (2023, prospectus-derived); RMB 68.2M (2021); RMB 136M (2022). Still loss-making: net loss ~RMB 1.1B in 2023. No independent post-2023 figure found - verify against actual HKEX prospectus/annual report before quoting externally.", "ownership": "Public, HKEX Main Board since Dec 30 2024 (ticker 2577), raised ~US$180M IPO. Pre-IPO VC-backed through 5 rounds (Series E 2023 at ~RMB23.5bn post-money). Cornerstone IPO investors incl. an STMicroelectronics subsidiary (US$50M), Jiangsu Govtor Inno Technology, HK InnoSC Ltd, Inno CL.", "target_verticals": ["Fast chargers/consumer electronics", "data centers/AI infrastructure", "automotive/NEV powertrain", "industrial power", "renewable energy/solar & motor drives", "5G base stations", "defense/aerospace"], "differentiators": ["World's first IDM to mass-produce 8-inch GaN-on-Si wafers (company claim)", "largest dedicated 8-inch GaN-on-Si wafer capacity globally, expanding 12,500 wpm (2024) to planned 70,000 wpm by 2029", "full vertical integration epitaxy through modules", "800+ granted/pending patents, shipments >1 billion GaN devices/300M+ InnoGaN chips (self-reported)", "ISO 9001/IATF 16949 referenced but unconfirmed (site blocked fetch)"], "partnership_angle": ["Innoscience is scaling GaN wafer output ~5.6x by 2029 while still recently loss-making - yield, reliability, and FA throughput at fab scale are directly tied to hitting that capacity target and satisfying new automotive/data-center customers (Nvidia 800VDC, onsemi collaborations) who demand rigorous non-destructive qualification evidence. TXproducts' synchrotron imaging offers higher-resolution non-destructive complement to internal X-ray/destructive cross-sectioning, useful for root-causing GaN-on-Si delamination/void/package defects without consuming production samples during the capacity ramp."], "fit_rating": "Moderate", "history": [{"date": "2015-12-17", "text": "Founded in Zhuhai by Luo Weiwei"}, {"date": "2017", "text": "Early growth coverage (Zhuhai local press)"}, {"date": "", "text": "2021-2023: Five VC rounds, Series E 2023 at ~RMB23.5bn"}, {"date": "2023", "text": "Reported #1 global GaN power device market share (29.9-33.7% varies by source)"}, {"date": "2024-12-30", "text": "HKEX IPO, ~US$180M raised"}, {"date": "2025", "text": "Nvidia 800VDC collaboration announced"}, {"date": "", "text": "Dec 2025: onsemi partnership for GaN deployment"}], "recent_activity": [{"date": "", "text": "Dec 2024 (independent-news): HKEX IPO with STMicroelectronics cornerstone investor"}, {"date": "", "text": "Aug 2025 (press/self-reported, secondary summary only): Nvidia 800VDC AI-infrastructure collaboration"}, {"date": "", "text": "Dec 2025 (press, page blocked): onsemi partnership for global GaN rollout"}, {"date": "", "text": "STMicroelectronics GaN technology dev/manufacturing agreement (press, date unconfirmed)"}, {"date": "", "text": "InnoGaN chip shipments >300M pieces (self-reported, snippet only)"}], "certifications": ["ISO 9001 and IATF 16949 referenced (no cert numbers/dates found, sourced from AI-aggregator summary only, not independently verified - flag unconfirmed). AEC-Q101: not found."], "sources": [{"label": "en.wikipedia.org", "url": "https://en.wikipedia.org/wiki/Innoscience"}, {"label": "semiconductor-today.com", "url": "https://semiconductor-today.com"}, {"label": "IPO coverage", "url": "https://thebambooworks.com"}, {"label": "and sidley.com IPO legal announcements", "url": "https://cliffordchance.com"}, {"label": "Luo Weiwei profile", "url": "https://scmp.com"}, {"label": "techsoda.substack.com", "url": "https://techsoda.substack.com"}, {"label": "employees", "url": "https://stockanalysis.com"}, {"label": "chargerlab.com", "url": "https://chargerlab.com"}, {"label": "press release (headline only, blocked", "url": "https://onsemi.com"}, {"label": "linkedin.com", "url": "https://linkedin.com/in/yi-sun-582a2211/"}, {"label": "blocked", "url": "https://be.linkedin.com/in/marcondenis"}]}, {"id": "boss-11", "name": "", "title": "", "company": "GaN Systems", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — GaN Power", "region": "CA", "stage": "Not started", "warmth": "", "abstract": "GaN Systems' own marketing emphasized extensive internal reliability/qualification testing (JEDEC+, AEC-Q101, FMEA-driven stress testing) as a core trust signal - exactly what non-destructive synchrotron 3D imaging could substantiate/extend (verifying internal die/package integrity, voiding, interconnect defects non-destructively alongside destructive cross-sectioning). HOWEVER: no longer an independent commercial target since Oct 2023 acquisition - outreach is effectively into Infineon's GaN power business line (merged with Infineon's existing ~450-person GaN org), not a standalone company with its own procurement/BD function.", "search_term": "GaN Systems reliability engineer", "notes": "gansystems.com completely unreachable in research session (DNS failure every attempt) - several claims (Island Technology description, team page, official certs) rely on secondary sources/search snippets only. Close date has minor cross-source discrepancy (Oct 24/25/early Nov 2023). Co-founder names appeared only in aggregator snippets, not verified - do not state as confirmed fact. No standalone post-acquisition employee/revenue/segment financials found (very likely no longer disclosed separately now part of Infineon Power & Sensor Systems). CRITICAL FOR OUTREACH: GaN Systems has been a wholly-owned Infineon subsidiary since Oct 2023 - redesign any cold-outreach plan around Infineon's GaN power business line/Ottawa site contacts, not a standalone \"GaN Systems Inc.\" entity.", "source_ref": "Metoree GaN Power Device Rankings 2026", "website": "", "linkedin": "", "desc": "Fabless semiconductor company that designed/sold GaN power transistors (100V and 650V FETs) based on proprietary \"Island Technology\" GaN-on-silicon die architecture for lower cost, higher current density, lower parasitic inductance than competing GaN designs. As of Oct 2023, wholly-owned subsidiary of Infineon Technologies AG, folded into Infineon's GaN power business.", "founded": "2008, Ottawa/Toronto, Canada. Founders cited only in unverified aggregator snippets (\"Girvan Patterson and John Roberts\") - not confirmed on a primary source (own site unreachable during research).", "ceo": "Jim Witham (GaN Systems CEO pre/through acquisition, appointed 2014). Post-acquisition parent CEO: Jochen Hanebeck (Infineon Technologies AG). Unconfirmed whether Witham retained a role post-close.", "leadership": [{"name": "Jochen Hanebeck", "title": "CEO, Infineon Technologies AG (parent, post-acquisition)"}, {"name": "Girvan Patterson", "title": "co-founder/CTO cited only in unverified aggregator snippets, flag as unconfirmed. No other named GaN Systems execs (VP Quality/Reliability/Engineering) found."}], "employees": "Not separately disclosed post-acquisition. Only figure found: \"450 GaN experts\" combined Infineon+GaN Systems (Infineon press release, corroborated by trade press). Standalone pre-acquisition headcount gated behind paid Preqin subscription.", "revenue": "Not found - never publicly disclosed as independent company (private, VC-backed); post-acquisition folded into Infineon's Power & Sensor Systems division with no GaN-specific breakout found.", "ownership": "Wholly-owned subsidiary of Infineon Technologies AG since acquisition closed late Oct 2023 (dates vary Oct 24/25/early Nov across sources). Announced Mar 2 2023, all-cash $830M USD deal. Prior: privately/VC-backed (BMW i Ventures, Fidelity Investments, Chrysalix, Cycle Capital, RockPort Capital, Vitesco Technologies; $150M growth round Nov 2021 led by Fidelity; $200M+ cumulative funding).", "target_verticals": ["Data center/server power", "EV/automotive (on-board chargers", "BMW 2021 capacity agreement)", "renewable energy/solar/energy storage", "industrial motor drives", "consumer electronics", "space applications"], "differentiators": ["\"Island Technology\" GaN-on-silicon architecture claimed to minimize die size, mitigate electromigration, enable high-current devices (own site unreachable, via search snippet only)", "enhanced \"JEDEC+\" reliability methodology beyond standard JEDEC/AEC-Q101 with FMEA-driven testing, reporting 0 failures across 1000-hr HTRB/HTGB/LTRB/LTS and 96-hr HAST stress tests (GaN Systems/PSMA whitepaper, self-reported)", "select 650V GaN transistors AEC-Q101 qualified", "first GaN transistor to reach automotive qualification via 2021 BMW capacity agreement (unverified aggregator claim)"], "partnership_angle": ["GaN Systems' own marketing emphasized extensive internal reliability/qualification testing (JEDEC+, AEC-Q101, FMEA-driven stress testing) as a core trust signal - exactly what non-destructive synchrotron 3D imaging could substantiate/extend (verifying internal die/package integrity, voiding, interconnect defects non-destructively alongside destructive cross-sectioning). HOWEVER: no longer an independent commercial target since Oct 2023 acquisition - outreach is effectively into Infineon's GaN power business line (merged with Infineon's existing ~450-person GaN org), not a standalone company with its own procurement/BD function."], "fit_rating": "Weak", "history": [{"date": "2008", "text": "Founded (Ottawa/Toronto)"}, {"date": "2014", "text": "Jim Witham appointed CEO"}, {"date": "2015", "text": "10x production capacity increase at TSMC foundry partner"}, {"date": "2017", "text": "BMW i Ventures becomes investor"}, {"date": "2020", "text": "Published JEDEC+ reliability/lifetime whitepaper"}, {"date": "2021", "text": "$150M growth round (Fidelity-led, Vitesco/BMW i Ventures participating)"}, {"date": "2021", "text": "BMW Group semiconductor capacity agreement"}, {"date": "2023-03-02", "text": "Infineon announces definitive agreement to acquire for $830M cash"}, {"date": "2023-10-24/25", "text": "Acquisition closes, combined GaN org ~450 experts, 350+ patent families"}], "recent_activity": [{"date": "", "text": "Oct 2023 (press/independent-news): Infineon completes acquisition"}, {"date": "", "text": "Infineon stated commitment to \"retaining and growing GaN's presence in Canada\" post-close (independent-news, not directly quoted from located primary source)"}, {"date": "", "text": "no GaN Systems-branded news found 2024-2026 - activity since close reported under Infineon corporate umbrella, not standalone (gap, not found)"}], "certifications": ["AEC-Q101 (select 650V GaN FETs, no cert number/date found)", "JEDEC-based + internally-branded \"JEDEC+\" methodology (self-reported whitepaper, no formal cert body/number)", "ISO 9001 not found/not confirmed"], "sources": [{"label": "press-release/2023/infxx202310-014", "url": "https://infineon.com"}, {"label": "acquisition close coverage", "url": "https://betakit.com"}, {"label": "signalintegrityjournal.com", "url": "https://signalintegrityjournal.com"}, {"label": "semiconductor-today.com", "url": "https://semiconductor-today.com"}, {"label": "powerelectronicsnews.com", "url": "https://powerelectronicsnews.com"}, {"label": "bmwiventures.com", "url": "https://bmwiventures.com"}, {"label": "gated", "url": "https://preqin.com"}, {"label": "JEDEC+ whitepaper PDF", "url": "https://psma.com"}, {"label": "Witham CEO appointment", "url": "https://sst.semiconductor-digest.com"}]}, {"id": "boss-12", "name": "", "title": "", "company": "Vishay Intertechnology", "category": "Lead", "source": "Outreach", "vertical": "Power Electronics (Devices) — Power Discretes", "region": "US", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Vishay power discrete reliability", "notes": "", "source_ref": "Kontakte_7_verifizierte_Referenzen.xlsx (co-author affiliation, Ref #2)", "website": "", "linkedin": ""}, {"id": "boss-13", "name": "", "title": "", "company": "Cissoid", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — SiC/GaN for extreme temperature", "region": "BE", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Cissoid reliability engineer", "notes": "", "source_ref": "Metoree SiC MOSFET Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-14", "name": "", "title": "", "company": "WeEn Semiconductors", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — SiC MOSFETs", "region": "CN/NL", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "WeEn Semiconductors reliability", "notes": "", "source_ref": "Metoree SiC MOSFET Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-15", "name": "", "title": "", "company": "Solitron Devices", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — Discrete power, Hi-Rel/Space", "region": "US", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Solitron Devices quality engineer", "notes": "", "source_ref": "Metoree SiC MOSFET Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-16", "name": "", "title": "", "company": "NexGen Power Systems", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — GaN Power", "region": "US", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "NexGen Power Systems reliability", "notes": "", "source_ref": "Metoree GaN Power Device Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-17", "name": "", "title": "", "company": "GaNPower International", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — GaN Power", "region": "CA", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "GaNPower International reliability", "notes": "", "source_ref": "Metoree GaN Power Device Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-18", "name": "", "title": "", "company": "Toshiba Electronic Devices", "category": "Lead", "source": "Outreach", "vertical": "Devices (WBG Device Manufacturer) — SiC/Power discretes", "region": "JP", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Toshiba Electronic Devices reliability", "notes": "", "source_ref": "Metoree SiC MOSFET Rankings 2026", "website": "", "linkedin": ""}, {"id": "boss-19", "name": "", "title": "", "company": "Applied Technical Services (ATS)", "category": "Lead", "source": "Outreach", "vertical": "Device Testing — Reliability & radiation testing for aerospace semiconductors", "region": "US", "stage": "Not started", "warmth": "", "abstract": "ATS's marketing frames radiation testing as producing physical/parametric degradation data (TID/SEE/ELDRS) but doesn't offer internal 3D imaging to see WHERE damage occurred inside a die/package - synchrotron CT is a natural bolt-on for post-test failure analysis (locating latch-up sites or bond-wire damage after SEE/TID testing) without ATS needing beamtime access itself. ATS already sells a separate NDT division as one of five core service lines - existing sales motion and customer base primed for a \"non-destructive\" pitch", "search_term": "Applied Technical Services radiation testing", "notes": "ZoomInfo employee/revenue figures are stale relative to Jan 2026 SGS acquisition figures. Multiple unrelated companies share similar \"Applied Technical/Technology Services\" names - had to disambiguate carefully. Confirm leadership currency given very recent (Jan 2026) ownership change.", "source_ref": "atslab.com/testing-and-analysis/radiation/radiation-hardness-testing", "website": "", "linkedin": "", "desc": "US multi-discipline testing/inspection/calibration/forensics (TICC) lab network running an accredited radiation-effects testing division for aerospace/defense semiconductors (TID, DDD, SEE, ELDRS, RLAT to MIL-STD-750/883 and ESCC standards). 80-85 facilities across the US under \"ATS Family of Companies,\" turn-key \"RFP to final data analysis.\"", "founded": "1967, by Bill Lewis and Ralph Johnson", "ceo": "Marcus Maguire, CEO, ATS LLC (took role following SGS acquisition)", "ceo_url": "https://www.linkedin.com/in/marcus-maguire-a8b20312/", "leadership": [{"name": "Jim J. Hills", "title": "President of ATS at time of 2021 Odyssey acquisition (role may have changed under SGS ownership, not reconfirmed)"}], "employees": "~2,100 / 85 facilities as of Jan 2026 SGS acquisition close. ZoomInfo's \"500-1,000\" figure is stale/unreliable.", "revenue": "SGS acquired ATS for $1.325B; anticipated 2026 revenue ~$460M with ~$95M EBITDA pre-synergies. ZoomInfo's $159.7M estimate is outdated/unreliable.", "ownership": "As of Jan 13 2026, wholly owned subsidiary of SGS S.A. (Swiss, public, SIX:SGSN). Previously majority-owned by Odyssey Investment Partners (PE, since Jan 2021); privately held since 1967 before that.", "target_verticals": ["Aerospace", "defense", "automotive", "oil & gas", "healthcare", "manufacturing", "power generation (15+ sectors per atslab.com)"], "differentiators": ["ISO/IEC 17025:2017 (A2LA) accredited across multiple facilities, plus ISO 9001:2015, NADCAP, AS9100D, FAA certs, ASME NQA-1/10 CFR compliance", "in-house TID/neutron/flash-X-ray plus remote heavy-ion/proton SEE access", "turn-key RFP-to-report model", "part of SGS's global 2,500+ lab network post-acquisition"], "partnership_angle": ["ATS's marketing frames radiation testing as producing physical/parametric degradation data (TID/SEE/ELDRS) but doesn't offer internal 3D imaging to see WHERE damage occurred inside a die/package - synchrotron CT is a natural bolt-on for post-test failure analysis (locating latch-up sites or bond-wire damage after SEE/TID testing) without ATS needing beamtime access itself. ATS already sells a separate NDT division as one of five core service lines - existing sales motion and customer base primed for a \"non-destructive\" pitch", "TXproducts could position as a premium escalation above ATS's standard NDT for high-value aerospace parts. Just became an SGS subsidiary (Jan 2026) = organizational flux/roadmap-setting moment, often a good time to pitch new complementary capabilities."], "fit_rating": "Strong", "history": [{"date": "1967", "text": "Founded by Bill Lewis and Ralph Johnson"}, {"date": "2021-01-19", "text": "Acquired by Odyssey Investment Partners"}, {"date": "2021-11-05", "text": "ATS acquires Radiation Test Solutions Inc."}, {"date": "2025-07", "text": "SGS announces agreement to acquire ATS"}, {"date": "2026-01-13", "text": "SGS completes $1.325B acquisition, ~2,100 employees, 85 facilities"}], "recent_activity": [{"date": "", "text": "2025-07 (independent-news): SGS announces acquisition agreement"}, {"date": "", "text": "2026-01-13 (independent-news): SGS closes acquisition, framed as 80% of SGS's goal to double North American revenue by 2027"}, {"date": "", "text": "2021-11 (press-release): RTS acquisition announced, expanding radiation-survivability capability"}], "certifications": ["ISO/IEC 17025:2017 (A2LA, multiple sites)", "ISO 9001:2015", "NADCAP (Materials Testing, NDT)", "AS9100D", "FAA certs", "ASME NQA-1/10 CFR compliance", "suitability for ASTM F1192, EIA/JESD57, ESCC 22900/25100, MIL-STD-750/883"], "sources": [{"label": "radiation-testing-services", "url": "https://atslab.com"}, {"label": "radiation-hardened-electronics-testing", "url": "https://atslab.com"}, {"label": "RTS acquisition post", "url": "https://atslab.com"}, {"label": "Odyssey acquisition", "url": "https://prnewswire.com"}, {"label": "SGS acquisition close", "url": "https://finanznachrichten.de"}, {"label": "linkedin.com", "url": "https://linkedin.com/in/marcus-maguire-a8b20312/"}, {"label": "aggregator, flagged stale", "url": "https://zoominfo.com"}]}, {"id": "boss-20", "name": "Reed Coffey", "title": "Technical Sales Manager", "company": "AAA Engineering & Test Lab", "category": "Lead", "source": "Outreach", "vertical": "Device Testing — Hi-Rel/space qualification, RadHard testing", "region": "US", "fit": "Complementary, not competing", "employees": "~11-49 (est.)", "founded": "2009", "target_verticals": ["Aerospace & Defense", "Space", "Medical", "Industrial", "Automotive"], "stage": "Not started", "warmth": "", "abstract": "We offer non-destructive, synchrotron-grade 3D imaging as a complement to their existing radiation-hardness and destructive testing — since they already route specialized testing (heavy-ion/proton/neutron irradiation) to outside partners, positioning us as another trusted partner fits how they already operate.", "notes": "Contact note: Reed Coffey picked as contact (closest to Business Development). Discrepancies found, not resolved: CEO listed as Matt McIntosh in a Jun 2023 press release vs. Eric Young on the current About page (likely a leadership change since). Founding year is 2009 per their About page, but SAM.gov federal registration shows Jan 2014 (likely the ECAL merger/re-incorporation date). Employee count and revenue are conflicting third-party estimates (LeadIQ vs. Datanyze), not independently confirmed. Alternate contact: Michael Horn, Quality Assurance Manager (Orlando, FL, per RocketReach) — closer title match to the boss's target roles than Coffey's Technical Sales Manager, but not yet verified beyond that one listing.", "source_ref": "aaactl.com/about-us/ (leadership, founding, milestones); aaactl.com/services/hi-rel-space-qualification/radhard", "website": "https://aaactl.com/", "linkedin": "https://www.linkedin.com/in/reed-c-1b9346100/", "techniques": [{"category": "Electrical", "items": ["AC/DC parameter testing", "DDR/DRAM testing", "DLA QTSL compliance"]}, {"category": "Environmental", "items": ["Temperature cycling", "MIL-STD-883/202/810", "JESD22", "DO-160"]}, {"category": "Hi-Rel & Space Qualification", "items": ["MIL-STD-883 Testing", "Destructive Physical Analysis (DPA)", "EMI/EMC testing", "PEM Qualification (NASA EEE-INST-002)", "Radiation Hardness Assurance (RadHard/TID)", "Shock & Vibration", "Thermal Vacuum (TVAC)"]}, {"category": "Counterfeit Mitigation", "items": ["AS6171 Component Authentication", "AS6081 Counterfeit Avoidance & Detection"]}, {"category": "Failure Analysis & Upscreening", "items": ["Root-cause investigation (MIL-STD-883/1580, AS6171, JESD22)", "COTS-to-mil-spec upscreening"]}], "differentiators": ["15+ years of accredited testing experience (ISO/IEC 17025, AS9100, ISO 9001, ITAR-registered).", {"text": "Already owns in-house X-ray, SEM, and CSAM equipment for inspection/failure-analysis work.", "highlight": true}, "Describes itself as \"an extension\" of customers' own engineering teams for complex qualification work (aaactl.com/about-us/)."], "partnership_angle": ["Their own X-ray is standard 2D component inspection, not synchrotron-grade CT — real gap for internal, non-destructive 3D imaging after a part fails DPA.", "They already subcontract heavy-ion/proton/neutron irradiation to outside partner facilities — proven willingness to route work externally rather than insist on doing everything in-house.", "Radiation-hardness customers who need to see internal structural change post-irradiation without destructive cross-sectioning are exactly our use case."], "recent_activity": [{"date": "Oct 2023", "text": "PR Newswire: launched new website (aaactl.com) with new customer-facing features."}, {"date": "Jun 2023", "text": "PR Newswire (also reposted by Evertiq, not independent reporting): Palm Bay HQ facility expansion, new environmental chambers/automated test systems/NI lab benches. CEO quoted at the time: Matt McIntosh."}, {"date": "Oct 2022", "text": "Acquired by Wincove Private Holdings (PE firm); self-reported only via AAA's own About page, no independent press release found."}, {"date": "2024–2025", "text": "Self-described \"accelerated growth\" under Wincove; no specific contract/award details found publicly."}], "sources": [{"label": "PR Newswire: AAA Test Lab Launches New Website (Oct 5, 2023)", "url": "https://www.prnewswire.com/news-releases/aaa-test-lab-launches-new-website-301947671.html"}, {"label": "AAA About Us (leadership, founding, milestones)", "url": "https://aaactl.com/about-us/"}, {"label": "AAA Services (full technique list)", "url": "https://aaactl.com/services/"}, {"label": "PR Newswire: AAA Test Lab Expansion of Services (Jun 29, 2023)", "url": "https://www.prnewswire.com/news-releases/aaa-test-lab-expansion-of-services-301867047.html"}], "desc": "Accredited semiconductor and electronic component testing lab covering electrical, environmental, mechanical, and Hi-Rel/space qualification testing, including Radiation Hardness Assurance. ISO/IEC 17025, AS9100, ISO 9001 certified, ITAR-registered. Serves aerospace, defense, space, medical, and automotive OEMs from a 13,000 sq ft Palm Bay, FL facility.", "ceo": "Eric Young", "ownership": "Wincove Private Holdings (PE, Oct 2022)", "pricing": "No public pricing found.", "history": [{"date": "2009", "text": "Founded in New Port Richey, FL, as a small counterfeit-detection testing operation for a parts broker."}, {"date": "2014", "text": "Merged with ECAL Test Labs Inc., relocated to Palm Bay, FL (Space Coast); expanded into electrical/mechanical/chemical/environmental testing."}], "revenue": "~$1.8M (est.)", "federal_id": "UEI RUS7RHDNNS97 · NAICS 541380", "linkedin_followers": "537 followers", "certifications": ["ISO/IEC 17025 — Perry Johnson Laboratory Accreditation, issued 20 Sep 2016, valid to 28 Feb 2027. Scope: chemical, dimensional, electrical, mechanical, non-destructive, thermodynamic testing.", "AS6081 (counterfeit avoidance) & AS6171 (component authentication) — Perry Johnson Laboratory Accreditation.", "ISO 9001 / AS9100 — National Quality Assurance, issued 24 Jul 2024, valid to 24 Jul 2027.", "ANSI/ESD S20.20 — National Quality Assurance, issued 15 Oct 2024, valid to 14 Oct 2025.", "ITAR Registration — U.S. Dept. of State, code M43969, expires 31 Jul 2026.", "ERAI Registration — member since 21 Apr 2011, certificate #925689728-0824, valid to 18 Feb 2026.", "GIDEP member since 2015."], "leadership": [{"title": "General Manager", "name": "Hayden Green", "url": "https://www.linkedin.com/in/hayden-m-green/"}, {"title": "Technical Sales Manager", "name": "Reed Coffey", "url": "https://www.linkedin.com/in/reed-c-1b9346100/"}], "ceo_url": "https://www.linkedin.com/in/eric-young-6273268/", "company_linkedin": "https://www.linkedin.com/company/aaa-engineering-and-test-lab/", "fit_rating": "Strong"}, {"id": "boss-21", "name": "Dr. Nabil Mansour", "title": "Engineering Manager", "company": "Radiation Test Solutions (RTS)", "category": "Lead", "source": "Outreach", "vertical": "Device Testing — Heavy-ion/proton/neutron test services", "region": "US", "stage": "Not started", "warmth": "", "abstract": "RTS explicitly sells \"circuit and component analysis\" and \"design consulting\" alongside raw irradiation - already positions as an analysis shop, natural entry point for TXproducts to offer synchrotron CT as a subcontracted non-destructive imaging step for FA on parts failing SEE/latch-up or TID testing. Their emphasis on facility rental and fast turnaround suggests customers value fast non-destructive answers - synchrotron imaging could shorten root-cause cycles vs destructive decap/cross-section. Same ATS/SGS umbrella as ATS itself means one outreach conversation could open doors to both.", "search_term": "Radiation Test Solutions engineer", "notes": "Minor inconsistency on their own site: homepage calls July 2025 flash-X-ray addition a \"second\" unit, news archive page calls it a \"Third\" - flagged not resolved. No \"CEO\" title found, \"President\" (Malcolm Thomson) treated as top exec. No LinkedIn URLs confirmed for any RTS staff despite multiple attempts.", "source_ref": "radiationtestsolutions.com", "website": "", "linkedin": "", "desc": "Colorado Springs pure-play radiation-effects test house for semiconductor devices/materials serving space, airborne, ground defense. 35,000 sq ft lab (in continuous radiation-test operation ~30 years) with in-house gamma, flash X-ray, neutron, e-beam sources plus circuit/component failure analysis and design consulting.", "founded": "2015, by Michael Tostanoski; underlying 35,000 sq ft facility predates RTS (formerly Cobham/Aeroflex lineage)", "ceo": "Malcolm Thomson, President of RTS (no separate \"CEO\" title used - President is top listed exec)", "leadership": [{"name": "Michael Tostanoski", "title": "Founder"}, {"name": "John B.", "title": "Team Leader radiation effects (2nd full-time employee, ~15yrs aerospace exp)"}, {"name": "Kris Hartojo", "title": "Director of Operations (joined 2016)"}, {"name": "Dr. Nabil Mansour", "title": "Engineering Manager (joined 2018, PhD Georgia Tech, 25+ patents)"}], "employees": "\"25+ engineers\" per own site; a 2020 trade profile said \"30+ person\" team", "revenue": "not found - wholly owned ATS subsidiary since Nov 2021 (indirectly SGS since Jan 2026), no standalone financials disclosed", "ownership": "Private; wholly owned subsidiary of Applied Technical Services since Nov 5 2021, therefore indirectly part of SGS since Jan 2026", "target_verticals": ["Aerospace", "space/satellite", "defense/military ground systems"], "differentiators": ["In-house fleet: 2 low-dose-rate gamma cells + 1 high-dose Co-60 irradiator, 2 Pulserad + 1 Ion Physics FX-25 flash X-ray units (2nd added Jul 2025), 14 MeV neutron generator, 1 MeV Pelletron e-beam", "performs all DLA radiation test methods in-house plus remote heavy-ion/proton via partner facilities US/Europe", "self-describes as \"world leader in radiation effects testing\" (self-reported)", "ISO 9001:2015, ANAB accredited, DLA certified"], "partnership_angle": ["RTS explicitly sells \"circuit and component analysis\" and \"design consulting\" alongside raw irradiation - already positions as an analysis shop, natural entry point for TXproducts to offer synchrotron CT as a subcontracted non-destructive imaging step for FA on parts failing SEE/latch-up or TID testing. Their emphasis on facility rental and fast turnaround suggests customers value fast non-destructive answers - synchrotron imaging could shorten root-cause cycles vs destructive decap/cross-section. Same ATS/SGS umbrella as ATS itself means one outreach conversation could open doors to both."], "fit_rating": "Strong", "history": [{"date": "2015", "text": "Founded by Michael Tostanoski"}, {"date": "2020-06", "text": "Cobham sells its Colorado Springs radiation-testing business (Cobham RAD Inc.)"}, {"date": "2020", "text": "RTS acquires Cobham RAD Inc., retains staff/facility"}, {"date": "2021-11-05", "text": "RTS acquired by ATS, becomes wholly owned subsidiary"}, {"date": "2025-07-21", "text": "RTS adds additional Ion Physics FX-25 flash X-ray unit"}], "recent_activity": [{"date": "", "text": "2025-07-21 (self-reported/press): flash X-ray rental fleet expansion announced"}, {"date": "", "text": "2021-11 (press): ATS acquisition, framed as bringing \"new resources and opportunities\""}], "certifications": ["ISO 9001:2015", "ANAB accredited", "DLA certified", "compliance with MIL-STD-750/883 (cert numbers not published)"], "sources": [{"label": "home, senior-staff, facility-overview, services, news", "url": "https://radiationtestsolutions.com"}, {"label": "RTS acquisition post", "url": "https://atslab.com"}, {"label": "Cobham sale article", "url": "https://gazette.com"}, {"label": "secondary", "url": "https://aerospacedefensereview.com"}]}, {"id": "boss-22", "name": "Efe Alpat", "title": "Co-founder & Chief Business Officer", "company": "BEAMIDE", "category": "Lead", "source": "Outreach", "vertical": "Device Testing — Irradiation testing per ECSS/ESA standards", "region": "EU", "stage": "Not started", "warmth": "", "abstract": "BEAMIDE is small, software-first, relies on partner accelerator facilities rather than owning large physical test infrastructure - a potential REFERRAL/CHANNEL partner rather than direct integration target: their space/RHA clients doing ECSS-standard qualification may need non-destructive internal imaging BEAMIDE itself doesn't provide. Since BEAMIDE brands around \"advanced technologies to analyze radiation effects,\" a joint offering (BEAMIDE simulation + irradiation test + TXproducts synchrotron imaging as physical validation of simulated damage location) could be a compelling combined pitch to shared aerospace/space customers. Small size + INFN research pedigree also make it a plausible co-marketing/technical-credibility partner in EU space-qualification space even if direct commercial volume is limited.", "search_term": "BEAMIDE irradiation testing", "notes": "No confirmed CEO - flat founder/co-founder structure. Revenue/formal accreditation unconfirmed (Italian registry lookup returned 404). LinkedIn employee count (7) is rough self-reported snapshot.", "source_ref": "beamide.com/irradiation-testing", "website": "", "linkedin": "", "desc": "Small Italian startup (Perugia) spun off from INFN, develops radiation-effects simulation software (MRADSIM) and offers irradiation testing/consulting for Radiation Hardness Assurance (RHA) to ESA/ECSS, NASA, JEDEC, IEEE, MIL standards, plus thermal/thermal-vacuum testing via own setups and partner accelerator facilities across Italy/Europe.", "founded": "Nov 2021, Perugia, as official INFN spin-off (INFN Tech Transfer approved)", "ceo": "not found - no individual holds a publicly stated CEO title; founder/co-founder team runs it", "leadership": [{"name": "Ali Behcet Alpat", "title": "Founder of MRADSIM, senior INFN researcher"}, {"name": "Efe Alpat", "title": "Co-founder, Chief Business Officer"}, {"name": "Giovanni Bartolini", "title": "Co-founder"}, {"name": "Luca De Paolis", "title": "Scientific Lead & R&D Coordinator"}, {"name": "Deniz Dolek", "title": "Computer Engineer"}], "employees": "2-10 (LinkedIn shows 7, self-reported, not audited)", "revenue": "not found. Received Smart & Start Italia (2022) and Smart UP Sviluppumbria (2022) grants - grant funding not revenue. No turnover found in Italian company registry lookup.", "ownership": "Private (srl); founded as INFN (Italian National Institute for Nuclear Physics, public research body) spin-off/tech-transfer company. Exact INFN equity stake not confirmed.", "target_verticals": ["Medicine", "space/aerospace", "nuclear (power plants", "waste storage)", "IT", "defense"], "differentiators": ["Flagship MRADSIM simulation software (STEP-to-GDML/Geant4 conversion) claimed used/reviewed by ESA, CERN, NASA, Stanford, MIT, Brookhaven (self-reported, unverified independently)", "irradiation testing light/heavy-ion beams (LET up to 60 MeV.cm2/mg) compliant ECSS/ESA standards", "local TVAC -70C to +180C down to 10^-7 mbar, extendable to -200C/+200C via partners", "won 2024 \"America Innovation Award\" from Italy-USA Foundation for MRADSIM"], "partnership_angle": ["BEAMIDE is small, software-first, relies on partner accelerator facilities rather than owning large physical test infrastructure - a potential REFERRAL/CHANNEL partner rather than direct integration target: their space/RHA clients doing ECSS-standard qualification may need non-destructive internal imaging BEAMIDE itself doesn't provide. Since BEAMIDE brands around \"advanced technologies to analyze radiation effects,\" a joint offering (BEAMIDE simulation + irradiation test + TXproducts synchrotron imaging as physical validation of simulated damage location) could be a compelling combined pitch to shared aerospace/space customers. Small size + INFN research pedigree also make it a plausible co-marketing/technical-credibility partner in EU space-qualification space even if direct commercial volume is limited."], "fit_rating": "Moderate", "history": [{"date": "2021-11", "text": "Founded in Perugia as INFN spin-off"}, {"date": "2022", "text": "Smart & Start Italia national funding + Smart UP Sviluppumbria regional grant"}, {"date": "2024-03-14", "text": "Won America Innovation Award 2024 for MRADSIM"}], "recent_activity": [{"date": "", "text": "2024-03-14 (press/self-reported): America Innovation Award announcement quoting co-founders Efe Alpat and Giovanni Bartolini"}], "certifications": ["not found - claims ESA/ECSS/NASA/JEDEC/IEEE/MIL standards compliance but no ISO/IEC 17025 or formal accreditation found on site"], "sources": [{"label": "home, about-us, our-services, irradiation-testing, news", "url": "https://beamide.com"}, {"label": "INFN spin-off announcement", "url": "https://home.infn.it"}, {"label": "announcement", "url": "https://pg.infn.it"}, {"label": "it.linkedin.com", "url": "https://it.linkedin.com/company/beamide-srl"}]}, {"id": "boss-23", "name": "Ruben Garcia Alia", "title": "RADNEXT Project Coordinator (CERN)", "company": "RADNEXT (CERN-coordinated)", "category": "Lead", "source": "Outreach", "vertical": "Radiation Hardness — European irradiation facility network", "region": "EU", "stage": "Not started", "warmth": "", "abstract": "RADNEXT is not a customer target - it's a LEAD-GENERATION AND CREDIBILITY CHANNEL. The G-RADNEXT Workshop (May 2026) is explicitly designed to bring together chip designers, foundries, space companies, and testing companies - precisely TXproducts' target audience, in one room, with EU-level credibility. Concrete next steps: (1) attend/exhibit at G-RADNEXT-style workshops to network directly with radiation-test labs (incl. ATS/RTS-type orgs) and their end customers", "search_term": "RADNEXT radiation network CERN", "notes": "\"RADNEXT 2030\" only an incidental job-posting mention, not confirmed as official successor project - verify before citing in outreach. Federico Ravotti's exact formal RADNEXT role vs. his separate CERN irradiation-infrastructure leadership role not fully disentangled.", "source_ref": "escies.org RADNEXT facility network doc", "website": "", "linkedin": "", "desc": "EU Horizon 2020-funded transnational research-infrastructure project/consortium, coordinated by CERN, networking 20+ irradiation facilities across Europe to give academic AND industrial users free-of-charge beam time for radiation-effects testing of microelectronics, for aerospace/automotive/IoT/nuclear-decommissioning/HEP/medical. NOT a commercial company - a funded access/coordination network.", "founded": "June 1 2021, 4-year EU Horizon 2020 grant (Grant Agreement 101008126), coordinated by CERN. \"RADNEXT 2030\" follow-on planning effort referenced but unconfirmed.", "ceo": "not applicable. Project Coordinator: Ruben Garcia Alia (CERN), leads WP01; Deputy WP Leader: Frederic Saigne (University of Montpellier)", "leadership": [{"name": "Ruben Garcia Alia", "title": "CERN, Project Coordinator"}, {"name": "Frederic Saigne", "title": "Univ. Montpellier, Deputy WP Leader"}, {"name": "Federico Ravotti", "title": "CERN, leads proton/gamma irradiation facility infrastructure since 2011, closely associated with RADNEXT (precise role unconfirmed)"}], "employees": "not applicable - project not employer; WP01 mgmt team lists ~13 named coordination staff across CERN and Univ. Montpellier", "revenue": "not applicable - EU grant-funded, total budget ~EUR 5 million over 4 years, funding >6,000 hours of free beam time", "ownership": "EU-funded research infrastructure consortium coordinated by CERN (intergovernmental org); no ownership structure", "target_verticals": ["Aerospace", "automotive", "IoT", "nuclear decommissioning", "HEP", "medicine"], "differentiators": ["Network spans 20+ facilities incl. GSI (Germany), GANIL (France), PSI (Switzerland), TRIUMF (Canada), STFC-ISIS (UK)", "industrial partners already in consortium incl. Airbus, STMicroelectronics, Infineon, Thales Alenia Space", "beam time free of charge to awarded users (EU-funded) - strong incentive vs commercial test houses", "runs industry-outreach events (e.g. \"G-RADNEXT Workshop 2026,\" May 6-7 2026, ENEA Frascati) explicitly to engage \"testing companies and testing equipment manufacturers\""], "partnership_angle": ["RADNEXT is not a customer target - it's a LEAD-GENERATION AND CREDIBILITY CHANNEL. The G-RADNEXT Workshop (May 2026) is explicitly designed to bring together chip designers, foundries, space companies, and testing companies - precisely TXproducts' target audience, in one room, with EU-level credibility. Concrete next steps: (1) attend/exhibit at G-RADNEXT-style workshops to network directly with radiation-test labs (incl. ATS/RTS-type orgs) and their end customers", "(2) contact Ruben Garcia Alia's coordination team about listing TXproducts' non-destructive imaging as a complementary \"downstream analysis\" resource for Transnational Access beam-time users needing post-irradiation FA without destroying the tested part."], "fit_rating": "Moderate", "history": [{"date": "2021-06-01", "text": "RADNEXT launched (CERN-coordinated, EU Grant 101008126, 4yr, ~EUR5M, 20+ facilities)"}, {"date": "2022-06-08/09", "text": "1st Annual Meeting"}, {"date": "2024-06", "text": "\"GB-RADNEXT\" Workshop held"}, {"date": "", "text": "~2025: original 4-yr funded period concludes"}, {"date": "2026-05-06/07", "text": "\"G-RADNEXT Workshop 2026\" at ENEA Villa Mondragone, Frascati, co-organized with PAC-G/IRT Nanoelec, RADECS, ENEA, Datzmann Interact & Innovate"}], "recent_activity": [{"date": "", "text": "2026-05-06/07 (independent/self-reported): G-RADNEXT industry workshop at ENEA Frascati, free to attend, aimed at collecting industry needs on radiation-hardness testing"}, {"date": "", "text": "CERN careers-page mention of \"RADNEXT 2030 team\" suggests funded follow-on phase being planned (unconfirmed)"}], "certifications": ["not applicable - funded research infrastructure, legal basis is EU Horizon 2020 Grant Agreement 101008126"], "sources": [{"label": "home, WP01", "url": "https://radnext.web.cern.ch"}, {"label": "g-radnext-2026", "url": "https://indico.cern.ch"}, {"label": "rich-europe.eu", "url": "https://rich-europe.eu"}, {"label": "cerneu.web.cern.ch", "url": "https://cerneu.web.cern.ch"}, {"label": "record", "url": "https://cds.cern.ch"}, {"label": "Federico Ravotti", "url": "https://sciprofiles.com"}]}, {"id": "boss-24", "name": "Alessandra Costantino", "title": "Radiation Test Facilities Engineer, TEC-QEC", "company": "ESA ESTEC / TEC-QEC", "category": "Lead", "source": "Outreach", "vertical": "Radiation Hardness — Radiation hardness assurance for space", "region": "NL", "stage": "Not started", "warmth": "", "abstract": "TEC-QEC directly funds and runs R&D studies into RHA methodology (evidenced by 2019-2022 study cycle presented June 2023) - a concrete mechanism (ESA-funded R&D contracts/tenders) through which TXproducts could propose a study validating synchrotron non-destructive imaging as a complementary RHA/failure-analysis technique for space-grade components, rather than needing a conventional sales relationship. An ESA/ESTEC technical endorsement or co-published study would carry outsized credibility with commercial labs on this same target list (ATS, RTS, BEAMIDE) - a \"reference customer\" play even if direct commercial volume is modest and procurement cycle long. Next step: contact Alessandra Costantino or look for open ESA GSTP/Discovery-programme calls related to component RHA, rather than a cold pitch.", "search_term": "ESA ESTEC radiation hardness assurance", "notes": "Section head/leadership not pinned down with confidence. Recommend fresh targeted LinkedIn/ESA-directory check closer to outreach time given how dated sourced material is (2011-2023).", "source_ref": "escies.org Radiation Test Facilities overview", "website": "", "linkedin": "", "desc": "Technical section within European Space Agency's ESTEC establishment (Noordwijk, NL) responsible for radiation hardness assurance (RHA) and electronic component analysis for European space missions. Operates internal radiation-test facilities on-site and coordinates/funds external R&D studies and access to ESA-supported irradiation facilities elsewhere in Europe. Government-agency technical directorate, not a company.", "founded": "not found as discrete founding date - standing organizational section of ESA/ESTEC, activity traceable to at least early 2010s (2011 JUICE-mission radiation workshops)", "ceo": "not applicable. One 2020 secondary reference named Anastasia Pesce as head of TEC-QEC, unconfirmed as current.", "leadership": [{"name": "Alessandra Costantino", "title": "Radiation Test Facilities Engineer, TEC-QEC (feedback/technical contact on ESA's ESCIES documentation)"}, {"name": "Veronique Ferlet-Cavrois", "title": "senior ESA/ESTEC scientist long associated with TEC-QEC RHA work (name rendering inconsistency in search results - \"Vincent\"/\"Veronique\" - correct name per document authorship is Veronique)"}, {"name": "Anastasia Pesce", "title": "named in one 2020 source as head, unconfirmed"}], "employees": "not found - section-level headcount not disclosed", "revenue": "not applicable - publicly funded intergovernmental space agency, TEC-QEC operates on ESA's internal R&D/contract budget", "ownership": "Government/intergovernmental - section of European Space Agency, based at ESTEC, Noordwijk, Netherlands", "target_verticals": ["European space industry - satellite/spacecraft component manufacturers", "EEE parts suppliers", "ESA mission project teams (e.g. JUICE) requiring radiation-hardness qualification"], "differentiators": ["Operates own internal Co-60 gamma facility (automated dose monitoring, LabVIEW control, adjustable dose rate via rail system) and CASE facility using Californium-252 sources to simulate cosmic-ray effects, free to external users for ESA-contracted work", "coordinates ESA-supported external facilities with reserved annual beam-time at competitive rates: PIF (Paul Scherrer Institut, Switzerland), HIF (Universite Catholique de Louvain, Belgium), RADEF (University of Jyvaskyla, Finland)", "ran \"TEC-QEC Final Presentation Days\" (June 28-30 2023) at ESTEC showcasing major R&D studies concluded 2019-2022"], "partnership_angle": ["TEC-QEC directly funds and runs R&D studies into RHA methodology (evidenced by 2019-2022 study cycle presented June 2023) - a concrete mechanism (ESA-funded R&D contracts/tenders) through which TXproducts could propose a study validating synchrotron non-destructive imaging as a complementary RHA/failure-analysis technique for space-grade components, rather than needing a conventional sales relationship. An ESA/ESTEC technical endorsement or co-published study would carry outsized credibility with commercial labs on this same target list (ATS, RTS, BEAMIDE) - a \"reference customer\" play even if direct commercial volume is modest and procurement cycle long. Next step: contact Alessandra Costantino or look for open ESA GSTP/Discovery-programme calls related to component RHA, rather than a cold pitch."], "fit_rating": "Moderate", "history": [{"date": "", "text": "pre-2011: TEC-QEC RHA activity already established (2010-2011 ESA workshops for EJSM/JUICE)"}, {"date": "2023-06-28/30", "text": "\"TEC-QEC Final Presentation Days\" at ESTEC presenting 2019-2022 R&D studies"}], "recent_activity": [{"date": "", "text": "2023-06 (self-reported, ESA official event page): Final Presentation Days summarizing multi-year R&D program"}, {"date": "", "text": "no 2024-2026 TEC-QEC-specific news found - flagged as a gap, not evidence of inactivity"}], "certifications": ["not applicable/not found - operates under ESA's own ECSS standards framework which it helps define, rather than holding third-party accreditation itself"], "sources": [{"label": "webdocument", "url": "https://escies.org"}, {"label": "event/444", "url": "https://indico.esa.int"}, {"label": "JUICE workshop PDF (Ferlet-Cavrois", "url": "https://sci.esa.int"}, {"label": "RHA-requirements PDF", "url": "https://sci.esa.int"}]}, {"id": "boss-25", "name": "", "title": "", "company": "Paul Scherrer Institute (PSI)", "category": "Lead", "source": "Outreach", "vertical": "Radiation Hardness — Proton irradiation facility", "region": "CH", "stage": "Not started", "warmth": "", "abstract": "", "search_term": "Paul Scherrer Institute proton irradiation", "notes": "", "source_ref": "escies.org Radiation Test Facilities overview", "website": "", "linkedin": ""}, {"id": "eng-1", "name": "Cecilia Farias Marchant", "title": "Marketing | Communications | Community & CSR Professional", "company": "", "category": "Lead", "source": "Engaged Non-Follower", "vertical": "", "stage": "Not started", "warmth": "", "abstract": "", "connection": "2nd", "surfaced_via": "Liked 04/08 post (via Hi-Acts page's like list)", "date_surfaced": "2026-08", "website": "", "linkedin": ""}, {"id": "eng-2", "name": "Chirag Maniya", "title": "Laser Systems Engineer / Process Engineer", "company": "", "category": "Lead", "source": "Engaged Non-Follower", "vertical": "", "stage": "Not started", "warmth": "", "abstract": "", "connection": "3rd+", "surfaced_via": "Liked the 04/08 company-page repost surface", "date_surfaced": "2026-08", "website": "", "linkedin": ""}, {"id": "eng-3", "name": "Mohsen Samadi", "title": "Postdoctoral Researcher — Photonic Components & Systems, Multiphysics Simulation", "company": "Kiel University", "category": "Lead", "source": "Engaged Non-Follower", "vertical": "", "stage": "Not started", "warmth": "", "abstract": "", "connection": "2nd", "surfaced_via": "Liked the 04/08 company-page repost surface", "date_surfaced": "2026-08", "website": "", "linkedin": ""}, {"id": "eng-4", "name": "Christina Frehse", "title": "Connecting Science, Business & Innovation", "company": "", "category": "Lead", "source": "Engaged Non-Follower", "vertical": "", "stage": "Not started", "warmth": "", "abstract": "", "connection": "2nd", "surfaced_via": "Liked the 04/08 company-page repost surface", "date_surfaced": "2026-08", "website": "", "linkedin": ""}, {"id": "eng-5", "name": "Lars Klemeyer", "title": "Materials and Data Scientist, PhD Physics", "company": "", "category": "Lead", "source": "Engaged Non-Follower", "vertical": "", "stage": "Not started", "warmth": "", "abstract": "", "connection": "2nd", "surfaced_via": "Liked the 04/08 company-page repost surface", "date_surfaced": "2026-08", "website": "", "linkedin": ""}]</script>
|
||
|
||
<div id="tab-marketing" class="tab-content">
|
||
<div class="card" style="padding: 0;">
|
||
<div style="padding: 20px 32px 0;">
|
||
<div class="drill-crumbs" id="mkt-crumbs"></div>
|
||
</div>
|
||
|
||
<div class="drill-view active" data-view="marketing-root">
|
||
<h2>Marketing</h2>
|
||
<p class="narrative">Marketing covers every channel TXproducts uses to reach an audience and build the brand. Today that's Social Media, reachable from the dropdown above; more channels (content, events, campaigns) will land here as the department grows. [Placeholder narrative — edit me.]</p>
|
||
</div>
|
||
|
||
<div class="drill-view" data-view="linkedin">
|
||
<h2>LinkedIn</h2>
|
||
<p class="narrative">Follower growth, content performance, and visitor traffic for the TXproducts LinkedIn Page — the full breakdown lives in its own dashboard, built and maintained separately. [Placeholder narrative — edit me.]</p>
|
||
<div class="drill-actions">
|
||
<button class="drill-back" data-target="marketing-root">← Marketing</button>
|
||
<a class="open-link" href="http://localhost:8051" target="_blank" rel="noopener">Open Dash ↗</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="tab-sales" class="tab-content">
|
||
<div class="card" style="padding: 0;">
|
||
<div style="padding: 20px 32px 0;">
|
||
<div class="drill-crumbs" id="sales-crumbs"></div>
|
||
</div>
|
||
|
||
<div class="drill-view active" data-view="sales-root">
|
||
<h2>Sales</h2>
|
||
<p class="narrative">Sales is where research turns into contracts. Today that's the Market Intelligence research; the Address Book (outreach board) will land here too once it's built. [Placeholder narrative — edit me.]</p>
|
||
<div class="drill-actions">
|
||
<button class="drill-next" data-target="market-intelligence">Market Intelligence →</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="drill-view" data-view="market-intelligence">
|
||
<h2>Market Intelligence</h2>
|
||
<p class="narrative">Competitor profiles, prospect pitch angles, and sourced market research that inform outreach messaging and hesitations — the full research lives in its own site, built and maintained separately. [Placeholder narrative — edit me.]</p>
|
||
<div class="drill-actions">
|
||
<button class="drill-back" data-target="sales-root">← Sales</button>
|
||
<a class="open-link" href="market-intelligence/index.html" target="_blank" rel="noopener">Open Market Intelligence ↗</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
var HERO = {
|
||
"team": ["Team", "Who's on marketing/sales and their roles."],
|
||
"address-book": ["Directory", "One outreach board, fed by every branch — Marketing Intelligence, LinkedIn, and the boss's Outreach targets."],
|
||
"marketing": ["Marketing", ""],
|
||
"sales": ["Sales", ""]
|
||
};
|
||
var btns = document.querySelectorAll(".sidebar-nav-btn");
|
||
btns.forEach(function (btn) {
|
||
btn.addEventListener("click", function () {
|
||
var key = btn.getAttribute("data-tab");
|
||
btns.forEach(function (b) { b.classList.toggle("active", b === btn); });
|
||
document.querySelectorAll(".tab-content").forEach(function (t) {
|
||
t.classList.toggle("active", t.id === "tab-" + key);
|
||
});
|
||
document.getElementById("hero-title").textContent = HERO[key][0];
|
||
document.getElementById("hero-subtitle").textContent = HERO[key][1];
|
||
document.querySelectorAll(".hero-nav").forEach(function (n) { n.style.display = "none"; n.classList.remove("open"); });
|
||
var heroNavId = HERO_NAV_BY_TAB[key];
|
||
if (heroNavId) { document.getElementById(heroNavId).style.display = "flex"; }
|
||
if (DRILL_CONFIG[key]) { setDrillView(key, DRILL_DEFAULT_VIEW[key]); }
|
||
});
|
||
});
|
||
|
||
/* ---- Drill-downs: Marketing -> Social Media (dropdown) -> LinkedIn -> Dash
|
||
Sales -> Market Intelligence -> site (goes there directly, one child today) ---- */
|
||
var HERO_NAV_BY_TAB = { marketing: "hero-nav-social" };
|
||
var DRILL_DEFAULT_VIEW = { marketing: "marketing-root", sales: "market-intelligence" };
|
||
var DRILL_CONFIG = {
|
||
marketing: {
|
||
crumbsEl: "mkt-crumbs",
|
||
crumbs: {
|
||
"marketing-root": [["Marketing", "marketing-root"]],
|
||
"linkedin": [["Marketing", "marketing-root"], ["Social Media", "linkedin"], ["LinkedIn", "linkedin"]]
|
||
}
|
||
},
|
||
sales: {
|
||
crumbsEl: "sales-crumbs",
|
||
crumbs: {
|
||
"sales-root": [["Sales", "sales-root"]],
|
||
"market-intelligence": [["Sales", "sales-root"], ["Intelligence Board", "market-intelligence"], ["Market Intelligence", "market-intelligence"]]
|
||
}
|
||
}
|
||
};
|
||
function setDrillView(scope, view) {
|
||
document.querySelectorAll("#tab-" + scope + " .drill-view").forEach(function (v) {
|
||
v.classList.toggle("active", v.getAttribute("data-view") === view);
|
||
});
|
||
var cfg = DRILL_CONFIG[scope];
|
||
var crumbTrail = cfg.crumbs[view];
|
||
var crumbsEl = document.getElementById(cfg.crumbsEl);
|
||
crumbsEl.innerHTML = "";
|
||
crumbTrail.forEach(function (pair, i) {
|
||
if (i > 0) {
|
||
var sep = document.createElement("span");
|
||
sep.className = "sep";
|
||
sep.textContent = "/";
|
||
crumbsEl.appendChild(sep);
|
||
}
|
||
var isCurrent = i === crumbTrail.length - 1;
|
||
var el = document.createElement(isCurrent ? "span" : "a");
|
||
el.className = "crumb" + (isCurrent ? " current" : "");
|
||
el.textContent = pair[0];
|
||
if (!isCurrent) {
|
||
el.addEventListener("click", function () { setDrillView(scope, pair[1]); });
|
||
}
|
||
crumbsEl.appendChild(el);
|
||
});
|
||
}
|
||
["marketing", "sales"].forEach(function (scope) {
|
||
document.querySelectorAll("#tab-" + scope + " .drill-back, #tab-" + scope + " .drill-next").forEach(function (b) {
|
||
b.addEventListener("click", function () { setDrillView(scope, b.getAttribute("data-target")); });
|
||
});
|
||
setDrillView(scope, DRILL_DEFAULT_VIEW[scope]);
|
||
});
|
||
|
||
/* ---- Hero dropdown ("Social Media ▾") ---- */
|
||
function wireHeroDropdown(navId, btnId, scope) {
|
||
var nav = document.getElementById(navId);
|
||
document.getElementById(btnId).addEventListener("click", function (e) {
|
||
e.stopPropagation();
|
||
nav.classList.toggle("open");
|
||
});
|
||
nav.querySelectorAll(".hero-dropdown button").forEach(function (b) {
|
||
b.addEventListener("click", function () {
|
||
setDrillView(scope, b.getAttribute("data-target"));
|
||
nav.classList.remove("open");
|
||
});
|
||
});
|
||
}
|
||
wireHeroDropdown("hero-nav-social", "hero-nav-social-btn", "marketing");
|
||
document.addEventListener("click", function () {
|
||
document.querySelectorAll(".hero-nav").forEach(function (n) { n.classList.remove("open"); });
|
||
});
|
||
|
||
/* ---- Address Book ---- */
|
||
var AB_SOURCE_CLASS = { "Marketing Intelligence": "mi", "Outreach": "boss", "Engaged Non-Follower": "eng" };
|
||
var AB_DATA = JSON.parse(document.getElementById("address-book-data").textContent);
|
||
var abActiveSource = "all";
|
||
var abActiveStage = "all";
|
||
var abActiveCategory = "all";
|
||
var abActiveFit = "all";
|
||
var abView = "directory";
|
||
|
||
function abEsc(s) {
|
||
var d = document.createElement("div");
|
||
d.textContent = s || "";
|
||
return d.innerHTML;
|
||
}
|
||
|
||
function abMatchesSearch(entry, q) {
|
||
if (!q) { return true; }
|
||
var hay = [entry.name, entry.company, entry.title, entry.vertical, entry.abstract].join(" ").toLowerCase();
|
||
return hay.indexOf(q) !== -1;
|
||
}
|
||
|
||
function renderAddressBook() {
|
||
var q = document.getElementById("ab-search").value.trim().toLowerCase();
|
||
var filtered = AB_DATA.filter(function (e) {
|
||
var category = (e.vertical || "").split(" — ")[0];
|
||
return (abActiveSource === "all" || e.source === abActiveSource) &&
|
||
(abActiveCategory === "all" || category === abActiveCategory) &&
|
||
(abActiveStage === "all" || e.stage === abActiveStage) &&
|
||
(abActiveFit === "all" || e.fit_rating === abActiveFit) &&
|
||
abMatchesSearch(e, q);
|
||
});
|
||
|
||
document.getElementById("ab-summary").textContent =
|
||
filtered.length + " of " + AB_DATA.length + " leads shown" +
|
||
(abActiveSource !== "all" ? " · " + abActiveSource : "") +
|
||
(abActiveCategory !== "all" ? " · " + abActiveCategory : "") +
|
||
(abActiveStage !== "all" ? " · " + abActiveStage : "") +
|
||
(abActiveFit !== "all" ? " · " + abActiveFit + " fit" : "") +
|
||
(q ? " · matching \"" + q + "\"" : "");
|
||
|
||
if (abView === "directory") {
|
||
renderAddressBookGrid(filtered);
|
||
} else {
|
||
renderAddressBookOutreach(filtered);
|
||
}
|
||
}
|
||
|
||
function renderAddressBookGrid(filtered) {
|
||
var grid = document.getElementById("ab-grid");
|
||
grid.innerHTML = "";
|
||
var sorted = filtered.slice().sort(function (a, b) {
|
||
return (a.company || "").localeCompare(b.company || "");
|
||
});
|
||
sorted.forEach(function (e) { grid.appendChild(buildAbCard(e)); });
|
||
}
|
||
|
||
var abSelectedId = null;
|
||
|
||
function renderAddressBookOutreach(filtered) {
|
||
var sorted = filtered.slice().sort(function (a, b) {
|
||
return (a.company || "").localeCompare(b.company || "");
|
||
});
|
||
|
||
if (!abSelectedId || !sorted.some(function (e) { return e.id === abSelectedId; })) {
|
||
abSelectedId = sorted.length ? sorted[0].id : null;
|
||
}
|
||
|
||
var list = document.getElementById("ab-outreach-list");
|
||
list.innerHTML = "";
|
||
sorted.forEach(function (e) {
|
||
var card = buildAbSidebarCard(e, e.id === abSelectedId);
|
||
list.appendChild(card);
|
||
});
|
||
|
||
var detail = document.getElementById("ab-outreach-detail");
|
||
var selected = sorted.filter(function (e) { return e.id === abSelectedId; })[0];
|
||
detail.innerHTML = selected
|
||
? buildOutreachDetail(selected)
|
||
: "<div class=\"ab-outreach-empty\">No leads match these filters.</div>";
|
||
|
||
var profileBtn = document.getElementById("ab-profile-btn");
|
||
if (profileBtn) {
|
||
profileBtn.addEventListener("click", function () {
|
||
var profile = document.getElementById("ab-comp-profile");
|
||
var isOpen = profile.classList.toggle("open");
|
||
profileBtn.innerHTML = (isOpen ? "▲ Hide profile" : "▼ Full profile");
|
||
});
|
||
}
|
||
}
|
||
|
||
function buildAbSidebarCard(e, isSelected) {
|
||
var card = document.createElement("div");
|
||
card.className = "ab-card" + (isSelected ? " selected" : "") + abFitClass(e.fit_rating);
|
||
card.dataset.id = e.id;
|
||
|
||
var sourceClass = AB_SOURCE_CLASS[e.source] || "";
|
||
var nameLine = e.name
|
||
? "<div class=\"ab-card-name\">" + abEsc(e.name) + (e.title ? " — " + abEsc(e.title) : "") + "</div>"
|
||
: "<div class=\"ab-card-name empty\">No named contact yet</div>";
|
||
|
||
card.innerHTML =
|
||
"<div class=\"ab-card-top\">" +
|
||
"<div class=\"ab-card-company\">" + abEsc(e.company || "(no company)") + "</div>" +
|
||
"<span class=\"ab-source-chip " + sourceClass + "\" title=\"" + abEsc(abShortSource(e.source)) + "\">" + abEsc(e.stage) + "</span>" +
|
||
"</div>" +
|
||
nameLine;
|
||
|
||
card.addEventListener("click", function () {
|
||
abSelectedId = e.id;
|
||
renderAddressBook();
|
||
});
|
||
return card;
|
||
}
|
||
|
||
function buildOutreachDetail(e) {
|
||
// CEO = who actually runs the company (a fact about them). Contact = who WE'RE targeting for
|
||
// outreach (e.name/e.title). These are two different people and must not be conflated.
|
||
var ceoLine = e.ceo
|
||
? (e.ceo_url ? "<a class=\"li-link\" href=\"" + e.ceo_url + "\" target=\"_blank\" rel=\"noopener\">" + abEsc(e.ceo) + "</a>" : abEsc(e.ceo))
|
||
: "Unknown";
|
||
var contactLine = e.name ? (abEsc(e.name) + (e.title ? " — " + abEsc(e.title) : "")) : (e.who_to_contact ? abEsc(e.who_to_contact) : "No named contact yet");
|
||
|
||
// Summary card — 1:1 with a Marketing Intelligence Competitors card (name header, loc, desc,
|
||
// analytics tags [fit / regional market / employees], site link, Full profile toggle).
|
||
var category = (e.vertical || "").split(" — ")[0];
|
||
var locLine = abEsc([e.region, category].filter(Boolean).join(" — ")) + " • CEO: " + ceoLine;
|
||
// desc = short business-pitch summary (like Scatterin's "what they do, turnaround, clients").
|
||
// narrative (rendered separately, inside Company Overview) = the founding/history story. Never the same text.
|
||
var desc = e.desc || e.abstract;
|
||
var fitTag = e.fit ? "<span class=\"tag tag-r\">" + abEsc(e.fit) + "</span>" : "<span class=\"tag tag-u\">Not assessed yet</span>";
|
||
var regionTag = e.region ? "<span class=\"tag tag-a\">" + abEsc(e.region) + "</span>" : "<span class=\"tag tag-u\">Region unknown</span>";
|
||
var sizeTag = e.employees ? "<span class=\"tag tag-c\">" + abEsc(e.employees) + "</span>" : "<span class=\"tag tag-u\">Size unknown</span>";
|
||
var tags = fitTag + regionTag + sizeTag;
|
||
|
||
var siteLink = e.website
|
||
? "<a class=\"site-link\" href=\"" + e.website + "\" target=\"_blank\" rel=\"noopener\">" + abEsc(e.website.replace(/^https?:\/\//, "").replace(/\/$/, "")) + "</a>"
|
||
: "";
|
||
// Skip the top-level pill if this same link is already shown by name in the Company leadership list.
|
||
var linkedinShownInLeadership = (e.leadership || []).some(function (l) { return l.url && l.url === e.linkedin; });
|
||
var liLink = (e.linkedin && !linkedinShownInLeadership)
|
||
? "<a class=\"li-link\" href=\"" + e.linkedin + "\" target=\"_blank\" rel=\"noopener\">LinkedIn ↗</a>"
|
||
: "";
|
||
var companyLiLink = e.company_linkedin
|
||
? "<a class=\"li-link\" href=\"" + e.company_linkedin + "\" target=\"_blank\" rel=\"noopener\">Company LinkedIn ↗</a>"
|
||
: "";
|
||
|
||
var summary =
|
||
"<div class=\"comp-card" + (e.warmth === "Warm" ? " highlight" : "") + "\">" +
|
||
"<div class=\"comp-name\">" + abEsc(e.company || "(no company)") + "</div>" +
|
||
"<div class=\"comp-loc-row\"><div class=\"comp-loc\">" + locLine + "</div>" + buildFitGauge(e.fit_rating) + "</div>" +
|
||
"<div class=\"comp-desc" + (desc ? "" : " empty") + "\">" + abEsc(desc || "Not researched yet — what they do goes here.") + "</div>" +
|
||
"<div class=\"comp-tags\">" + tags + "</div>" +
|
||
"<div style=\"display:flex;align-items:center;gap:10px;flex-wrap:wrap;\">" +
|
||
siteLink + companyLiLink + liLink +
|
||
"<button class=\"profile-btn\" id=\"ab-profile-btn\">▲ Hide profile</button>" +
|
||
"</div>" +
|
||
"<div class=\"comp-profile open\" id=\"ab-comp-profile\">" + buildOutreachProfile(e, ceoLine, contactLine) + "</div>" +
|
||
"</div>";
|
||
|
||
return summary;
|
||
}
|
||
|
||
function buildOutreachProfile(e, ceoLine, contactLine) {
|
||
// Company — cliff notes only, same field set as Scatterin's Company box: Founded, CEO, a second
|
||
// exec, Team size, Funding/ownership, Tagline, Pricing. Never the narrative paragraph here — that
|
||
// lives in the summary card's comp-desc, and this box must not repeat it.
|
||
var kvRow = function (label, value) {
|
||
return value ? "<div class=\"ab-prof-kv\"><span class=\"k\">" + label + ":</span><span class=\"v\">" + value + "</span></div>" : "";
|
||
};
|
||
var overview =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Company</div>" +
|
||
kvRow("Founded", abEsc(e.founded || "Unknown")) +
|
||
kvRow("CEO", ceoLine) +
|
||
(e.leadership || []).map(function (l) {
|
||
var nameHtml = l.url
|
||
? "<a class=\"li-link\" href=\"" + l.url + "\" target=\"_blank\" rel=\"noopener\">" + abEsc(l.name) + "</a>"
|
||
: abEsc(l.name);
|
||
return kvRow(l.title, nameHtml);
|
||
}).join("") +
|
||
kvRow("Team size", abEsc(e.employees || "Unknown")) +
|
||
kvRow("Ownership", e.ownership ? abEsc(e.ownership) : "") +
|
||
kvRow("Tagline", e.tagline ? abEsc(e.tagline) : "") +
|
||
kvRow("Pricing", abEsc(e.pricing || "No public pricing on file.")) +
|
||
kvRow("Revenue", e.revenue ? abEsc(e.revenue) : "") +
|
||
kvRow("Federal ID", e.federal_id ? abEsc(e.federal_id) : "") +
|
||
kvRow("LinkedIn", e.linkedin_followers ? abEsc(e.linkedin_followers) : "") +
|
||
(e.region ? kvRow("Region", abEsc(e.region)) : "") +
|
||
"</div>";
|
||
|
||
var certifications = "";
|
||
if (e.certifications && e.certifications.length) {
|
||
certifications =
|
||
"<div class=\"ab-prof-box-full\">" +
|
||
"<div class=\"ab-prof-title\">Certifications & Registrations</div>" +
|
||
e.certifications.map(function (c) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot\"></span><span>" + abEsc(c) + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var history = "";
|
||
if (e.history && e.history.length) {
|
||
history =
|
||
"<div class=\"ab-prof-box-full\">" +
|
||
"<div class=\"ab-prof-title\">History</div>" +
|
||
e.history.map(function (h) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot\"></span><span><strong>" + abEsc(h.date) + ":</strong> " + abEsc(h.text) + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var verticals = "";
|
||
if (e.target_verticals && e.target_verticals.length) {
|
||
verticals =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Target Verticals</div>" +
|
||
e.target_verticals.map(function (v) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot ab-prof-dot-a\"></span><span>" + abEsc(v) + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var serviceModel = "";
|
||
if (e.service_model && e.service_model.length) {
|
||
serviceModel =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Service Model</div>" +
|
||
"<div style=\"display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;\">" +
|
||
e.service_model.map(function (s, i) {
|
||
return (i > 0 ? "<div style=\"align-self:center;color:#9aa7b4;\">→</div>" : "") +
|
||
"<div style=\"flex:1;min-width:110px;\"><div style=\"font-weight:800;font-size:0.78rem;color:#1b3a5c;\">" + abEsc(s.step) + "</div>" +
|
||
"<div style=\"font-size:0.74rem;color:#6b7a8d;margin-top:2px;\">" + abEsc(s.desc) + "</div></div>";
|
||
}).join("") +
|
||
"</div>" +
|
||
"</div>";
|
||
}
|
||
|
||
var techniques = "";
|
||
if (e.techniques && e.techniques.length) {
|
||
techniques =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Services & Techniques</div>" +
|
||
e.techniques.map(function (group) {
|
||
return "<div class=\"ab-prof-subhead\">" + abEsc(group.category) + "</div>" +
|
||
group.items.map(function (item) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot\"></span><span>" + abEsc(item) + "</span></div>";
|
||
}).join("");
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var differentiators = "";
|
||
if (e.differentiators && e.differentiators.length) {
|
||
differentiators =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Their Differentiators (claimed)</div>" +
|
||
e.differentiators.map(function (d) {
|
||
var text = typeof d === "string" ? d : d.text;
|
||
var isHighlight = typeof d === "object" && d.highlight;
|
||
var content = isHighlight ? "<mark class=\"ab-highlight\">" + abEsc(text) + "</mark>" : abEsc(text);
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot ab-prof-dot-g\"></span><span>" + content + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var partnershipAngle = "";
|
||
if (e.partnership_angle && e.partnership_angle.length) {
|
||
partnershipAngle =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Partnership Angle (where we'd fit)</div>" +
|
||
e.partnership_angle.map(function (p) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot ab-prof-dot-g\"></span><span>" + abEsc(p) + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var recentActivity = "";
|
||
if (e.recent_activity && e.recent_activity.length) {
|
||
recentActivity =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Recent Activity</div>" +
|
||
e.recent_activity.map(function (a) {
|
||
return "<div class=\"ab-prof-row\"><span class=\"ab-prof-dot\"></span><span><strong>" + abEsc(a.date) + ":</strong> " + abEsc(a.text) + "</span></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var sources = "";
|
||
if (e.sources && e.sources.length) {
|
||
sources =
|
||
"<div class=\"ab-prof-box ab-prof-sources\">" +
|
||
"<div class=\"ab-prof-title\">Sources</div>" +
|
||
e.sources.map(function (s) {
|
||
return "<div class=\"row\"><a href=\"" + s.url + "\" target=\"_blank\" rel=\"noopener\">" + abEsc(s.label) + " ↗</a></div>";
|
||
}).join("") +
|
||
"</div>";
|
||
}
|
||
|
||
var kv = "<div class=\"ab-prof-kv\"><span class=\"k\">Our contact:</span><span class=\"v\">" + contactLine + "</span></div>";
|
||
if (e.abstract) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Pitch angle:</span><span class=\"v\">" + abEsc(e.abstract) + "</span></div>"; }
|
||
if (e.search_term) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">LinkedIn search:</span><span class=\"v\">" + abEsc(e.search_term) + "</span></div>"; }
|
||
if (e.connection) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Connection:</span><span class=\"v\">" + abEsc(e.connection) + "</span></div>"; }
|
||
if (e.surfaced_via) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Surfaced via:</span><span class=\"v\">" + abEsc(e.surfaced_via) + " (" + abEsc(e.date_surfaced) + ")</span></div>"; }
|
||
if (e.source_ref && !(e.sources && e.sources.length)) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Source:</span><span class=\"v\">" + abEsc(e.source_ref) + "</span></div>"; }
|
||
|
||
var logEntries = e.outreach_log || [];
|
||
var logHtml = logEntries.length
|
||
? logEntries.map(function (l) { return "<div class=\"ab-log-entry\"><span class=\"log-date\">" + abEsc(l.date) + "</span>" + abEsc(l.note) + "</div>"; }).join("")
|
||
: "<div class=\"ab-log-entry ab-log-empty\">No conversation yet — status: " + abEsc(e.stage) + ".</div>";
|
||
|
||
// Outreach Log — a real diary, empty until contact begins. Sits as one tall card spanning
|
||
// the height of Differentiators + Services/Verticals stacked beside it, capped with its own
|
||
// scrollbar so it grows by scrolling internally instead of stretching the whole profile.
|
||
var outreach =
|
||
"<div class=\"ab-prof-box ab-outreach-log-tall\">" +
|
||
"<div class=\"ab-prof-title\">Outreach Log</div>" +
|
||
kv +
|
||
"<div class=\"ab-log-scroll\">" + logHtml + "</div>" +
|
||
"</div>";
|
||
|
||
// Notes — discrepancies/caveats found during research. Its own card, separate from the
|
||
// Outreach Log (which is a conversation diary, not a place for research footnotes).
|
||
var notesBox = e.notes
|
||
? "<div class=\"ab-prof-box-full\"><div class=\"ab-prof-title\">Notes</div><div class=\"ab-prof-narrative\">" + abEsc(e.notes) + "</div></div>"
|
||
: "";
|
||
|
||
return "<div class=\"ab-detail-cols\">" + overview + partnershipAngle + "</div>" +
|
||
"<div class=\"ab-section-grid\">" +
|
||
"<div class=\"ab-section-grid-left\">" + differentiators + "<div class=\"ab-detail-cols\">" + techniques + verticals + "</div>" + "</div>" +
|
||
outreach +
|
||
"</div>" +
|
||
history + certifications + serviceModel +
|
||
recentActivity + sources + notesBox;
|
||
}
|
||
|
||
function abShortSource(source) {
|
||
if (source === "Marketing Intelligence") { return "MI"; }
|
||
if (source === "Engaged Non-Follower") { return "Engaged"; }
|
||
return source;
|
||
}
|
||
|
||
var FIT_CLASS_BY_RATING = { "Strong": " fit-strong", "Moderate": " fit-moderate", "Weak": " fit-weak" };
|
||
function abFitClass(rating) { return FIT_CLASS_BY_RATING[rating] || ""; }
|
||
|
||
var FIT_RATING_PCT = { "Weak": 12, "Moderate": 50, "Strong": 88 };
|
||
function buildFitGauge(rating) {
|
||
var pct = FIT_RATING_PCT[rating];
|
||
if (pct === undefined) {
|
||
return "<div class=\"ab-fit-inline\"><div class=\"ab-fit-inline-label\" style=\"color:#9aa7b4;\">Partnership fit: not assessed</div><div class=\"ab-fit-inline-track\"></div></div>";
|
||
}
|
||
return "<div class=\"ab-fit-inline\">" +
|
||
"<div class=\"ab-fit-inline-label\">Partnership fit: " + abEsc(rating) + "</div>" +
|
||
"<div class=\"ab-fit-inline-track\"><div class=\"ab-fit-inline-marker\" style=\"left:" + pct + "%;\"></div></div>" +
|
||
"</div>";
|
||
}
|
||
|
||
function buildAbCard(e) {
|
||
var card = document.createElement("div");
|
||
card.className = "ab-card" + abFitClass(e.fit_rating);
|
||
card.dataset.id = e.id;
|
||
|
||
var sourceClass = AB_SOURCE_CLASS[e.source] || "";
|
||
var nameLine = e.name
|
||
? "<div class=\"ab-card-name\">" + abEsc(e.name) + (e.title ? " — " + abEsc(e.title) : "") + "</div>"
|
||
: "<div class=\"ab-card-name empty\">" + (e.search_term ? "No contact found yet" : "No named contact yet") + "</div>";
|
||
var warmthLine = e.warmth ? "<div class=\"ab-warmth " + e.warmth + "\">" + e.warmth + "</div>" : "";
|
||
var followStar = e.already_follows ? "<span class=\"ab-follow-star\" title=\"Already follows TXproducts on LinkedIn\">★</span>" : "";
|
||
|
||
card.innerHTML =
|
||
"<div class=\"ab-card-top\">" +
|
||
"<div class=\"ab-card-company\">" + abEsc(e.company || "(no company)") + "</div>" +
|
||
"<span class=\"ab-source-chip " + sourceClass + "\" title=\"" + abEsc(abShortSource(e.source)) + "\">" + abEsc(e.stage) + "</span>" +
|
||
"</div>" +
|
||
nameLine +
|
||
(e.vertical ? "<div class=\"ab-card-vertical\">" + abEsc(e.vertical) + "</div>" : "") +
|
||
warmthLine +
|
||
followStar +
|
||
buildAbDetail(e);
|
||
|
||
card.addEventListener("click", function () { card.classList.toggle("expanded"); });
|
||
return card;
|
||
}
|
||
|
||
function buildAbDetail(e) {
|
||
// Company Overview — narrative + founded, same shape as the Marketing Intelligence profile boxes.
|
||
var overview =
|
||
"<div class=\"ab-prof-box\">" +
|
||
"<div class=\"ab-prof-title\">Company Overview</div>" +
|
||
(e.narrative
|
||
? "<div class=\"ab-prof-narrative\">" + abEsc(e.narrative) + "</div>"
|
||
: "<div class=\"ab-prof-narrative empty\">Not researched yet.</div>") +
|
||
"<div class=\"ab-prof-kv\"><span class=\"k\">Founded:</span><span class=\"v\">" + abEsc(e.founded || "Unknown") + "</span></div>" +
|
||
(e.region ? "<div class=\"ab-prof-kv\"><span class=\"k\">Region:</span><span class=\"v\">" + abEsc(e.region) + "</span></div>" : "") +
|
||
"</div>";
|
||
|
||
// Outreach & Contact — everything about reaching this lead and where they stand.
|
||
var kv = "";
|
||
if (e.abstract) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Pitch angle:</span><span class=\"v\">" + abEsc(e.abstract) + "</span></div>"; }
|
||
if (e.who_to_contact) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Who to contact:</span><span class=\"v\">" + abEsc(e.who_to_contact) + "</span></div>"; }
|
||
if (e.search_term) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">LinkedIn search:</span><span class=\"v\">" + abEsc(e.search_term) + "</span></div>"; }
|
||
if (e.connection) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Connection:</span><span class=\"v\">" + abEsc(e.connection) + "</span></div>"; }
|
||
if (e.surfaced_via) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Surfaced via:</span><span class=\"v\">" + abEsc(e.surfaced_via) + " (" + abEsc(e.date_surfaced) + ")</span></div>"; }
|
||
if (e.source_ref) { kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Source:</span><span class=\"v\">" + abEsc(e.source_ref) + "</span></div>"; }
|
||
kv += "<div class=\"ab-prof-kv\"><span class=\"k\">Stage:</span><span class=\"v\">" + abEsc(e.stage) + "</span></div>";
|
||
var outreach = "<div class=\"ab-prof-box\"><div class=\"ab-prof-title\">Outreach & Contact</div>" + kv + "</div>";
|
||
|
||
var links = "";
|
||
if (e.website) { links += "<a href=\"" + e.website + "\" target=\"_blank\" rel=\"noopener\">Website ↗</a>"; }
|
||
if (e.linkedin) { links += "<a href=\"" + e.linkedin + "\" target=\"_blank\" rel=\"noopener\">LinkedIn ↗</a>"; }
|
||
|
||
return "<div class=\"ab-card-detail\" onclick=\"event.stopPropagation();\">" +
|
||
overview + outreach + (links ? "<div class=\"links\">" + links + "</div>" : "") +
|
||
"</div>";
|
||
}
|
||
|
||
document.getElementById("ab-search").addEventListener("input", renderAddressBook);
|
||
document.querySelectorAll(".ab-filter-chip[data-source]").forEach(function (chip) {
|
||
chip.addEventListener("click", function () {
|
||
document.querySelectorAll(".ab-filter-chip[data-source]").forEach(function (c) { c.classList.remove("active"); });
|
||
chip.classList.add("active");
|
||
abActiveSource = chip.getAttribute("data-source");
|
||
renderAddressBook();
|
||
});
|
||
});
|
||
document.getElementById("ab-followers-link").addEventListener("click", function () {
|
||
window.open("http://localhost:8051/assets/follower_directory.html", "_blank", "noopener");
|
||
});
|
||
document.getElementById("ab-category-filter").addEventListener("change", function (e) {
|
||
abActiveCategory = e.target.value;
|
||
renderAddressBook();
|
||
});
|
||
document.getElementById("ab-stage-filter").addEventListener("change", function (e) {
|
||
abActiveStage = e.target.value;
|
||
renderAddressBook();
|
||
});
|
||
document.querySelectorAll(".ab-fit-chip").forEach(function (chip) {
|
||
chip.addEventListener("click", function () {
|
||
document.querySelectorAll(".ab-fit-chip").forEach(function (c) { c.classList.remove("active"); });
|
||
chip.classList.add("active");
|
||
abActiveFit = chip.getAttribute("data-fit");
|
||
renderAddressBook();
|
||
});
|
||
});
|
||
document.getElementById("ab-view-directory-btn").addEventListener("click", function () {
|
||
abView = "directory";
|
||
document.getElementById("ab-view-directory-btn").classList.add("active");
|
||
document.getElementById("ab-view-board-btn").classList.remove("active");
|
||
document.getElementById("ab-grid").style.display = "grid";
|
||
document.getElementById("ab-outreach").style.display = "none";
|
||
renderAddressBook();
|
||
});
|
||
document.getElementById("ab-view-board-btn").addEventListener("click", function () {
|
||
abView = "board";
|
||
document.getElementById("ab-view-board-btn").classList.add("active");
|
||
document.getElementById("ab-view-directory-btn").classList.remove("active");
|
||
document.getElementById("ab-grid").style.display = "none";
|
||
document.getElementById("ab-outreach").style.display = "flex";
|
||
renderAddressBook();
|
||
});
|
||
|
||
// Starting point: focus on the Outreach Board, filtered to Outreach, one contact selected.
|
||
document.getElementById("ab-view-board-btn").click();
|
||
document.querySelector(".ab-filter-chip[data-source=\"Outreach\"]").click();
|
||
</script>
|
||
</body>
|
||
</html>
|