<?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>Forem: Pure Cascade</title>
    <description>The latest articles on Forem by Pure Cascade (@__23aca6dca).</description>
    <link>https://forem.com/__23aca6dca</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%2F3565036%2F7a815931-74cf-4a48-a3fb-31bad684ae25.png</url>
      <title>Forem: Pure Cascade</title>
      <link>https://forem.com/__23aca6dca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/__23aca6dca"/>
    <language>en</language>
    <item>
      <title>Pure Cascade — Week 4: Chrome Extension MVP</title>
      <dc:creator>Pure Cascade</dc:creator>
      <pubDate>Wed, 12 Nov 2025 14:41:09 +0000</pubDate>
      <link>https://forem.com/__23aca6dca/pure-cascade-week-4-chrome-extension-mvp-4dd5</link>
      <guid>https://forem.com/__23aca6dca/pure-cascade-week-4-chrome-extension-mvp-4dd5</guid>
      <description>&lt;p&gt;This week was &lt;strong&gt;rough&lt;/strong&gt;— probably the hardest so far.&lt;br&gt;
We hit a wall of unexpected bugs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome’s CSP blocking injected scripts,&lt;/li&gt;
&lt;li&gt;mysterious “file isn’t UTF-8” errors,&lt;/li&gt;
&lt;li&gt;weird Vite + MV3 alias resolution quirks,&lt;/li&gt;
&lt;li&gt;and several executeScript dead ends that broke silently.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It took dozens of micro-fixes and re-architecture steps, but the result is solid:&lt;/p&gt;

&lt;p&gt;✅ What we accomplished&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stable Vite build with browser polyfills (path-browserify, fs shim).&lt;/li&gt;
&lt;li&gt;MV3-safe architecture: content scripts loaded via manifest, no unsafe eval.&lt;/li&gt;
&lt;li&gt;Full analyzer integration — local import from monorepo (packages/analyzer/src).&lt;/li&gt;
&lt;li&gt;CSS collection (inline + cross-domain via background FETCH_CSS).&lt;/li&gt;
&lt;li&gt;Popup UI: Analyze / Reset / Copy / Download / Open in Web App.&lt;/li&gt;
&lt;li&gt;Live updates between background ↔ popup with chrome.storage.&lt;/li&gt;
&lt;li&gt;Metrics &amp;amp; highlights: score, files, rules, selectors, declarations, conflicts (color-coded).&lt;/li&gt;
&lt;li&gt;Logging system — background logs visible in popup.&lt;/li&gt;
&lt;li&gt;Web report page with search, filters, pagination for conflicts/duplicates.&lt;/li&gt;
&lt;li&gt;Minimal permissions, icons, version sync, and tests on real sites.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Lessons learned&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MV3 demands a fundamentally different mindset — “injecting code” is replaced by data passing and manifest-declared scripts.&lt;/li&gt;
&lt;li&gt;Avoid relying on DevTools console: service worker logs are the real goldmine.&lt;/li&gt;
&lt;li&gt;Always check file encodings and path resolution inside monorepos — the defaults bite hard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚀 What’s next&lt;/p&gt;

&lt;p&gt;Week 5 focuses on Analyzer Insights &amp;amp; Web Dashboard: visualizations, distributions, CI-friendly exports, and richer filtering UX.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;After fighting through so many invisible walls, it feels amazing to finally click “Analyze” and watch a clean, working report pop up.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>javascript</category>
      <category>devjournal</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🌊 Week 3 — Pure Cascade now measures your CSS quality</title>
      <dc:creator>Pure Cascade</dc:creator>
      <pubDate>Sat, 25 Oct 2025 14:36:17 +0000</pubDate>
      <link>https://forem.com/__23aca6dca/week-3-pure-cascade-now-measures-your-css-quality-2o7o</link>
      <guid>https://forem.com/__23aca6dca/week-3-pure-cascade-now-measures-your-css-quality-2o7o</guid>
      <description>&lt;p&gt;This week Pure Cascade grew up from a parser into a CSS quality monitor.&lt;/p&gt;

&lt;p&gt;🔧 What’s new&lt;/p&gt;

&lt;p&gt;Duplicate detection — finds repeating selectors and declarations&lt;/p&gt;

&lt;p&gt;Conflict detection — highlights properties with multiple conflicting values across files&lt;/p&gt;

&lt;p&gt;CSS Health Score (0–100) — a quick numeric view of how “clean” your CSS is&lt;/p&gt;

