<?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: MetCoreB</title>
    <description>The latest articles on DEV Community by MetCoreB (@metcoreb).</description>
    <link>https://dev.to/metcoreb</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4116594%2F28af7343-cfe6-4642-ad7f-322c0b802052.png</url>
      <title>DEV Community: MetCoreB</title>
      <link>https://dev.to/metcoreb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/metcoreb"/>
    <language>en</language>
    <item>
      <title>My SPA was invisible to Google, and the fix broke on Cloudflare's build</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Wed, 14 Oct 2026 00:44:52 +0000</pubDate>
      <link>https://dev.to/metcoreb/my-spa-was-invisible-to-google-and-the-fix-broke-on-cloudflares-build-2nbd</link>
      <guid>https://dev.to/metcoreb/my-spa-was-invisible-to-google-and-the-fix-broke-on-cloudflares-build-2nbd</guid>
      <description>&lt;p&gt;I built kitdecoder.com, a set of browser-based dev tools, as a plain JS&lt;br&gt;
single-page app. A few weeks in I fetched my own homepage the way a crawler would&lt;br&gt;
and got back the  and an empty &lt;/p&gt;. Headings, FAQ and&lt;br&gt;
structured data only existed after JavaScript ran, so as far as Google was&lt;br&gt;
concerned the site was blank.

&lt;p&gt;The fix is prerendering: visit every route at build time and save the resulting&lt;br&gt;
HTML. I wrote a small Playwright script that serves the build locally, opens each&lt;br&gt;
of the ~40 routes, waits for the h1 to appear, and writes page.content() to&lt;br&gt;
dist//index.html. It worked on the first local run.&lt;/p&gt;

&lt;p&gt;Then I put it in the Cloudflare build command and it failed:&lt;/p&gt;

&lt;p&gt;error while loading shared libraries: libatk-1.0...&lt;/p&gt;

&lt;p&gt;npx playwright install gets you the browser, but Chromium also needs system&lt;br&gt;
libraries that a minimal build container doesn't ship, and I didn't find a way to&lt;br&gt;
install them there. So I stopped trying to make CI do it. The build, Playwright&lt;br&gt;
step included, runs on my machine, and I deploy the finished dist/ with wrangler:&lt;/p&gt;

&lt;p&gt;npm run build &amp;amp;&amp;amp; npx wrangler deploy&lt;/p&gt;

&lt;p&gt;I lost push-to-deploy. In exchange, the deploy can't break on a library I don't&lt;br&gt;
control.&lt;/p&gt;

