<?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: Vansh</title>
    <description>The latest articles on DEV Community by Vansh (@vansh_e37509a5a0855a947a4).</description>
    <link>https://dev.to/vansh_e37509a5a0855a947a4</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%2F3620883%2Ff9c9c401-a282-4b21-965c-518a3aad0882.png</url>
      <title>DEV Community: Vansh</title>
      <link>https://dev.to/vansh_e37509a5a0855a947a4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vansh_e37509a5a0855a947a4"/>
    <language>en</language>
    <item>
      <title>👻 Building the Haunted Energy Dashboard: A Technical Deep Dive into a Cyber-Goth Smart Home System</title>
      <dc:creator>Vansh</dc:creator>
      <pubDate>Mon, 24 Nov 2025 13:48:54 +0000</pubDate>
      <link>https://dev.to/vansh_e37509a5a0855a947a4/building-the-haunted-energy-dashboard-a-technical-deep-dive-into-a-cyber-goth-smart-home-system-1dp1</link>
      <guid>https://dev.to/vansh_e37509a5a0855a947a4/building-the-haunted-energy-dashboard-a-technical-deep-dive-into-a-cyber-goth-smart-home-system-1dp1</guid>
      <description>&lt;p&gt;Energy monitoring tools are usually built for utility, not experience. You open them expecting insight, but get outdated graphs, rigid layouts, and numbers stripped of meaning. I wanted to change that.&lt;/p&gt;

&lt;p&gt;The result is the Haunted Energy Dashboard a modern, real-time smart home system that merges engineering precision with a cinematic, cyber-goth aesthetic. Powered by a custom AI persona called the Haunted Oracle, the dashboard transforms raw electrical data into narrative, atmosphere, and immersive design.&lt;/p&gt;

&lt;p&gt;This post is a full breakdown of the technical architecture and the creative engineering behind it and how Kiro made the entire complex system buildable.&lt;/p&gt;

&lt;p&gt;This wasn't just an aesthetic experiment. It’s a fully engineered, real-time monitoring system built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React 18&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; + &lt;strong&gt;Express&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; Authentication &amp;amp; RLS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zustand&lt;/strong&gt; state management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vitest&lt;/strong&gt; + &lt;strong&gt;fast-check&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kiro’s spec-driven workflow&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This post is a full breakdown of the technical architecture and the creative engineering behind it and how Kiro made the entire complex system buildable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Energy Monitoring Is Boring
&lt;/h2&gt;

&lt;p&gt;Typical dashboards fail because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They show data, but not meaning.&lt;/li&gt;
&lt;li&gt;They overload users with numbers.&lt;/li&gt;
&lt;li&gt;They lack alert intelligence.&lt;/li&gt;
&lt;li&gt;They treat UI like an afterthought.&lt;/li&gt;
&lt;li&gt;They feel generic and lifeless.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I asked: &lt;strong&gt;What if a smart home dashboard felt like stepping into a glowing, haunted control room?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question shaped the entire system.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack (Performance + Atmosphere)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;React 18&lt;/strong&gt; + &lt;strong&gt;Vite&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Ultra-fast HMR, modern hooks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;State&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Zustand&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lightweight, scalable global store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; + &lt;strong&gt;Express&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;API for homes, devices, usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Database/Auth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Supabase Postgres&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time data, Auth, and RLS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Vitest&lt;/strong&gt; + &lt;strong&gt;fast-check&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Unit + property-based testing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Styling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Custom Neon + Fog FX&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Immersive cyber-goth UI&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The system updates power readings every &lt;strong&gt;1.5–3 seconds&lt;/strong&gt;, handles multiple homes, computes anomalies, and pushes themed alerts through the Haunted Oracle.&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Telemetry:&lt;/strong&gt; Device energy changes instantly reflect on the dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-User Homes:&lt;/strong&gt; Each user only sees their own data thanks to &lt;strong&gt;Supabase RLS&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power Anomaly Detection:&lt;/strong&gt; Three custom algorithms detect:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phantom Load&lt;/strong&gt; (low, slow drains)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sudden Spikes&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Critical Surges&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Haunted Oracle Alerts:&lt;/strong&gt; Every alert is expressed in gothic, poetic language, powered by Kiro Steering Rules.&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Alert:&lt;/strong&gt; “A Quiet Thief lurks. Your device sips energy when it should sleep. Consider unplugging it lest its appetite grows.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How Kiro Tamed This Project
&lt;/h2&gt;