&lt;p&gt;JSON Export — download your analysis report directly from the browser&lt;/p&gt;

&lt;p&gt;Now the tool doesn’t just count — it actually evaluates the structure and consistency of your styles.&lt;/p&gt;

&lt;p&gt;💡 Why this matters&lt;/p&gt;

&lt;p&gt;CSS debt usually hides in repetition and inconsistency.&lt;br&gt;
Pure Cascade can now tell you where and how much that debt costs you.&lt;/p&gt;

&lt;p&gt;It’s a small step toward making maintainable CSS measurable.&lt;/p&gt;

&lt;p&gt;🚀 Next&lt;/p&gt;

&lt;p&gt;Chrome extension MVP&lt;/p&gt;

&lt;p&gt;Analyze live pages right from DevTools&lt;/p&gt;

&lt;p&gt;Visualize conflicts and health score interactively&lt;/p&gt;

&lt;p&gt;Week 3 done — Pure Cascade now has a brain.&lt;/p&gt;

&lt;h1&gt;
  
  
  buildinpublic #frontend #css #devtools #typescript #vite
&lt;/h1&gt;

</description>
      <category>showdev</category>
      <category>frontend</category>
      <category>tooling</category>
      <category>css</category>
    </item>
    <item>
      <title>🌊 Week 2 — Pure Cascade now actually analyzes your CSS</title>
      <dc:creator>Pure Cascade</dc:creator>
      <pubDate>Sat, 25 Oct 2025 11:49:11 +0000</pubDate>
      <link>https://forem.com/__23aca6dca/week-2-pure-cascade-now-actually-analyzes-your-css-2n10</link>
      <guid>https://forem.com/__23aca6dca/week-2-pure-cascade-now-actually-analyzes-your-css-2n10</guid>
      <description>&lt;p&gt;This week, Pure Cascade stopped being a UI mockup and became a working tool.&lt;/p&gt;

&lt;p&gt;🔧 What’s new&lt;/p&gt;

&lt;p&gt;Built the core analyzer using PostCSS&lt;/p&gt;

&lt;p&gt;Added metrics for:&lt;/p&gt;

&lt;p&gt;total rules / selectors / declarations&lt;/p&gt;

&lt;p&gt;unique selectors&lt;/p&gt;

&lt;p&gt;property frequency&lt;/p&gt;

&lt;p&gt;Implemented ZIP import — you can now drop a project archive right into the browser and get a real JSON report.&lt;/p&gt;

&lt;p&gt;Connected everything: front → analyzer → report.&lt;/p&gt;

&lt;p&gt;It’s still raw, but it already parses real CSS and shows meaningful data.&lt;/p&gt;

&lt;p&gt;🧩 Why this matters&lt;/p&gt;

&lt;p&gt;The hardest part isn’t building UI — it’s making the system actually understand CSS.&lt;br&gt;
Now that the parsing and counting pipeline works, adding more logic (duplicates, conflicts, health score) is straightforward.&lt;/p&gt;

&lt;p&gt;🚀 Next&lt;/p&gt;

&lt;p&gt;detect duplicate selectors and conflicting declarations&lt;/p&gt;

&lt;p&gt;compute a CSS “health score”&lt;/p&gt;

&lt;p&gt;display it nicely in the Report page&lt;/p&gt;

&lt;p&gt;Once that’s in, Pure Cascade will evolve from “parser” into a true CSS health monitor.&lt;/p&gt;

&lt;p&gt;Small step, big unlock — now it’s analyzing real code.&lt;/p&gt;

&lt;h1&gt;
  
  
  buildinpublic #frontend #css #devtool #react #typescript #vite
&lt;/h1&gt;

</description>
      <category>showdev</category>
      <category>tooling</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>🌊 Week 1 — Building the Foundation of Pure Cascade, a CSS Health Analyzer</title>
      <dc:creator>Pure Cascade</dc:creator>
      <pubDate>Sat, 18 Oct 2025 15:23:07 +0000</pubDate>
      <link>https://forem.com/__23aca6dca/week-1-building-the-foundation-of-pure-cascade-a-css-health-analyzer-5hb</link>
      <guid>https://forem.com/__23aca6dca/week-1-building-the-foundation-of-pure-cascade-a-css-health-analyzer-5hb</guid>
      <description>&lt;p&gt;Hi everyone 👋&lt;br&gt;
