<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yashvendra singh</title>
    <description>The latest articles on DEV Community by Yashvendra singh (@yashvendra_nirwan_6dcc24c).</description>
    <link>https://dev.to/yashvendra_nirwan_6dcc24c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3958093%2Fc9cdbf0d-3e5e-41c6-8e13-22f923fd2fa9.png</url>
      <title>DEV Community: Yashvendra singh</title>
      <link>https://dev.to/yashvendra_nirwan_6dcc24c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yashvendra_nirwan_6dcc24c"/>
    <language>en</language>
    <item>
      <title>From Half-Built to Live: How I Completed My Vaccine Cold Chain Dashboard</title>
      <dc:creator>Yashvendra singh</dc:creator>
      <pubDate>Fri, 29 May 2026 13:25:32 +0000</pubDate>
      <link>https://dev.to/yashvendra_nirwan_6dcc24c/vaxsafe-ai-cold-chain-monitoring-system-for-vaccines-published-true-tags-github-javascript-1m0f</link>
      <guid>https://dev.to/yashvendra_nirwan_6dcc24c/vaxsafe-ai-cold-chain-monitoring-system-for-vaccines-published-true-tags-github-javascript-1m0f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3klsmnu9tc2ysuf2952.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3klsmnu9tc2ysuf2952.jpg" alt=" " width="800" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Vaccines are fragile. A few degrees too warm for a few hours can silently destroy an entire batch — and nobody knows until it's too late. That's the problem I wanted to solve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VaxSafe AI&lt;/strong&gt; is a real-time cold chain monitoring dashboard that connects directly to an IoT temperature sensor via the Blynk Cloud API. It watches vaccine storage conditions 24/7, visualizes everything in a 3D interactive dashboard, and raises the alarm the moment something goes wrong — before any damage is done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌡️ &lt;strong&gt;Live IoT readings&lt;/strong&gt; — pulls from Blynk Cloud every 5 seconds via your auth token&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;3D cold storage model&lt;/strong&gt; — draggable Three.js visualization, lid opens on critical alert&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;AI analysis engine&lt;/strong&gt; — contextual advice based on temperature trend, not just threshold&lt;/li&gt;
&lt;li&gt;🔔 &lt;strong&gt;Smart alarm system&lt;/strong&gt; — audio beep + screen flash + banner on critical breach&lt;/li&gt;
&lt;li&gt;📈 &lt;strong&gt;Temperature history chart&lt;/strong&gt; — 30-reading rolling window with a safe-zone highlight band&lt;/li&gt;
&lt;li&gt;💉 &lt;strong&gt;Vaccine lifecycle tracker&lt;/strong&gt; — batch ID, manufacture date, days remaining, expiry progress bar&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;Live site:&lt;/strong&gt; &lt;a href="https://yashvendranirwan-alt.github.io/vaxsafesite/" rel="noopener noreferrer"&gt;https://yashvendranirwan-alt.github.io/vaxsafesite/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The live site connects to my actual IoT device. If the sensor is offline, simulation mode kicks in automatically — you'll still see the full dashboard, trend analysis, and alarm system in action.&lt;/p&gt;

&lt;p&gt;To connect your own sensor: paste your Blynk auth token into the header field and hit &lt;strong&gt;Connect&lt;/strong&gt;. Virtual pin V0 should publish your temperature value.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;This project started as a rough prototype — a basic temperature gauge that pinged a sensor and showed a number. Functional, but completely bare. No context, no visual feedback, nothing that would tell a real healthcare worker whether to panic or relax.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before the finish-up sprint:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plain HTML page&lt;/li&gt;
&lt;li&gt;Single temperature readout&lt;/li&gt;
&lt;li&gt;No chart history&lt;/li&gt;
&lt;li&gt;No alerts&lt;/li&gt;
&lt;li&gt;No 3D visualization&lt;/li&gt;
&lt;li&gt;Blynk connection but no graceful fallback for offline/demo use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Here's what changed:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Three.js cold storage visualization&lt;/strong&gt; — I built a full 3D animated vaccine box with a canvas-texture medical label, frost particles that shift color by state, and a lid that physically opens when a critical alert fires. Drag to rotate, works on mobile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intelligent state engine&lt;/strong&gt; — instead of a simple threshold alert, the system now tracks the rate of temperature change over a rolling window. Rising at 0.6°/interval inside the safe range? The AI message already tells you to pre-cool the storage — before the breach happens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulation fallback&lt;/strong&gt; — if the IoT device is offline (or you're just demoing), the dashboard simulates a realistic cold-chain sine-wave pattern so the UI is always live and demonstrable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Audio alarm&lt;/strong&gt; — Web Audio API square-wave beep that fires and loops only on critical state, stops cleanly on recovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vaccine lifecycle panel&lt;/strong&gt; — batch ID, manufacture date, expiry countdown, and a colour-shifting progress bar (green → amber → red as expiry approaches).&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It turned scaffolding into a conversation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Three.js geometry suggestions&lt;/strong&gt; — when I was building the vaccine box, I described what I wanted and Copilot filled in the corner strip coordinates and lid hinge group structure. Getting the spatial math right manually would have taken an hour of trial and error.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Described: "I need 4 vertical corner strips on a 2.2 x 1.5 x 1.3 box"&lt;/span&gt;
&lt;span class="c1"&gt;// Copilot suggested the coordinates — I verified and adjusted:&lt;/span&gt;
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;0.655&lt;/span&gt;&lt;span class="p"&gt;],[&lt;/span&gt;&lt;span class="mf"&gt;1.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;0.655&lt;/span&gt;&lt;span class="p"&gt;],[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mf"&gt;0.655&lt;/span&gt;&lt;span class="p"&gt;],[&lt;/span&gt;&lt;span class="mf"&gt;1.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mf"&gt;0.655&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Web Audio API boilerplate&lt;/strong&gt; — the alarm beep function uses oscillator nodes and gain ramps. Copilot drafted the structure; I tuned the frequency and interval to get a sound that feels urgent without being ear-splitting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chart.js custom plugin&lt;/strong&gt; — the safe-zone highlight band behind the temperature graph is a custom &lt;code&gt;beforeDatasetsDraw&lt;/code&gt; plugin. Copilot got me 80% there and I finished the pixel calculations for the safe range overlay.&lt;/p&gt;

&lt;p&gt;Where I still had to think for myself: the state machine logic (especially the trend-based warnings vs. raw threshold alerts), the Three.js lid animation lerp, and making the simulation fallback feel realistic rather than robotic. Copilot is great at structure and boilerplate — the product decisions are still yours to make.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Three.js r128&lt;/strong&gt; — 3D cold storage visualization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chart.js 4.4&lt;/strong&gt; — temperature history graph&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blynk Cloud API&lt;/strong&gt; — IoT sensor integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Audio API&lt;/strong&gt; — alarm sound system&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vanilla JS / HTML5 / CSS Grid&lt;/strong&gt; — no frameworks, no build tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No npm install. Just a single HTML file that works anywhere — because in healthcare infrastructure, the simpler the deployment, the better.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for the GitHub Finish-Up-A-Thon Challenge on DEV.to&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