&lt;p&gt;This project was visually ambitious and technically complex. Kiro made it buildable.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Specs System: Clarity First
&lt;/h3&gt;

&lt;p&gt;Every feature was defined and tracked &lt;em&gt;before&lt;/em&gt; coding, using Kiro's specs system (&lt;code&gt;haunted-energy-phase2&lt;/code&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Requirements:&lt;/strong&gt; Defined &lt;strong&gt;15 core requirements&lt;/strong&gt; and &lt;strong&gt;75 acceptance criteria&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tasks:&lt;/strong&gt; Broke implementation into &lt;strong&gt;32 major tasks&lt;/strong&gt; (100+ subtasks) for smooth, incremental development.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture:&lt;/strong&gt; A full &lt;code&gt;design.md&lt;/code&gt; document contained the architecture and, crucially, &lt;strong&gt;39 property-based correctness rules&lt;/strong&gt;. This eliminated ambiguity and scope creep.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Steering Rules for the Haunted Oracle
&lt;/h3&gt;

&lt;p&gt;Located in &lt;code&gt;.kiro/steering/haunted-oracle.md&lt;/code&gt;, this file enforced the AI's unique voice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Elegance&lt;/strong&gt; and &lt;strong&gt;Gothic tone&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slight sarcasm&lt;/strong&gt; and &lt;strong&gt;actionable advice&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This created a consistent, system-wide personality, ensuring the Oracle’s messaging was never generic.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Quality Assurance Through fast-check
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;39 correctness properties&lt;/strong&gt; were tested using &lt;strong&gt;fast-check&lt;/strong&gt;, ensuring:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data isolation between users.&lt;/li&gt;
&lt;li&gt;UI/state stability under rapid data changes.&lt;/li&gt;
&lt;li&gt;Device power logic integrity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The combination of Kiro's structure and property-based testing resulted in bulletproof logic for the real-time core.&lt;/p&gt;

&lt;h2&gt;
  
  
  UX &amp;amp; Visual System: Cyber-Goth Engineering
&lt;/h2&gt;

&lt;p&gt;This project wasn’t just functionality it was atmosphere.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atmospheric Effects:&lt;/strong&gt; &lt;strong&gt;Fog overlays&lt;/strong&gt;, &lt;strong&gt;neon flicker alerts&lt;/strong&gt;, &lt;strong&gt;themed scrollbars&lt;/strong&gt;, and &lt;strong&gt;floating particles&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Visualization:&lt;/strong&gt; &lt;strong&gt;Room-by-room energy maps&lt;/strong&gt; allow users to explore their "haunted house" and pinpoint energy drains instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; All visual effects were optimized to maintain &lt;strong&gt;60fps performance&lt;/strong&gt; even during high-volume telemetry bursts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Engineering Challenges &amp;amp; Solutions
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Challenge&lt;/th&gt;
&lt;th&gt;Solution&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Real-time data without UI lag&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;requestAnimationFrame&lt;/code&gt; + throttled state updates via &lt;strong&gt;Zustand&lt;/strong&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Supabase multi-user isolation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Strict &lt;strong&gt;RLS policies&lt;/strong&gt; ensure data boundaries.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Making UI &amp;amp; state always consistent&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Zustand&lt;/strong&gt; + optimistic updates prevent flickering.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enforcing Haunted Oracle’s tone&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Kiro Steering Rules&lt;/strong&gt; locked the voice style reliably.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Telemetry overwhelming the app&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rate-limiting and deduplication built into the &lt;strong&gt;Node.js&lt;/strong&gt; backend.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Feature Tour
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dashboard Overview:&lt;/strong&gt; Live readings with glowing cards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device Manager:&lt;/strong&gt; Add/remove devices with custom power profiles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notifications:&lt;/strong&gt; Surges, spikes, phantoms all narrated by the Oracle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports:&lt;/strong&gt; Daily, weekly, monthly usage + predicted costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Settings:&lt;/strong&gt; Profile, theme toggle, home management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Echoes
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Haunted Energy Dashboard&lt;/strong&gt; is proof that utility doesn’t have to be boring.&lt;/p&gt;

&lt;p&gt;It’s: Creative, Atmospheric, Engineered with rigor, and &lt;strong&gt;Structured with Kiro&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Kiro turned the potential chaos of a complex, ambitious feature set into clarity, allowing this haunted vision to become a fully realized, tested system.&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>kirodotdev</category>
      <category>hackathon</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