Here’s my first weekly update on building Pure Cascade — a small DevTool that helps developers analyze and “clean up” their CSS.&lt;/p&gt;

&lt;p&gt;💡 The Idea&lt;/p&gt;

&lt;p&gt;CSS is powerful but messy.&lt;br&gt;
Even well-structured projects quickly accumulate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;duplicate rules,&lt;/li&gt;
&lt;li&gt;conflicting selectors,&lt;/li&gt;
&lt;li&gt;and unused styles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal of Pure Cascade is simple:&lt;/p&gt;

&lt;p&gt;“&lt;strong&gt;Make CSS health as easy to measure as running Lighthouse.&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;It will scan your project (or a live page), find issues, and visualize them as a “CSS Health Report”.&lt;/p&gt;

&lt;p&gt;⚙️ Week 1 — Foundation&lt;/p&gt;

&lt;p&gt;I spent this week laying down the groundwork instead of rushing into features.&lt;/p&gt;

&lt;p&gt;Highlights:&lt;/p&gt;

&lt;p&gt;✅ Structured the monorepo: /apps/web, /packages/analyzer, /apps/chrome-extension&lt;br&gt;
✅ Created the React + Vite + TypeScript web app&lt;br&gt;
✅ Built the initial UI: Upload and Report pages&lt;br&gt;
✅ Connected mock data for the demo report&lt;br&gt;
✅ Set up a minimal CI pipeline on GitLab&lt;br&gt;
✅ Organized documentation and roadmap&lt;/p&gt;

&lt;p&gt;Now the app already runs locally and shows a placeholder report — the architecture is ready for the real analyzer engine.&lt;/p&gt;

&lt;p&gt;🔭 Next Steps&lt;/p&gt;

&lt;p&gt;Week 2 will be all about the core logic — the analyzer package:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;parse CSS with PostCSS,&lt;/li&gt;
&lt;li&gt;count rules and selectors,&lt;/li&gt;
&lt;li&gt;detect duplicates and conflicts,&lt;/li&gt;
&lt;li&gt;output a real JSON report.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This will turn the project from “UI shell” into a working tool.&lt;/p&gt;

&lt;p&gt;Thanks for following along — building in public really helps stay consistent.&lt;br&gt;
If you’re curious about front-end tooling or CSS internals, follow for weekly progress. 🌊&lt;/p&gt;

&lt;h1&gt;
  
  
  buildinpublic #frontend #css #devtool #vite #react #typescript #webdev
&lt;/h1&gt;

</description>
      <category>sideprojects</category>
      <category>showdev</category>
      <category>tooling</category>
      <category>css</category>
    </item>
    <item>
      <title>🚀 Building a CSS DevTool in Public (6 Hours/Week Challenge)</title>
      <dc:creator>Pure Cascade</dc:creator>
      <pubDate>Wed, 15 Oct 2025 05:54:11 +0000</pubDate>
      <link>https://forem.com/__23aca6dca/building-a-css-devtool-in-public-6-hoursweek-challenge-6p4</link>
      <guid>https://forem.com/__23aca6dca/building-a-css-devtool-in-public-6-hoursweek-challenge-6p4</guid>
      <description>&lt;p&gt;Hi everyone 👋&lt;/p&gt;

&lt;p&gt;I’m starting a small, honest experiment: building a DevTool that helps developers analyze and optimize CSS faster.&lt;/p&gt;

&lt;p&gt;I’ll be doing it in public — sharing my process, mistakes, and small wins along the way.&lt;/p&gt;

&lt;p&gt;Constraints:&lt;br&gt;
🕕 Only 6 hours per week&lt;br&gt;
💻 No team, no funding&lt;br&gt;
🎯 Goal: working demo in 6 weeks&lt;/p&gt;

&lt;p&gt;Why?&lt;br&gt;
Because writing and maintaining CSS can be painful. I want to explore how automation and better UX can save time for developers.&lt;/p&gt;

&lt;p&gt;Follow this journey if you’re into:&lt;/p&gt;

&lt;p&gt;front-end development (React/Vue/TypeScript)&lt;/p&gt;

&lt;p&gt;CSS tooling &amp;amp; optimization&lt;/p&gt;

&lt;p&gt;building small, useful products in public&lt;/p&gt;

&lt;p&gt;Let’s see where this goes 🚀&lt;/p&gt;

&lt;p&gt;You can also follow my progress on X (Twitter) → @PureCascadeCSS&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
