import{j as e}from"./ui-vendor-Dyu0xMC9.js";import{r as t,L as a}from"./react-vendor-BiKEbLqf.js";import{B as s,H as i}from"./button-F0c2zgfO.js";import{H as r,F as n,D as o,M as l}from"./Footer-BCdrvFQr.js";import{B as c}from"./badge-rRfUgTqY.js";import{C as d,d as m}from"./card-D8XUAx1y.js";import{B as h}from"./BreadcrumbNav-DNbFIb3a.js";import{C as x}from"./CaseStudyGate-DxLnTkbn.js";import{A as u}from"./arrow-right-BJutILxB.js";import{D as p}from"./download-DlY6qDWe.js";import"./chart-vendor-V3pFlbOw.js";import"./index-D2mkZfe8.js";import"./client-Ccea0ZZ8.js";import"./chevron-right-9d459eh4.js";import"./breadcrumb-BZGpceck.js";import"./refresh-cw-Lpgl1agh.js";const g=()=>{const[g,f]=t.useState(!1),j=`Check out this case study from Allerin: ${window.location.href}`,v=`mailto:?subject=${encodeURIComponent("Case Study: Cold Chain Guardian — $42M Cargo Saved")}&body=${encodeURIComponent(j)}`,b=e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"py-6 bg-surface/30",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsx(h,{items:[{name:"Home",url:"/"},{name:"Customers",url:"/customers"},{name:"Cold Chain Guardian"}]})})}),e.jsx("section",{className:"py-16 bg-gradient-to-b from-surface/30 to-background",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("span",{className:"text-sm font-medium text-muted-foreground tracking-wide uppercase mb-4 block",children:"Case Study | Pharmaceutical Logistics | IoT and Real-Time Systems"}),e.jsx("h1",{className:"text-4xl md:text-6xl font-bold mb-4",children:e.jsx("span",{className:"bg-gradient-to-r from-data-orange to-data-teal bg-clip-text text-transparent",children:"$42M in Cargo Saved. 250K Shipments Monitored. 15-Minute Intervention Window."})}),e.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:"Cold Chain Guardian: Real-Time IoT Monitoring for Pharmaceutical Logistics"}),e.jsxs("div",{className:"flex flex-wrap gap-4",children:[e.jsxs(s,{size:"lg",onClick:()=>f(!0),className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue",children:["Talk to an Architect",e.jsx(u,{className:"ml-2 h-5 w-5"})]}),e.jsxs(s,{size:"lg",variant:"outline",onClick:()=>{window.print()},children:[e.jsx(p,{className:"mr-2 h-5 w-5"}),"Download 1-pager"]}),e.jsx(s,{size:"lg",variant:"outline",asChild:!0,children:e.jsxs("a",{href:v,children:[e.jsx(l,{className:"mr-2 h-5 w-5"}),"Email this case"]})})]})]})})}),e.jsx("section",{className:"py-12",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4 text-foreground",children:"Context"}),e.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"A global pharmaceutical logistics provider managing 250,000 temperature-controlled shipments annually was losing tens of millions in spoiled biologics. Their monitoring was retrospective: data loggers recorded temperatures to CSV files that nobody checked until morning. In January 2020, a dual compressor failure in a Memphis distribution facility destroyed $16.8 million in monoclonal antibody therapy because the temperature breach at 2:47 AM was not discovered until the morning crew arrived at 6 AM. The internal data showed 23 similar incidents over 18 months, totaling $60 million in destroyed cargo. The root cause was always the same: by the time a human learned about the excursion, the cargo was gone. Biologics with 15-minute time-out-of-temperature windows need real-time alerting, not next-morning CSV reviews. The system also had to comply with FDA 21 CFR Part 11 requirements for tamper-proof electronic records and validated pharmaceutical software."})]})})}),e.jsx("section",{className:"py-12 bg-surface/30",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Approach"}),e.jsxs("ul",{className:"space-y-4 text-lg text-muted-foreground",children:[e.jsxs("li",{className:"flex items-start",children:[e.jsx("span",{className:"text-data-teal mr-3 mt-1",children:"•"}),e.jsx("span",{children:"Real-time MQTT telemetry from sensors across 340 distribution facilities, ingesting 3.5 million temperature pings per hour via EMQX broker and AWS IoT Core"})]}),e.jsxs("li",{className:"flex items-start",children:[e.jsx("span",{className:"text-data-teal mr-3 mt-1",children:"•"}),e.jsx("span",{children:"Product-aware alerting engine built in Rails 6 with configurable threshold rules: different products have different temperature tolerances (insulin at 2 to 8 degrees, vaccines at minus 20, gene therapies at minus 70)"})]}),e.jsxs("li",{className:"flex items-start",children:[e.jsx("span",{className:"text-data-teal mr-3 mt-1",children:"•"}),e.jsx("span",{children:"60-second alert-to-notification pipeline: sensor reading to Sidekiq worker to ActionCable WebSocket push to SMS and automated voice call to facility manager, with specific cargo contents and dollar value in the alert"})]}),e.jsxs("li",{className:"flex items-start",children:[e.jsx("span",{className:"text-data-teal mr-3 mt-1",children:"•"}),e.jsx("span",{children:"FDA 21 CFR Part 11 compliance as the architectural foundation: append-only PostgreSQL tables with SHA-256 hash chains, two-factor electronic signatures, IQ/OQ/PQ validation protocol"})]})]})]})})})]}),w=e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"py-12",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsxs("div",{className:"flex items-baseline justify-between mb-6",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground",children:"Results"}),e.jsx(a,{to:"/how-we-measure#formulas",className:"text-data-teal hover:text-data-orange transition-colors text-sm font-medium inline-flex items-center",children:"Methodology →"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Cargo Losses (annual)"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"$30M+ → $42M saved"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"Over 2 years"})]})}),e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Excursion Discovery Time"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"6-8 hrs → 4.2 min"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"Alert-to-acknowledgment"})]})}),e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Intervention Time"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"Too late → 11.8 min avg"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"Alert-to-remediation"})]})}),e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Critical Excursions Caught (yr 1)"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"Unknown → 8,400"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"Caught and remediated in real time"})]})}),e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"FDA 21 CFR Part 11 Findings"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"2 observations → Zero"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"3 consecutive inspections"})]})}),e.jsx(d,{className:"clean-card",children:e.jsxs(m,{className:"p-6",children:[e.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Unplanned Refrigeration Failures"}),e.jsx("div",{className:"text-3xl font-bold text-foreground mb-1",children:"Baseline → -34%"}),e.jsx("div",{className:"text-lg text-data-teal font-semibold",children:"Predictive maintenance"})]})})]}),e.jsx("div",{className:"mt-8 grid grid-cols-1 sm:grid-cols-2 gap-4",children:["250,000 temperature-controlled shipments monitored annually","3.5 million telemetry pings ingested per hour via MQTT","340 distribution facilities connected across 4 continents","2,100 of the 8,400 critical excursions were biologics with 15-minute windows","Predictive maintenance prevented $8.3M in additional losses by catching compressor degradation 72 hours before failure","System processes QoS 1 MQTT messages for all compliance-critical temperature data"].map(t=>e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-data-teal mt-1 shrink-0",children:"✓"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:t})]},t))})]})})}),e.jsx("section",{className:"py-12 bg-surface/30",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Stack & Integrations"}),e.jsx("div",{className:"flex flex-wrap gap-3",children:["Ruby on Rails 6","MQTT (EMQX Broker)","AWS IoT Core","Sidekiq Enterprise","ActionCable (WebSockets)","PostgreSQL + PostGIS","TimescaleDB","Redis","Twilio (SMS + Voice)","Gradient-boosted trees"].map(t=>e.jsx(c,{variant:"secondary",className:"text-base px-4 py-2",children:t},t))})]})})}),e.jsx("section",{className:"py-12",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Approach Deep-Dive"}),e.jsxs("div",{className:"space-y-6 text-lg text-muted-foreground leading-relaxed",children:[e.jsx("p",{children:"The architecture starts at the sensor. Every refrigeration unit, shipping container, and transport vehicle was fitted with IoT temperature sensors transmitting via MQTT every 15 seconds: temperature, humidity, GPS coordinates, battery level, and sensor health. MQTT handles the connectivity challenges gracefully. A sensor on a refrigerated truck crossing rural Montana does not have reliable LTE. MQTT queues messages when connectivity drops and delivers them when it returns."}),e.jsx("p",{children:'The data flows into two parallel paths. Path one: real-time alerting. Sidekiq Enterprise workers evaluate readings against compound threshold rules. Not just "is this above 8 degrees" but "has this sensor reported three consecutive readings above 7.5 degrees, with a rising trend, in a unit containing biologics with a 15-minute TOT window?" The rules engine is configurable by the client\'s quality team without engineering involvement.'}),e.jsx("p",{children:"Path two: TimescaleDB for time-series storage. Every reading, regardless of alert status, is stored for compliance records and analytics. TimescaleDB's automatic partitioning (hypertables) and built-in compression reduced query times to under 500ms and cut storage costs by 90% compared to vanilla PostgreSQL (which hit a performance wall at month three, taking 30+ seconds for historical queries)."}),e.jsx("p",{children:"The alert cascade: second 0, sensor reports breach. Second 15, second reading confirms trend (filters sensor noise). Second 30, Sidekiq triggers the alert. Second 45, ActionCable pushes WebSocket notification to dashboard. Simultaneously, SMS to facility manager and automated Twilio voice call to emergency response number. Second 60, the dashboard shows: affected unit location (PostGIS renders the facility map with the unit highlighted), current temperature, rate of change (degrees per minute), unit contents (product name, lot numbers, quantity, dollar value), and estimated time until product compromise."}),e.jsx("p",{children:'The facility manager hears: "Unit 47 is at 9.2 degrees and rising at 0.3 degrees per minute. It contains $4.2 million in adalimumab. You have approximately 12 minutes. Nearest backup unit is Unit 23 in Building C." That specificity is the difference between a $4.2 million loss and a $0 loss.'}),e.jsx("p",{children:"FDA 21 CFR Part 11 compliance shaped every architectural decision. Append-only PostgreSQL tables with database-level triggers preventing UPDATE and DELETE on compliance records. SHA-256 hash chains linking records (if anyone modifies a historical record, the chain breaks and the system flags it). Two-factor electronic signatures for quality sign-offs. Over 400 RSpec tests serving double duty as both the regression suite and the basis for IQ/OQ/PQ validation documentation."}),e.jsx("p",{children:"The predictive layer was unplanned. Six months in, analysis of billions of stored readings revealed that catastrophic compressor failures were preceded by subtle telemetry patterns: wider temperature oscillation cycles, longer compressor run times, gradual 0.1 to 0.2 degree drift over days. A gradient-boosted tree model trained on 18 months of data now flags units likely to fail within 72 hours. Facility teams receive weekly reports. Even with an 18% false positive rate, the early warnings reduced unplanned failures by 34%."}),e.jsx("p",{children:"Heartbeat monitoring was a critical reliability feature. If a sensor misses two consecutive transmissions (30 seconds of silence), the system generates a connectivity alert. Operations teams learned that connectivity alerts at 2 AM often preceded temperature alerts at 2:15 AM because the same power failure that knocked out the sensor also knocked out the refrigeration unit."})]})]})})}),e.jsx("section",{className:"py-12 bg-surface/30",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Timeline"}),e.jsx("div",{className:"space-y-4",children:[{period:"Months 1-2",desc:"Sensor deployment across 3 pilot facilities, MQTT broker setup, data pipeline"},{period:"Months 3-4",desc:"Alerting engine, ActionCable real-time dashboard, Twilio integration"},{period:"Month 5",desc:"FDA 21 CFR Part 11 compliance layer (audit trails, electronic signatures, validation)"},{period:"Month 6",desc:"Rollout to 40 facilities, performance tuning for 3.5M pings/hour"},{period:"Months 7-8",desc:"Full 340-facility deployment, predictive maintenance model development"},{period:"Ongoing",desc:"Weekly model retraining, annual IQ/OQ/PQ revalidation"}].map(t=>e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"text-data-teal font-bold text-sm w-28 shrink-0",children:t.period}),e.jsx("span",{className:"text-muted-foreground",children:t.desc})]},t.period))})]})})}),e.jsx("section",{className:"py-12",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Lessons Learned"}),e.jsx("div",{className:"space-y-6",children:["IoT systems fail silently. A web app that loses its database throws errors users see. A sensor that goes quiet might mean the sensor failed, the network failed, or the power failed. You need heartbeat monitoring to distinguish 'all clear' from 'we do not know.'","Time-series databases are non-optional at IoT scale. We prototyped on vanilla PostgreSQL. It hit a wall at month three. TimescaleDB added two weeks to the timeline but saved the project from a performance crisis.","Compliance as foundation, not feature. Every architectural decision filtered through 21 CFR Part 11. Why PostgreSQL over NoSQL? ACID transactions. Why append-only tables? Tamper-evident records. Why ActionCable over polling? Verifiable delivery timestamps for the audit trail."].map((t,a)=>e.jsx("div",{className:"border-l-2 border-data-teal pl-6",children:e.jsxs("p",{className:"text-muted-foreground leading-relaxed italic",children:['"',t,'"']})},a))})]})})}),e.jsx("section",{className:"py-12 bg-surface/30",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6 text-foreground",children:"Related Case Studies"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsx(a,{to:"/customers/healthcare-rails-resurrection",className:"group",children:e.jsx(d,{className:"clean-card hover:shadow-medium transition-all",children:e.jsxs(m,{className:"p-6",children:[e.jsx("h3",{className:"font-bold text-lg mb-2 group-hover:text-data-teal transition-colors",children:"Healthcare Platform Resurrection"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Rails 3 → 7, zero downtime"})]})})}),e.jsx(a,{to:"/customers/predictive-freight-router",className:"group",children:e.jsx(d,{className:"clean-card hover:shadow-medium transition-all",children:e.jsxs(m,{className:"p-6",children:[e.jsx("h3",{className:"font-bold text-lg mb-2 group-hover:text-data-teal transition-colors",children:"Predictive Freight Router"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"$18M in fuel savings"})]})})}),e.jsx(a,{to:"/customers/finops-fraud-detection",className:"group",children:e.jsx(d,{className:"clean-card hover:shadow-medium transition-all",children:e.jsxs(m,{className:"p-6",children:[e.jsx("h3",{className:"font-bold text-lg mb-2 group-hover:text-data-teal transition-colors",children:"FinOps Fraud Detection"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"$14.7M in fraud caught"})]})})})]})]})})}),e.jsx("section",{className:"py-16 bg-gradient-to-r from-data-orange/5 via-data-teal/5 to-data-blue/5",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4 text-foreground",children:"Monitoring Physical Assets with Millions of Data Points?"}),e.jsx("p",{className:"text-lg text-muted-foreground mb-8",children:"Whether it is cold chain, manufacturing, or infrastructure, the pattern is the same: retrospective data logging is not enough when a missed alert costs millions. Real-time telemetry with intelligent alerting changes the economics. If your IoT data is collected but not acted on in real time, that gap is where the losses hide."}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[e.jsxs(s,{size:"lg",onClick:()=>f(!0),className:"bg-gradient-to-r from-data-orange to-data-teal hover:from-data-teal hover:to-data-blue",children:["Talk to an Architect",e.jsx(u,{className:"ml-2 h-5 w-5"})]}),e.jsxs(a,{to:"/services/data-analytics-platform",className:"text-data-teal hover:text-data-orange transition-colors font-medium inline-flex items-center",children:["View Data Analytics Platform Services",e.jsx(u,{className:"ml-2 h-4 w-4"})]})]})]})})})]});return e.jsxs(e.Fragment,{children:[e.jsxs(i,{children:[e.jsx("title",{children:"Cold Chain Guardian: $42M Pharma Cargo Saved with IoT Monitoring | Allerin Case Study"}),e.jsx("meta",{name:"description",content:"Real-time IoT monitoring saved $42M in pharma cargo across 250K shipments. 3.5M telemetry pings per hour. FDA 21 CFR Part 11 compliant. Case study from Allerin."}),e.jsx("link",{rel:"canonical",href:"https://www.allerin.com/customers/cold-chain-guardian"}),e.jsx("meta",{property:"og:type",content:"article"}),e.jsx("meta",{property:"og:title",content:"Cold Chain Guardian: $42M Pharma Cargo Saved | Allerin"}),e.jsx("meta",{property:"og:description",content:"Real-time IoT monitoring saved $42M in pharma cargo across 250K shipments. FDA 21 CFR Part 11 compliant."}),e.jsx("meta",{property:"og:url",content:"https://www.allerin.com/customers/cold-chain-guardian"}),e.jsx("meta",{property:"og:image",content:"https://www.allerin.com/og/default.webp"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:"Cold Chain Guardian: $42M Pharma Cargo Saved | Allerin"}),e.jsx("meta",{name:"twitter:description",content:"Real-time IoT monitoring saved $42M in pharma cargo across 250K shipments. FDA 21 CFR Part 11 compliant."}),e.jsx("meta",{name:"twitter:image",content:"https://www.allerin.com/og/default.webp"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:"Cold Chain Guardian: $42M Pharma Cargo Saved with IoT Monitoring",description:"Real-time IoT monitoring saved $42M in pharma cargo across 250K shipments. 3.5M telemetry pings per hour. FDA 21 CFR Part 11 compliant.",datePublished:"2026-03-17",author:{"@type":"Organization",name:"Allerin","@id":"https://www.allerin.com/#organization"},publisher:{"@type":"Organization",name:"Allerin","@id":"https://www.allerin.com/#organization"}})})]}),e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(r,{}),e.jsx("main",{children:e.jsx(x,{slug:"cold-chain-guardian",ungatedContent:b,onRequestArchitect:()=>f(!0),children:w})}),e.jsx(n,{})]}),e.jsx(o,{open:g,onOpenChange:f,defaultIntent:"architect",context:{sourcePage:"/customers/cold-chain-guardian",sourceButton:"case-study-cta",serviceContext:"data-analytics-platform"}})]})};export{g as default};