<?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: Cole</title>
    <description>The latest articles on DEV Community by Cole (@yupthatscole).</description>
    <link>https://dev.to/yupthatscole</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%2F4207368%2F56ac80c0-89fb-4b2d-a859-9a68a25013ef.jpg</url>
      <title>DEV Community: Cole</title>
      <link>https://dev.to/yupthatscole</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yupthatscole"/>
    <language>en</language>
    <item>
      <title>meet catweb: a browser for windows (with a cat)</title>
      <dc:creator>Cole</dc:creator>
      <pubDate>Sun, 25 Oct 2026 22:49:40 +0000</pubDate>
      <link>https://dev.to/yupthatscole/meet-catweb-a-browser-for-windows-with-a-cat-3j3h</link>
      <guid>https://dev.to/yupthatscole/meet-catweb-a-browser-for-windows-with-a-cat-3j3h</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faeq17f8ilykr0w6kr9y0.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%2Faeq17f8ilykr0w6kr9y0.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so i have a browser now. it's called catweb, a pixel cat named tuft lives on the new tab page.&lt;/p&gt;

&lt;p&gt;download: &lt;a href="https://yupthatscole.github.io/catweb-releases/" rel="noopener noreferrer"&gt;https://yupthatscole.github.io/catweb-releases/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;what it is&lt;br&gt;
catweb is a windows browser written in rust.&lt;/p&gt;

&lt;p&gt;websites run on webview2, the same engine microsoft edge uses, so most sites just work. catweb draws everything around the page itself: tabs, address bar, menus, settings, downloads, and tuft.&lt;/p&gt;

&lt;p&gt;there's also catweb native, a from-scratch rendering engine. it's an experimental side project, and tabs using it get an "Experimental" label. don't sign in to anything in those.&lt;/p&gt;

&lt;p&gt;what it does&lt;br&gt;
built-in ad and tracker blocking (easylist), toggle per site&lt;br&gt;
tries https first, strips tracking junk from links&lt;br&gt;
private tabs that forget everything when closed&lt;br&gt;
tabs in the title bar, drag to reorder, reopen closed tabs (ctrl+shift+t)&lt;br&gt;
address bar suggestions, bookmarks bar, history, downloads panel&lt;br&gt;
imports your chrome bookmarks and history&lt;br&gt;
themes and accent colors (default is "lavender soft")&lt;br&gt;
updates itself and checks a signature before installing anything&lt;br&gt;
silly settings, off by default. yes, the switches meow.&lt;br&gt;
privacy&lt;br&gt;
no accounts, no analytics, no telemetry. on its own, catweb only talks to:&lt;/p&gt;

&lt;p&gt;github, once a day, to check for updates (can be turned off)&lt;br&gt;
sites you visit, to grab their icons (never in private tabs)&lt;br&gt;
microsoft smartscreen, for dangerous sites and downloads (on by default, can be turned off)&lt;br&gt;
history and bookmarks stay on your pc. catweb doesn't save passwords.&lt;/p&gt;

&lt;p&gt;it hasn't had an outside security audit, so i wouldn't use it for banking yet.&lt;/p&gt;

&lt;p&gt;the smartscreen thing&lt;br&gt;
catweb isn't code-signed (that costs money every year), so windows will warn you. click "More info", then "Run anyway".&lt;/p&gt;

&lt;p&gt;if you want to check it first:&lt;/p&gt;

&lt;p&gt;virustotal: &lt;a href="https://www.virustotal.com/gui/file/ea48b93c00d2345afdcbc42327ce868ffac0f0fcb33bd4c1df12320d2c864cec/detection" rel="noopener noreferrer"&gt;https://www.virustotal.com/gui/file/ea48b93c00d2345afdcbc42327ce868ffac0f0fcb33bd4c1df12320d2c864cec/detection&lt;/a&gt;&lt;br&gt;
every release has a sha-256 checksum next to the download&lt;/p&gt;

