<?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: HARD IN SOFT OUT</title>
    <description>The latest articles on DEV Community by HARD IN SOFT OUT (@ggle_in).</description>
    <link>https://dev.to/ggle_in</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%2F3884982%2F67a3506c-d6d7-41a2-8df2-2054032ba4d6.png</url>
      <title>DEV Community: HARD IN SOFT OUT</title>
      <link>https://dev.to/ggle_in</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ggle_in"/>
    <language>en</language>
    <item>
      <title>I Built a Carbon Footprint Tracker in 48 Hours — Here's How Copilot Saved Me</title>
      <dc:creator>HARD IN SOFT OUT</dc:creator>
      <pubDate>Sat, 18 Apr 2026 02:47:46 +0000</pubDate>
      <link>https://dev.to/ggle_in/i-built-a-carbon-footprint-tracker-in-48-hours-heres-how-copilot-saved-me-4mfn</link>
      <guid>https://dev.to/ggle_in/i-built-a-carbon-footprint-tracker-in-48-hours-heres-how-copilot-saved-me-4mfn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




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

&lt;p&gt;I built &lt;strong&gt;EcoTrack Pro&lt;/strong&gt; — a beautiful, privacy-first carbon footprint calculator that helps individuals understand and reduce their environmental impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; Most carbon calculators are either too simplistic (3 questions) or buried in corporate reports. People want to know &lt;em&gt;their&lt;/em&gt; actual impact and get &lt;em&gt;actionable&lt;/em&gt; steps to reduce it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution:&lt;/strong&gt; EcoTrack Pro asks 15+ lifestyle questions (transport, energy, food, waste, shopping), calculates annual CO₂e emissions using peer‑reviewed data, and provides &lt;strong&gt;personalized, quantified recommendations&lt;/strong&gt; — not generic tips.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 15+ input categories with sensible defaults&lt;/li&gt;
&lt;li&gt;⚡ Real‑time grid intensity by country (Electricity Maps data)&lt;/li&gt;
&lt;li&gt;📈 Interactive pie &amp;amp; bar charts (toggleable)&lt;/li&gt;
&lt;li&gt;💡 Personalized recommendations with estimated CO₂ savings&lt;/li&gt;
&lt;li&gt;☁️ Anonymous cloud sync via Supabase (no login required!)&lt;/li&gt;
&lt;li&gt;🌓 Beautiful glassmorphic UI, fully responsive&lt;/li&gt;
&lt;li&gt;🔗 Share results on X, Facebook, LinkedIn&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://ecotrack-pro.netlify.app/" rel="noopener noreferrer"&gt;ecotrack-pro.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Screenshots:&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;The apps&lt;/th&gt;
&lt;th&gt;Calculator&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&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%2F4uioxarpr42zxkwtxydq.png" alt="The apps" width="768" height="629"&gt;&lt;/td&gt;
&lt;td&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%2Fsnjux0713mmnuzpibvop.png" alt="Calculator" width="753" height="635"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💻 Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/setuju/ecotrack" rel="noopener noreferrer"&gt;github.com/setuju/ecotrack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The entire project is &lt;strong&gt;vanilla HTML/CSS/JavaScript&lt;/strong&gt; — no frameworks, no build steps. Just clone and open &lt;code&gt;index.html&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/setuju/ecotrack.git
&lt;span class="nb"&gt;cd &lt;/span&gt;ecotrack
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; http.server 8000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛠️ How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; HTML5, CSS3 (Glassmorphism, CSS Grid/Flexbox), Vanilla JavaScript (ES6+)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Charts:&lt;/strong&gt; Chart.js (both pie and bar views)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend/Storage:&lt;/strong&gt; Supabase (PostgreSQL) with anonymous device‑ID sync&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Sources:&lt;/strong&gt; EPA, IPCC, Poore &amp;amp; Nemecek (2018) &lt;em&gt;Science&lt;/em&gt;, Electricity Maps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dev Server:&lt;/strong&gt; Python &lt;code&gt;http.server&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Hardest Parts
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Balancing accuracy with simplicity&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I needed enough inputs to be meaningful, but not so many that users bounce. I grouped 15+ fields into collapsible sections and pre‑filled defaults based on global averages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Anonymous cloud sync without login&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I didn't want to force sign‑up. Solution: generate a persistent &lt;code&gt;device_id&lt;/code&gt; in &lt;code&gt;localStorage&lt;/code&gt;, and if the user accepts cookies, sync their footprint to Supabase using that ID. Row‑Level Security ensures they only see their own data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Chart.js "undefined" errors&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
When toggling between pie and bar charts, I kept getting broken charts. The fix: properly destroy the previous &lt;code&gt;Chart&lt;/code&gt; instance before creating a new one, and always use a fresh canvas context.&lt;/p&gt;