&lt;p&gt;Two other things bit me along the way:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The prerender step was executing my AdSense script, so every page load during
the build fired a real ad request, and one of the saved pages ended up with an
ad iframe baked into the static HTML. I now block Google's ad domains with
page.route() before navigating.&lt;/li&gt;
&lt;li&gt;page.content() saved the preview server's address into the asset links
(&lt;a href="http://127.0.0.1:4173/assets/.." rel="noopener noreferrer"&gt;http://127.0.0.1:4173/assets/..&lt;/a&gt;.), which is broken in production. I rewrite
those to relative URLs before writing each file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you've prerendered an SPA yourself, did you hit the same things?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&gt;kitdecoder.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cloudflarechallenge</category>
      <category>seo</category>
      <category>javascript</category>
    </item>
    <item>
      <title>My toolkit used over the last four years</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Thu, 08 Oct 2026 21:36:50 +0000</pubDate>
      <link>https://dev.to/metcoreb/my-toolkit-used-over-the-last-four-years-1ijf</link>
      <guid>https://dev.to/metcoreb/my-toolkit-used-over-the-last-four-years-1ijf</guid>
      <description>&lt;p&gt;For the past few years, I've been working with web scraping and data extraction, and I often needed small tools to decode, compare, test, and edit text and data.&lt;/p&gt;

&lt;p&gt;So I decided to put some of these tools together in one place.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;KitDecoder&lt;/strong&gt; is a collection of free tools for developers and people working with data.&lt;/p&gt;

&lt;p&gt;Some of the tools currently available:&lt;/p&gt;

&lt;p&gt;🔹 Base64 / Base32 Decoder&lt;br&gt;
🔹 HTML Entities Decoder&lt;br&gt;
🔹 Regex Tester&lt;br&gt;
🔹 Text Compare&lt;br&gt;
🔹 Password Generator&lt;/p&gt;

&lt;p&gt;I built these tools to make some of my daily work easier, especially when working with web scraping, APIs, and data extraction.&lt;/p&gt;

&lt;p&gt;👉&lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&gt; KitDecoder &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll be adding more tools over time. Hopefully, KitDecoder can be useful to other developers and people working with data too.&lt;/p&gt;

&lt;p&gt;If you work with web scraping, APIs, or development, I'd love to hear which tools you use regularly and what you'd like to see added.&lt;/p&gt;

</description>
      <category>webscraping</category>
    </item>
    <item>
      <title>For my latest personal project, I’ve compiled all the tools I used during my five years as a web scraper.

https://kitdecoder.com/

Check it out.</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Mon, 05 Oct 2026 21:44:47 +0000</pubDate>
      <link>https://dev.to/metcoreb/for-my-latest-personal-project-ive-compiled-all-the-tools-i-used-during-my-five-years-as-a-web-5g3n</link>
      <guid>https://dev.to/metcoreb/for-my-latest-personal-project-ive-compiled-all-the-tools-i-used-during-my-five-years-as-a-web-5g3n</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kitdecoder.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkitdecoder.com%2Fog-image.png" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kitdecoder.com/" rel="noopener noreferrer" class="c-link"&gt;
            KitDecoder — Free Online Encoder &amp;amp; Decoder Tools
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Free online encoder/decoder: Base64, JSON, regex, and more. Encode, format, validate, and convert data. Fast and client-side.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkitdecoder.com%2Flogo.svg" width="120" height="120"&gt;
          kitdecoder.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>showdev</category>
      <category>tools</category>
      <category>webscraping</category>
    </item>
    <item>
      <title>Web Scraper Tools</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Mon, 05 Oct 2026 17:17:35 +0000</pubDate>
      <link>https://dev.to/metcoreb/web-scraper-tools-2l07</link>
      <guid>https://dev.to/metcoreb/web-scraper-tools-2l07</guid>
      <description>&lt;p&gt;For the past few years, I've been working with web scraping and data extraction, and I often needed small tools to decode, compare, test, and edit text and data.&lt;/p&gt;

&lt;p&gt;So I decided to put some of these tools together in one place.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;KitDecoder&lt;/strong&gt; is a collection of free tools for developers and people working with data.&lt;/p&gt;

&lt;p&gt;Some of the tools currently available:&lt;/p&gt;

&lt;p&gt;🔹 Base64 / Base32 Decoder&lt;br&gt;
🔹 HTML Entities Decoder&lt;br&gt;
🔹 Regex Tester&lt;br&gt;
🔹 Text Compare&lt;br&gt;
🔹 Password Generator&lt;br&gt;
🔹 And more tools for working with text and data&lt;/p&gt;

&lt;p&gt;I built these tools to make some of my daily work easier, especially when working with web scraping, APIs, and data extraction.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&gt;KitDecoder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll be adding more tools over time. Hopefully, KitDecoder can be useful to other developers and people working with data too.&lt;/p&gt;

&lt;p&gt;If you work with web scraping, APIs, or development, I'd love to hear which tools you use regularly and what you'd like to see added.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>tools</category>
      <category>webscraping</category>
      <category>ai</category>
    </item>
    <item>
      <title>Web Scraper tools</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Thu, 01 Oct 2026 22:27:33 +0000</pubDate>
      <link>https://dev.to/metcoreb/web-scraper-tools-2keo</link>
      <guid>https://dev.to/metcoreb/web-scraper-tools-2keo</guid>
      <description>&lt;p&gt;I made this after years of web scraping work. Kept hitting the same annoyances:&lt;br&gt;
decoding a JWT some endpoint returned, cleaning up Base64 blobs, testing a regex&lt;br&gt;
against a page structure that changed every other month. I was always bouncing&lt;br&gt;
between random online tools for this, never loved not knowing where the data was&lt;br&gt;
going.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&gt;kitdecoder.com&lt;/a&gt;&lt;br&gt;
runs entirely in the browser. I kept adding tools, around 28 now.&lt;br&gt;
Curious what's missing or what breaks for people.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgwsmtqy3x81hjv3i2z01.png" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgwsmtqy3x81hjv3i2z01.png" alt="https://kitdecoder.com/" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Made a free toolkit For Web Scraping</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Fri, 18 Sep 2026 00:02:43 +0000</pubDate>
      <link>https://dev.to/metcoreb/made-a-free-toolkit-for-web-scraping-5345</link>
      <guid>https://dev.to/metcoreb/made-a-free-toolkit-for-web-scraping-5345</guid>
      <description>&lt;p&gt;For the past few years, I've been working on web scraping and have had to use various tools, jumping from site to site to extract data.&lt;/p&gt;

&lt;p&gt;Because of this, I decided to bring them all together in one place: decoders/&lt;br&gt;
encoders, regex tools, formatters, and more.&lt;/p&gt;

&lt;p&gt;kitdecoder.com&lt;/p&gt;

&lt;p&gt;Take a look and let me know what you think.&lt;br&gt;
&lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&gt;Kitdecoder&lt;/a&gt;&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff0yn2wg8h6o7evwa1h6p.png" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff0yn2wg8h6o7evwa1h6p.png" alt=" " width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>development</category>
      <category>tools</category>
    </item>
    <item>
      <title>Made a free toolkit For Web Scraping</title>
      <dc:creator>MetCoreB</dc:creator>
      <pubDate>Mon, 14 Sep 2026 23:10:49 +0000</pubDate>
      <link>https://dev.to/metcoreb/made-a-free-toolkit-for-web-scraping-562e</link>
      <guid>https://dev.to/metcoreb/made-a-free-toolkit-for-web-scraping-562e</guid>
      <description>&lt;p&gt;For the past few years, I've been working on web scraping and have had to use&lt;br&gt;
various tools, jumping from site to site to extract data.&lt;/p&gt;

&lt;p&gt;Because of this, I decided to bring them all together in one place: decoders/&lt;br&gt;
encoders, regex tools, formatters, and more.&lt;/p&gt;

&lt;p&gt;kitdecoder.com&lt;/p&gt;

&lt;p&gt;Take a look and let me know what you think.&lt;br&gt;
&lt;a href="https://kitdecoder.com/" rel="noopener noreferrer"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3sqm5v0dhat1wj1d3awk.png" alt=" " width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>beginners</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