&lt;p&gt;what's next&lt;br&gt;
a vpn/proxy option someday, making catweb native good enough for real sites.&lt;/p&gt;

&lt;p&gt;bugs&lt;br&gt;
found one? open an issue at &lt;a href="https://github.com/yupthatscole/catweb-releases/issues" rel="noopener noreferrer"&gt;https://github.com/yupthatscole/catweb-releases/issues&lt;/a&gt; and say what you did and what happened.&lt;/p&gt;

&lt;p&gt;meow 🐈&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>rust</category>
      <category>privacy</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>I built a little social site with zero npm dependencies (and a cat runs it)</title>
      <dc:creator>Cole</dc:creator>
      <pubDate>Sun, 25 Oct 2026 21:56:35 +0000</pubDate>
      <link>https://dev.to/yupthatscole/i-built-a-little-social-site-with-zero-npm-dependencies-and-a-cat-runs-it-4lo3</link>
      <guid>https://dev.to/yupthatscole/i-built-a-little-social-site-with-zero-npm-dependencies-and-a-cat-runs-it-4lo3</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fir74tdfef5wh3c5u8rq4.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%2Fir74tdfef5wh3c5u8rq4.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've been building catcloud, a small corner of the internet where everyone gets their own page to decorate, kind of like old GeoCities/MySpace pages. It's run by Tuft, a purple pixel cat who is officially the CEO. He writes memos.&lt;/p&gt;

&lt;p&gt;You get a page at catcloud.party/@yourname that you can paint however you want: colors, layouts, pictures, or raw HTML/CSS. There are guestbooks, a mini pixel cat on every page that visitors can pet and feed, trading cards, a small arcade, and a live hangout room where everyone's mini cats walk around together.&lt;/p&gt;

&lt;p&gt;Here's how it's built, because a few parts were fun to figure out.&lt;/p&gt;

&lt;p&gt;Zero dependencies&lt;br&gt;
The whole thing runs on plain Node 22: node:http for the server and the built-in node:sqlite for the database. There's nothing in node_modules, no framework, and no build step. The frontend is plain JavaScript too.&lt;/p&gt;

&lt;p&gt;Hosting it for free&lt;br&gt;
It runs on the Cloudflare Workers free plan. The whole app lives inside one SQLite-backed Durable Object, so it's still "one server with one database", just on someone else's computer. The same code also runs on a normal PC with npm start.&lt;/p&gt;

&lt;p&gt;Letting people write raw HTML safely&lt;br&gt;
People can put their own HTML and CSS on their page. To make that safe, each page renders inside a sandboxed iframe with a strict Content-Security-Policy and no scripts allowed. That way someone's page can look however they want, but it can't run code or touch anyone's account.&lt;/p&gt;

&lt;p&gt;Pixel art without image editors&lt;br&gt;
Most of the art (game sprites, furniture, cat clothes) is drawn as little text grids in JavaScript, where each letter is a color. The browser turns them into outlined pixel sprites at 4x. It's a lot easier to tweak a hat when the hat is a string.&lt;/p&gt;

&lt;p&gt;Games that are hard to cheat&lt;br&gt;
The arcade pays out coins, so people would want to cheat it. The server picks every round from a seed, then re-checks the results when you finish: it replays the round and checks that you didn't move faster than the game allows. If the numbers don't add up, no coins.&lt;/p&gt;

&lt;p&gt;A live room on a free plan&lt;br&gt;
The hangout room uses Server-Sent Events. To keep traffic tiny, the cats' walking paths come from a shared seed, so the server only sends "this cat did something" events, never positions. Every browser works out where each cat is on its own.&lt;/p&gt;

&lt;p&gt;Try it&lt;br&gt;
It's free and still new, so it's pretty quiet right now. If you make a page, drop your link in the comments and I'll sign your guestbook. I'd love feedback on what's confusing or broken!&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://catcloud.party" rel="noopener noreferrer"&gt;https://catcloud.party&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>node</category>
    </item>
  </channel>
</rss>