&lt;h3&gt;
  
  
  How GitHub Copilot Helped (Prize Category)
&lt;/h3&gt;

&lt;p&gt;I actively used &lt;strong&gt;GitHub Copilot&lt;/strong&gt; throughout development. Here's exactly where it shined:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Copilot's Help&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Emission factor lookup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Wrote the entire &lt;code&gt;EMISSION_FACTORS&lt;/code&gt; object with realistic values after I typed &lt;code&gt;// per km gasoline car&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Chart configuration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Generated the complete Chart.js options object — I only tweaked colors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tooltip CSS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Created the &lt;code&gt;.tooltip&lt;/code&gt; and &lt;code&gt;.tooltiptext&lt;/code&gt; classes from a single comment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Share button logic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Wrote the &lt;code&gt;shareToX()&lt;/code&gt; and &lt;code&gt;shareToFacebook()&lt;/code&gt; functions with correct URL encoding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Recommendation messages&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Suggested realistic tips like &lt;em&gt;"Reducing weekly driving by 20 km saves ~200 kg CO₂/year"&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Without Copilot, I would have spent hours on boilerplate and docs. With it, I focused on UX and architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 Prize Categories
&lt;/h2&gt;

&lt;p&gt;I'm submitting this project for the following prize category:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Best Use of GitHub Copilot&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(I used Copilot to accelerate development — generating emission factors, chart configs, share logic, and personalized recommendation text.)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🙏 Thank You
&lt;/h2&gt;

&lt;p&gt;Thank you to the DEV Community and the Weekend Challenge judges for organizing this inspiring event. It was a joy to build something meaningful for Earth Day.&lt;/p&gt;

&lt;p&gt;If you find this project useful, I'd really appreciate a ⭐ on &lt;a href="https://github.com/setuju/ecotrack" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>earthday</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>The Silicon Valley Database Graveyard: What 7 Dead Migrations Taught Me About The Illusion of “Modern”</title>
      <dc:creator>HARD IN SOFT OUT</dc:creator>
      <pubDate>Fri, 17 Apr 2026 18:28:21 +0000</pubDate>
      <link>https://dev.to/ggle_in/the-silicon-valley-database-graveyard-what-7-dead-migrations-taught-me-about-the-illusion-of-36id</link>
      <guid>https://dev.to/ggle_in/the-silicon-valley-database-graveyard-what-7-dead-migrations-taught-me-about-the-illusion-of-36id</guid>
      <description>&lt;p&gt;Prologue: The Most Expensive Myth in Tech&lt;/p&gt;

&lt;p&gt;I have a map. It’s not a map of streets or trade routes. It’s a map of failure. Over fifteen years as a database architect and a “last resort” firefighter, I’ve charted the precise coordinates of technological shipwrecks. I call it the Silicon Valley Database Graveyard.&lt;/p&gt;

&lt;p&gt;In this graveyard, the headstones aren’t marked with names, but with financial death tolls: “Here lies a $8.9 Million Migration,” “R.I.P. to 847 Million Corrupted Records,” and the most heartbreaking epitaph of all: “We Just Wanted to Be Web-Scale.”&lt;/p&gt;

&lt;p&gt;What’s the number one cause of death for these projects? It’s not bad code. It’s a single, seductive, and catastrophically expensive lie: “This database is newer, so it must be better.”&lt;/p&gt;

&lt;p&gt;more on &lt;a href="https://medium.com/meetcyber/the-silicon-valley-database-graveyard-what-7-dead-migrations-taught-me-about-the-illusion-of-6dbd0a307911?source=user_profile_page---------0-------------43ea92aae554----------------------" rel="noopener noreferrer"&gt;here.....&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>dataengineering</category>
      <category>postgres</category>
      <category>mysql</category>
    </item>
  </channel>
</rss>
