<?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: Xander Taylor</title>
    <description>The latest articles on DEV Community by Xander Taylor (@xandertaylor).</description>
    <link>https://dev.to/xandertaylor</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%2F3823046%2Fa0cf1cd7-6203-4b6f-94e0-f73af5bfcb76.jpeg</url>
      <title>DEV Community: Xander Taylor</title>
      <link>https://dev.to/xandertaylor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xandertaylor"/>
    <language>en</language>
    <item>
      <title>Clawd Buddy: A Tiny Pixel Crab Who Lives on Your Mac</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Wed, 21 Oct 2026 22:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/clawd-buddy-a-tiny-pixel-crab-who-lives-on-your-mac-cal</link>
      <guid>https://dev.to/xandertaylor/clawd-buddy-a-tiny-pixel-crab-who-lives-on-your-mac-cal</guid>
      <description>&lt;h1&gt;
  
  
  Clawd Buddy: A Tiny Pixel Crab Who Lives on Your Mac
&lt;/h1&gt;

&lt;p&gt;A desktop pet with a job.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most desktop pets are screensavers with legs. Clawd is a small crab who happens to be useful. He wanders along the bottom of your screen, says silly things, and can be dragged up into the menu bar to live there. He is also a focus timer, a file shelf, a calculator, a folder tidier, and the first to know when Claude Code has finished.&lt;/p&gt;

&lt;p&gt;The one above is the real crab, not a picture of him. Press him. He has opinions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsm9urxvqqhzrivvlrtww.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsm9urxvqqhzrivvlrtww.gif" alt="Clawd walking along the bottom of a screen, talking, jumping, dancing and napping" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A day in the life, in about three seconds.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Clawd Buddy is free, open source, and made for macOS 14 and later. It is a Labs project: built by Xander, developed by TIZZLE and owned by Crooli. It is a fan project too, inspired by the little Clawd mascot in Claude Code, and not affiliated with Anthropic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pick a home
&lt;/h2&gt;

&lt;p&gt;By default Clawd lives on your desktop. Drag him up to the menu bar and let go, and he shrinks into a status item and carries on from there: blinking, walking on the spot, dancing, and popping up short phrases next to his icon. Drag him back out to carry him down and drop him anywhere.&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%2Fcxyly636tm6bf9sghilo.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%2Fcxyly636tm6bf9sghilo.png" alt="Clawd in the menu bar: idle, talking with the words Pondering, and as a timer showing 24:10" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Docked, idle. Docked, talking. Docked, as a timer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In the menu bar he stays put. Reminders, timers and alerts appear as a small bubble under his icon, with a little blip, without pulling him out. He is also notch-aware: if a crowded menu bar next to the notch has no room for his icon, he notices, hops back out and tells you, instead of quietly disappearing. His size is yours to choose too: small, medium or large.&lt;/p&gt;

&lt;h2&gt;
  
  
  A crab for every weather
&lt;/h2&gt;

&lt;p&gt;Tell Clawd your city and he dresses for it, using Open-Meteo, with no account. Try it:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He wears a nightcap with twinkling stars after 9pm, nudges you at bedtime, and wears a Santa hat in December. From mid-October he wears a pumpkin, which is why he looks like that this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  A timer with a face
&lt;/h2&gt;

&lt;p&gt;Start a focus session or a break and Clawd turns into the timer. The body becomes a pixel screen, a bar drains along the bottom, and two small bells appear on top. In the menu bar, the same face sits in his icon with the countdown beside it. Start one:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When it finishes he tells you with a bubble. He also goes quiet by himself while a timer runs, and during Zoom meetings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drag a file onto him
&lt;/h2&gt;

&lt;p&gt;Drag any file over Clawd and a tray of drop targets appears.&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%2Fbblv77bpvt0r8efe6f8k.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%2Fbblv77bpvt0r8efe6f8k.png" alt="The drop tray above Clawd, with tiles for Hold, PNG, JPG, Shrink, Zip, Path and Trash" width="798" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hold, convert, shrink, zip, copy the path, or bin it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hold puts the file on his shelf without moving or copying it. The convert tiles save a copy as PNG or JPG beside the original. Shrink compresses an image into a smaller copy, picking the best quality that actually saves space, and says so honestly if it cannot beat the original. Path copies the file paths. Trash is recoverable.&lt;/p&gt;

&lt;p&gt;Drop a folder instead, or drop Clawd onto a Finder window, and he offers to tidy it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He is careful on purpose. Only loose files at the top level are touched, and nothing is ever deleted. Undo last organise puts every file back and removes the folders he made.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ask Clawd
&lt;/h2&gt;

&lt;p&gt;Press ⌃⌥Space anywhere and a small box appears that does sums, converts units and currency, and tells you the time somewhere else.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The same menu has a colour picker that copies the hex code of anything on screen, a password generator that keeps its results out of clipboard history and clears them after 45 seconds, quick notes, and a screenshot-to-text tool that reads a box you draw using Apple's on-device Vision, so the picture never leaves your Mac.&lt;/p&gt;

&lt;h2&gt;
  
  
  He knows when Claude is done
&lt;/h2&gt;

&lt;p&gt;Clawd watches for a busy &lt;code&gt;claude&lt;/code&gt; process. While Claude Code is working he sits down and types, cycling through words like Flibbertigibbeting. When it goes quiet after a real run, he tells you it has finished.&lt;/p&gt;

&lt;p&gt;For the moments Claude is waiting on you, such as a permission prompt, he has a hook you can switch on from his menu. He waves and bounces, again and again, until you click him or Claude starts working again, even while he is docked in the menu bar.&lt;/p&gt;

&lt;p&gt;The same menu has a GitHub dashboard with CI dots and the pull requests waiting for your review, using the &lt;code&gt;gh&lt;/code&gt; command you already have, so there is no token to paste. There is also a git buddy that nudges you about uncommitted work, and a port watcher that tells you the moment a dev server goes down.&lt;/p&gt;

&lt;h2&gt;
  
  
  He plays
&lt;/h2&gt;

&lt;p&gt;Pick Play: Basketball and Clawd rolls himself into a ball while a hoop appears on the edge of your screen. Throw him through it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6r8feb0jfs2kau43jmj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6r8feb0jfs2kau43jmj.gif" alt="Clawd, curled into a ball, being thrown into a hoop on the edge of the screen" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Throw me. Farther is more points.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The farther the shot, the more it scores: a layup is 1, mid-range 2, long range 3, and downtown 4, with a bonus point for a clean swish that does not touch the rim. The hoop moves after every basket, you get sixty seconds, and your best score is saved. The rim and backboard are real obstacles, so shots can rattle in or bounce out.&lt;/p&gt;

&lt;p&gt;Without the hoop, Physics ball lets you throw Clawd anywhere: he bounces off the edges of your screen and the tops of your windows, and settles on the Dock looking at your cursor. There is also Flappy Clawd, a coin-catching game called Token Catch, and, every few minutes when you are not busy, something odd: a tiny fort on one of your windows, a peek-a-boo from the edge of the screen, a sneeze, or a ghost. All of it can be switched off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drawn from rectangles
&lt;/h2&gt;

&lt;p&gt;Clawd is drawn from filled rectangles on a 15 by 14 grid, every frame. The same drawing code makes the sprite on your desktop, the icon in your menu bar, the timer face and the pictures in the README. The crab at the top of this post, and the three little demos above, run a direct port of that code, so what you have been poking is the real thing. His sounds are made the same way: soft 8-bit blips synthesised on the fly, with no audio files.&lt;/p&gt;

&lt;p&gt;The app is Swift and AppKit with no dependencies. There is no Xcode project and no packages: one script builds it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watch the tour
&lt;/h2&gt;

&lt;p&gt;If you would rather watch than read, here is the whole thing in twenty-three seconds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Private by default, and good at updating
&lt;/h2&gt;

&lt;p&gt;Everything runs on your Mac. The only network requests are the currency lookup for Ask Clawd, the daily update check, the weather lookup if you set a city, the &lt;code&gt;gh&lt;/code&gt; command for the GitHub dashboard if you open it, and any download you ask for. There are no accounts, nothing about you is sent, and the clipboard history, which is off by default, lives only in memory.&lt;/p&gt;

&lt;p&gt;Once a day Clawd checks this project's latest release. When there is a newer version, an Update item appears at the top of his menu. Press it and he downloads the new version, checks that it really is Clawd, swaps himself out and relaunches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Clawd
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/clawd-buddy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The fine print
&lt;/h2&gt;

&lt;p&gt;Clawd Buddy is MIT licensed, with the code on &lt;a href="https://github.com/xandertaylorx/clawd-buddy" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and a page at &lt;a href="https://clawd.crooli.com" rel="noopener noreferrer"&gt;clawd.crooli.com&lt;/a&gt;. It is a fan project inspired by the Clawd mascot from Claude Code, and it is not affiliated with Anthropic. You will find it in &lt;a href="https://dev.to/labs"&gt;Labs&lt;/a&gt; with the rest of our experiments.&lt;/p&gt;

&lt;p&gt;He will be at the bottom of your screen. Say hi.&lt;/p&gt;

</description>
      <category>labs</category>
    </item>
    <item>
      <title>Portal 2D: 53 Chambers, All Solved Before You Arrive</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Wed, 21 Oct 2026 21:30:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/portal-2d-53-chambers-all-solved-before-you-arrive-2g7d</link>
      <guid>https://dev.to/xandertaylor/portal-2d-53-chambers-all-solved-before-you-arrive-2g7d</guid>
      <description>&lt;h1&gt;
  
  
  Portal 2D: 53 Chambers, All Solved Before You Arrive
&lt;/h1&gt;

&lt;p&gt;A pixel-art puzzler where the portals are real, the physics is honest, and a bot has already beaten every level.&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%2Foxolz7f6fiy285i7vkmu.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%2Foxolz7f6fiy285i7vkmu.png" alt="The Portal 2D title card: pixel-art lettering, a blue and an orange portal line, and a small terracotta test subject standing in front of two glass panes" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Welcome, test subject. Please keep your hands, feet and momentum inside the portals at all times.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Portal 2D is a side-scrolling puzzle game about two holes in the wall. Fire one blue, fire one orange, and anything that goes into one comes out of the other. That is the whole idea, and it turns out to be enough for fifty-three test chambers.&lt;/p&gt;

&lt;p&gt;It is also a Labs experiment that got out of hand. Every sprite, every tile, the lettering and every sound effect is generated by code. It runs on Mac, Windows and Linux, it is free, and the code and the releases live on &lt;a href="https://github.com/xandertaylorx/portal-2d-game" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chamber 01: Fling
&lt;/h2&gt;

&lt;p&gt;The first thing to learn is that portals keep your speed. Fall into one and you come out of the other at the same speed, in whatever direction that portal faces. Drop from higher and you leave faster. Put the exit on a floor and you are thrown back up.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/portal-2d" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That little sandbox runs the same rule the game does. A portal sits on a wall, a floor or a ceiling and has an outward direction. Going from portal A to portal B turns A's direction into the opposite of B's, and position and velocity both go through that one turn. Try the ceiling: the turn is nothing at all, so you simply keep falling, faster and faster. Try a wall and you are fired sideways.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9a2wzladsow6tmbl3ks.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9a2wzladsow6tmbl3ks.gif" alt="Gameplay of chamber 6, Speedy Thing: the test subject uses portals to be flung across a room" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber 6, Speedy Thing, in the real game. The momentum comes through the portal with the subject.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In the game, that one rule also carries lasers, decides which tiles stop being solid as you sink in, and drives the picture of the room behind each portal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chamber 02: Look through it
&lt;/h2&gt;

&lt;p&gt;In most games a portal is a sticker. Here it is a window. Once both are open, each one swells into an oval lens that shows the room in front of its partner, squeezed through a fish-eye curve, shifted a little as you move so it has real depth, with ripples, a swirl and a dithered, sparkling rim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9354iuirtn30tkv73mlz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9354iuirtn30tkv73mlz.gif" alt="Gameplay of chamber 1, Awakening: a blue and an orange portal, each showing a view of the other side" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber 1, Awakening. Each lens shows a live view out of its partner.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Under the shine is a simple trick. The world is drawn a second time, through the portal's transform, into an off-screen picture. The lens is a shader that samples it. Characters passing through are redrawn on the room side, so they never vanish behind the glass.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chamber 03: Light, bent
&lt;/h2&gt;

&lt;p&gt;Lasers travel through portals too. A beam that hits a portal face carries on out of the other one, so the puzzle becomes working out where to put the doorways so the light ends up in the receiver. Mirror cubes, glass and ceiling lasers add more ways to bend it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdcph9w9azgsllxgrdsl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdcph9w9azgsllxgrdsl.gif" alt="Gameplay of chamber 9, Relay: a red laser beam in a long room with a portal on the floor" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber 9, Relay. Lasers go through portals, so you can redirect them into receivers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The rest of the chamber toolbox is just as small and just as combinable: weighted cubes and buttons, toxic goo, emancipation grids, blue repulsion gel, orange launch plates, orange speed gel and timed buttons. A new idea turns up every few chambers, and then the later chambers combine them.&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%2Fw2r8psbn66hbqkebcekf.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%2Fw2r8psbn66hbqkebcekf.png" alt="Chamber 13, Two Weights: a long room with a cube on a button, a blue portal on the floor and a green exit" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber 13, Two Weights. The first forty chambers are handcrafted, each with its own trick: shooting portals through a window, using a cube as a step stool, a sealed cell, a speed loop, a level with no portal gun at all.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Chamber 04: The one that never ends
&lt;/h2&gt;

&lt;p&gt;Random Test builds an endless run of chambers out of dozens of puzzle rooms. Every run gets harder, harder rooms only unlock as your streak grows, and the game remembers your best.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fojp2oln03ondmd2w6hqq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fojp2oln03ondmd2w6hqq.gif" alt="Random Test mode, streak 1: a generated chamber with two laser beams and a doorway" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Random Test, streak 1. This chamber was made a moment before it was played.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Randomly generated puzzles have a classic problem: some of them cannot be solved. Portal 2D does not hand you one until it is sure. A bot drives the real physics with scripted inputs. Every handcrafted chamber has a reference solution, and a single command plays all of them with no window. In Random Test, each type of room writes out the inputs that solve it, and a new chamber is only given to you after the bot has finished it. If it fails, the game tries the next seed.&lt;/p&gt;

&lt;p&gt;So when you are stuck, you are stuck on a puzzle with an answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chamber 05: Build your own
&lt;/h2&gt;

&lt;p&gt;A point-and-click map builder lets you design chambers of your own. Paint walls, glass, goo, gels, lasers, cubes, buttons and doors. Wire doors to buttons and targets by colour and number, and the editor draws the link lines and warns you about doors nobody can open. Undo, redo, resize, pick the portal gun you allow, then test play.&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%2F29m3eusnmjposz60jrod.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%2F29m3eusnmjposz60jrod.png" alt="The chamber select screen: a grid of numbered chambers with best times" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber select. Beat one to unlock the next.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Maps save on your device. To share one, beat it first, so everything shared is known to be finishable, then copy a single line of text and send it to a friend, who pastes it in. There is also a Featured Maps screen with hand-picked chambers, six to start, hosted on the game's GitHub page.&lt;/p&gt;

&lt;p&gt;If you would rather play with one hand on the mouse, an option makes left click fire blue, then orange, then blue again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Made in four days
&lt;/h2&gt;

&lt;p&gt;Portal 2D went from nothing to its seventh minor version in four days. Drag along the line to watch the chamber count climb and the mechanics arrive.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/portal-2d" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pixel art out of nothing
&lt;/h2&gt;

&lt;p&gt;The game ships no art and no audio files. Tiles and sprites are painted pixel by pixel into buffers in code, the lettering is a bitmap font built by hand, and every sound effect is synthesised. The picture is drawn on a 640 by 360 canvas of 16-pixel tiles, then scaled up by a whole number with no smoothing, which is why it stays crisp. Each level's walls are baked with outlines, rounded corners, panel seams and a painted chamber number.&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%2Fzqy2qknwp3cd6i18wdza.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%2Fzqy2qknwp3cd6i18wdza.png" alt="The game's sprites: the test subject in eight frames, a cube with a heart, blue and orange portals, lettering and an exit door" width="800" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Everything on this sheet is drawn by code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The test subject in the sandbox above is the first frame from that sheet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your turn
&lt;/h2&gt;

&lt;p&gt;You can run it with these:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/portal-2d" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Then take it for a spin. It is free for any non-commercial use, and after the first install it checks for updates when it starts and offers to download and restart into the new version.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/portal-2d" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&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%2Fzvt9qghsedu5njiz5s4v.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%2Fzvt9qghsedu5njiz5s4v.png" alt="Chamber complete: the results screen with the time and deaths for a finished chamber" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chamber complete. Your best time is kept for next time.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The fine print
&lt;/h2&gt;

&lt;p&gt;Portal 2D is written in C# on .NET 10 with Raylib, about nine thousand lines of it. The code and releases are at &lt;a href="https://github.com/xandertaylorx/portal-2d-game" rel="noopener noreferrer"&gt;github.com/xandertaylorx/portal-2d-game&lt;/a&gt;, and you can read how it works in the README or grab a build from the &lt;a href="https://github.com/xandertaylorx/portal-2d-game/releases/latest" rel="noopener noreferrer"&gt;releases page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is released under the PolyForm Strict License: you can download, play and study it for any non-commercial purpose, but you cannot sell it, modify it or redistribute the code or builds without permission. Portal 2D is an independent fan project. It is not affiliated with or endorsed by Valve Corporation, and Portal is a trademark of Valve Corporation.&lt;/p&gt;

&lt;p&gt;Portal 2D lives in &lt;a href="https://dev.to/labs"&gt;Labs&lt;/a&gt;, with the rest of our experiments. Press R to restart a chamber, as often as you need to.&lt;/p&gt;

</description>
      <category>labs</category>
    </item>
    <item>
      <title>Crooli Flights: A Calm Live Map of the Sky</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Wed, 21 Oct 2026 21:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/crooli-flights-a-calm-live-map-of-the-sky-ha8</link>
      <guid>https://dev.to/xandertaylor/crooli-flights-a-calm-live-map-of-the-sky-ha8</guid>
      <description>&lt;h1&gt;
  
  
  Crooli Flights: A Calm Live Map of the Sky
&lt;/h1&gt;

&lt;p&gt;A new Labs experiment: a live aircraft tracker that stays out of your way.&lt;/p&gt;

&lt;p&gt;Flight trackers tend to be busy. Ads, panels, upsells, and a map you have to fight to see. We wanted the opposite: the sky, live, in the same quiet look as the rest of Crooli, and a few good tools one tap away.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://flights.crooli.com" rel="noopener noreferrer"&gt;Crooli Flights&lt;/a&gt; is that. Open it and you see aircraft moving in real time over a calm map, coloured by altitude and trailing a faint line behind them. There is nothing to sign up for.&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%2Fcrooli.com%2Fblog%2Fflights%2Fmap.svg" 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%2Fcrooli.com%2Fblog%2Fflights%2Fmap.svg" alt="An illustration of the Flights map: aircraft drawn in different colours, each with a trail, over a calm ivory map" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustration of the Flights map.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Real positions, drawn smoothly
&lt;/h2&gt;

&lt;p&gt;The positions come from ADS-B, the signal most aircraft broadcast as they fly. Volunteer receivers around the world pick it up and share it, and Flights reads those public feeds. Nothing is invented and nothing is simulated.&lt;/p&gt;

&lt;p&gt;New data arrives every few seconds, not every frame, so the tracker fills the gaps. Between updates each aircraft keeps going at its last speed and track, then eases to the true position when fresh data lands. That is why the planes glide instead of jumping. Try it below. Turn the gliding off and slow the updates down to see what the map would look like without it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/crooli-flights" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Colour tells you the height
&lt;/h2&gt;

&lt;p&gt;Every aircraft is coloured by altitude, from clay on the ground, through ochre and sage, to lapis and violet at the top of the sky. You can read a busy map at a glance: the low traffic around an airport, the long flights high above it. Drag the slider to see the colours, and switch between feet and metres.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/crooli-flights" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One sky, one request
&lt;/h2&gt;

&lt;p&gt;The free feeds are generous but limited, so Flights does not ask for the sky afresh for every visitor. The world is split into a fixed grid of cells, each small enough to be one query. Because the grid never moves, everyone looking at the same part of the sky asks for the same cells, and each answer is cached for a few seconds. A thousand people watching the same view cost about the same as one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/crooli-flights" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If both feeds are busy, Flights serves the last good answer rather than showing nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tap an aircraft for the story
&lt;/h2&gt;

&lt;p&gt;Select any aircraft and a card opens with its route, airline and airframe, a photo if one exists, and its speed and altitude. The route and airframe come from a public aircraft database, and the photos from Planespotters.net, with credit to the photographer.&lt;/p&gt;

&lt;p&gt;Press ⌘K, or tap the search bar, to find a flight by callsign, an airport by name or code, or an aircraft by its registration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Airport boards
&lt;/h2&gt;

&lt;p&gt;Pick an airport and Flights builds a board from the live traffic: aircraft within reach of it, matched to their routes. Flights heading there are arrivals and flights from there are departures. The board sits beside current weather, read from the official METAR and TAF reports.&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%2Fcrooli.com%2Fblog%2Fflights%2Fairport-board.svg" 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%2Fcrooli.com%2Fblog%2Fflights%2Fairport-board.svg" alt="An illustration of an airport board: a list of arrivals and departures, with a weather panel and a runway" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustration of an airport board.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Replay a flight
&lt;/h2&gt;

&lt;p&gt;Open a flight and you can replay the track it has flown so far. Scrub along a timeline, speed it up, and watch the altitude profile draw as the aircraft climbs, cruises and descends.&lt;/p&gt;

&lt;h2&gt;
  
  
  See it in 3D
&lt;/h2&gt;

&lt;p&gt;Switch to the 3D view and the map tilts. Every aircraft floats at its real height, slightly exaggerated so the layers of traffic are easy to tell apart, on a thin stalk down to the ground. It is the quickest way to see how much of the sky is in use above one airport.&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%2Fcrooli.com%2Fblog%2Fflights%2F3d-view.svg" 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%2Fcrooli.com%2Fblog%2Fflights%2F3d-view.svg" alt="An illustration of the 3D view: aircraft floating at different heights over a tilted map, each on a thin stalk" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An illustration of the 3D view.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Emergencies, anywhere
&lt;/h2&gt;

&lt;p&gt;Aircraft can tell air traffic control that something is wrong by changing the code their transponder sends. Flights watches for three of them across the whole world and lists any aircraft sending one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/crooli-flights" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tune the map
&lt;/h2&gt;

&lt;p&gt;A layers panel turns things on and off: weather radar, trails, callsign labels, airports, aircraft on the ground, and military only. A slider hides everything below an altitude, so you can look at just the high traffic. Units switch between aviation (knots and feet), imperial and metric. There is a light theme and a dark one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Share a flight
&lt;/h2&gt;

&lt;p&gt;Any flight can become a share card: a 1200 by 630 image of the flight, drawn in your browser in Crooli's look, with a link back to the live aircraft. Links to a flight or an airport open straight to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is built on
&lt;/h2&gt;

&lt;p&gt;Flights has no build step and no accounts. It is static files and a few small serverless functions, and everything it shows comes from free, public sources:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Where it comes from&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Live positions&lt;/td&gt;
&lt;td&gt;adsb.lol, with adsb.fi as a backup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Route, airline, airframe&lt;/td&gt;
&lt;td&gt;adsbdb.com&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aircraft photos&lt;/td&gt;
&lt;td&gt;Planespotters.net&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Airport weather&lt;/td&gt;
&lt;td&gt;aviationweather.gov (NOAA)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Radar&lt;/td&gt;
&lt;td&gt;RainViewer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Basemap&lt;/td&gt;
&lt;td&gt;OpenFreeMap, repainted in Crooli colours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Airports&lt;/td&gt;
&lt;td&gt;OurAirports&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Your settings, such as the theme and the layers you chose, are saved in your own browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Good to know
&lt;/h2&gt;

&lt;p&gt;Flights shows what the volunteer receivers hear, so coverage depends on where those receivers are. Some aircraft, and some regions, will be missing. The free feeds are also rate limited, so a very busy moment can mean slightly older data. It is for watching the sky, not for navigating in it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it is in Labs
&lt;/h2&gt;

&lt;p&gt;Flights started as a question: how calm can a live map be? It is an experiment that turned out useful, which is what Labs is for. You will find it with the rest of the experiments in &lt;a href="https://dev.to/labs"&gt;Labs&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Take a look
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://flights.crooli.com" rel="noopener noreferrer"&gt;flights.crooli.com&lt;/a&gt;, zoom in on an airport near you, and tap a plane.&lt;/p&gt;

</description>
      <category>labs</category>
    </item>
    <item>
      <title>Meet Oli, the Crooli Assistant</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Wed, 21 Oct 2026 18:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/meet-oli-the-crooli-assistant-kj7</link>
      <guid>https://dev.to/xandertaylor/meet-oli-the-crooli-assistant-kj7</guid>
      <description>&lt;h1&gt;
  
  
  Meet Oli, the Crooli Assistant
&lt;/h1&gt;

&lt;p&gt;A small AI that knows its way around Crooli, and keeps its answers short.&lt;/p&gt;

&lt;p&gt;Finding something on a site with a lot going on can mean opening five pages. &lt;a href="https://dev.to/chat"&gt;Oli&lt;/a&gt; is a quicker way in. Ask a question in plain words, such as what Crooli builds or what is in Labs, and Oli answers in a few sentences with a link to the right page.&lt;/p&gt;

&lt;h2&gt;
  
  
  A chat that stays calm
&lt;/h2&gt;

&lt;p&gt;Oli is built around one idea: the page should not fill up. Only one question and its answer are on screen at a time, so there is nothing to scroll. The Crooli mark sits in the middle, moves up when you ask something, and the answer fills in underneath, word by word. Arrow buttons step back through earlier questions.&lt;/p&gt;

&lt;p&gt;Under the answer, Oli suggests up to three follow-up questions, so you can keep going without typing.&lt;/p&gt;

&lt;p&gt;The mark is also how Oli shows what it is doing. Pick a state to see it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/meet-oli-the-crooli-assistant" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Oli knows
&lt;/h2&gt;

&lt;p&gt;Oli answers from a set of facts about Crooli that is built along with the site: the company, &lt;a href="https://dev.to/labs"&gt;Labs&lt;/a&gt;, the &lt;a href="https://dev.to/collective"&gt;Collective&lt;/a&gt;, &lt;a href="https://dev.to/croo"&gt;Croo&lt;/a&gt;, the &lt;a href="https://dev.to/news"&gt;newsroom&lt;/a&gt;, the &lt;a href="https://dev.to/academy"&gt;Academy&lt;/a&gt; and the legal pages. If something is not in there, Oli says it is not sure and points you to the &lt;a href="https://dev.to/contact"&gt;contact page&lt;/a&gt; instead of guessing.&lt;/p&gt;

&lt;p&gt;That is also why Oli stays on topic. It will politely decline questions that have nothing to do with Crooli, and it does not write code or essays for you. It is a guide to the site, not a general chatbot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest about being an AI
&lt;/h2&gt;

&lt;p&gt;Oli is an AI and it can be wrong. It is told never to invent products, prices, dates or policies, but you should still check anything that matters on the page it links to. For legal questions, Oli only summarises what the legal pages say and points you to them. It does not give legal, medical or financial advice.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens to your messages
&lt;/h2&gt;

&lt;p&gt;To write an answer, your message is sent through Crooli's server to an AI provider. Because of that, please do not share anything sensitive in the chat.&lt;/p&gt;

&lt;p&gt;Your conversation is kept only in your browser tab, and only the last 20 messages. Close the tab, or choose New chat, and it is gone. Questions are capped at 500 characters, and there is a limit on how many you can ask in a short time, so if you hit it you will see a message to try again in a few minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://dev.to/chat"&gt;crooli.com/chat&lt;/a&gt; and ask away. If you are not sure what to ask, try "What does Crooli build?" or "Tell me about Croo".&lt;/p&gt;

</description>
      <category>ai</category>
      <category>oli</category>
      <category>product</category>
      <category>croolinews</category>
    </item>
    <item>
      <title>Introducing Crooli Academy</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Wed, 21 Oct 2026 17:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/introducing-crooli-academy-59oh</link>
      <guid>https://dev.to/xandertaylor/introducing-crooli-academy-59oh</guid>
      <description>&lt;h1&gt;
  
  
  Introducing Crooli Academy
&lt;/h1&gt;

&lt;p&gt;Tiny, playful tutorials on code, AI and how tech really works.&lt;/p&gt;

&lt;p&gt;Most tutorials ask you to read about a thing and then go and set it up somewhere else before you can try it. The &lt;a href="https://dev.to/academy"&gt;Academy&lt;/a&gt; puts the practice inside the lesson. You read a few lines, then type the command, edit the code or drag the slider right there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Six courses to start
&lt;/h2&gt;

&lt;p&gt;The Academy opens with six short courses across three topics: Code, AI and Tech. Each is a handful of lessons, and most take only a few minutes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-crooli-academy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Not sure where to begin? &lt;a href="https://dev.to/academy/terminal-101"&gt;Terminal 101&lt;/a&gt; is the friendliest start, and nothing else assumes you have done it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practise in the page
&lt;/h2&gt;

&lt;p&gt;The practice is part of each lesson. The terminal below is the one from Terminal 101. It is a pretend computer, so you can make files, move around and get things wrong without touching your own.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-crooli-academy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The other courses work the same way. The web page course gives you live HTML, CSS and JavaScript to edit. The git course draws the commit graph as you build it. The API course makes a real request to a public API and shows you what came back.&lt;/p&gt;

&lt;h2&gt;
  
  
  See how AI works, not just what it says
&lt;/h2&gt;

&lt;p&gt;The AI courses use the same approach. &lt;a href="https://dev.to/academy/how-llms-work"&gt;How LLMs Actually Work&lt;/a&gt; starts with tokens, the small pieces of text a model reads and writes. Type anything below to see how a toy splitter breaks it up.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-crooli-academy" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Real models split text differently, but the idea carries over. Once you have seen it, it is easier to understand why long words cost more, and why a model can stumble over spelling. &lt;a href="https://dev.to/academy/prompting"&gt;Prompting That Works&lt;/a&gt; then teaches you to ask for what you actually want, and &lt;a href="https://dev.to/academy/apis-and-ai-apps"&gt;Web, APIs and AI Apps&lt;/a&gt; shows how to call a model without leaking your key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Small wins, kept on your device
&lt;/h2&gt;

&lt;p&gt;Each lesson you finish earns 20 XP, and quizzes add a little more. Collect enough and you move from Newbie through Tinkerer, Builder and Wizard to Legend. It is there to make coming back feel good, not to rank you against anyone.&lt;/p&gt;

&lt;p&gt;There is no account. Your finished lessons and quiz answers are saved in your own browser, so they stay on your device and are gone if you clear your site data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stuck? Ask Oli
&lt;/h2&gt;

&lt;p&gt;If a lesson loses you, &lt;a href="https://dev.to/chat"&gt;Oli&lt;/a&gt;, the Crooli assistant, can point you to the right place. Oli is an AI and can be wrong, so treat it as a nudge rather than the final word.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start learning
&lt;/h2&gt;

&lt;p&gt;The Academy is free. Open &lt;a href="https://dev.to/academy"&gt;crooli.com/academy&lt;/a&gt;, pick a course and take the first lesson. If you want a place to practise Maths, Python or Java after that, &lt;a href="https://dev.to/news/introducing-stride"&gt;Stride&lt;/a&gt; is built for it.&lt;/p&gt;

</description>
      <category>academy</category>
      <category>product</category>
      <category>croolinews</category>
    </item>
    <item>
      <title>Introducing Croo</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 17:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/introducing-croo-2ab3</link>
      <guid>https://dev.to/xandertaylor/introducing-croo-2ab3</guid>
      <description>&lt;h1&gt;
  
  
  Introducing Croo
&lt;/h1&gt;

&lt;p&gt;A coding agent with a frog in it. Now on your desktop.&lt;/p&gt;

&lt;p&gt;Croo started as a tiny terminal agent. It has grown into a small, quiet desktop app for working with AI on your code, and it now lives at &lt;a href="https://ai.crooli.com" rel="noopener noreferrer"&gt;ai.crooli.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Coding agents have become powerful, and often large: accounts to create, backends to trust, and a lot happening out of sight. &lt;a href="https://ai.crooli.com" rel="noopener noreferrer"&gt;Croo&lt;/a&gt; takes the opposite approach. You bring your own API key, or a local model. You decide what the agent may do on its own. And you see everything it does.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffi2rohx24g0n400qcft7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffi2rohx24g0n400qcft7.webp" alt="Croo: a chat on the left and the Git panel with an inline diff on the right" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-croo" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-croo" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Chat and Code
&lt;/h2&gt;

&lt;p&gt;Two icons at the top of the sidebar switch modes. &lt;strong&gt;Code&lt;/strong&gt; lists your project folders, each with its own chat history, and lets the agent read, search, edit and run things inside that folder. &lt;strong&gt;Chat&lt;/strong&gt; is a plain conversation with no folder and no tools, for when you only want to think out loud.&lt;/p&gt;

&lt;h2&gt;
  
  
  You set the leash
&lt;/h2&gt;

&lt;p&gt;Pick how much Croo may do. &lt;strong&gt;Manual&lt;/strong&gt; asks before everything. &lt;strong&gt;Auto&lt;/strong&gt; runs reads, edits in the folder and known-safe commands, and asks about the rest. &lt;strong&gt;Bypass&lt;/strong&gt; never asks. Shift-Tab cycles through them.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-croo" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every edit shows a diff and every command shows exactly what it will run. Approve with Command-Return, deny with Escape. Add an &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;CROO.md&lt;/code&gt; to a project and Croo reads it every turn; &lt;code&gt;/init&lt;/code&gt; studies the project and writes one for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Git, built in
&lt;/h2&gt;

&lt;p&gt;A Git panel sits beside the chat: your branch and sync state, every changed file with its &lt;code&gt;+/−&lt;/code&gt; counts, inline diffs, and checkboxes to pick what goes into the commit. Commit, push and pull without leaving the window. No remote yet? &lt;strong&gt;Publish&lt;/strong&gt; connects one by URL, or creates the repository on GitHub with &lt;code&gt;gh&lt;/code&gt;. When something fails, Croo explains it in plain language instead of dumping a stack trace.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run code from the chat
&lt;/h2&gt;

&lt;p&gt;Shell, Python and Node snippets in a reply get a &lt;strong&gt;Run&lt;/strong&gt; button. Output streams under the block with the exit code and timing, and the button turns into &lt;strong&gt;Stop&lt;/strong&gt; while it runs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F761im4eyoffqw833tbjb.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F761im4eyoffqw833tbjb.webp" alt="A Croo chat with a runnable code block and its output" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Everything is visible
&lt;/h2&gt;

&lt;p&gt;Reasoning streams into a row you can open, labelled with how long the model thought. A live clock and token count run while the agent works, and each reply ends with its time, tokens and an estimated cost. Claude prices are built in, you can set your own for other providers, and local models are free.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bring your own model
&lt;/h2&gt;

&lt;p&gt;Use Claude, OpenAI or Google Gemini with your own API key. Or point Croo at anything OpenAI-compatible: OpenRouter, Groq, Together, DeepSeek, Mistral, xAI, or a local model through Ollama, LM Studio, llama.cpp or vLLM. The model picker lists what your key can actually use, and the &lt;strong&gt;Effort&lt;/strong&gt; control appears only for models that have one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/introducing-croo" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Keys are encrypted with your OS keychain before they are written to disk. Croo works with API keys and compatible endpoints. It does not use anyone's consumer-subscription logins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fully local
&lt;/h2&gt;

&lt;p&gt;Croo has no accounts, no telemetry, and no backend. Your chats and configuration stay on your machine, and the only network calls go to the provider you chose.&lt;/p&gt;

&lt;h2&gt;
  
  
  And the small things
&lt;/h2&gt;

&lt;p&gt;Paste or drop images and files into the message box, or type &lt;code&gt;@&lt;/code&gt; to mention a file from your project. Press Command-K to search chats by what was said, files by name, and actions. Open a real terminal with Command-J, browse files with a viewer that wraps long lines, and preview what you build in the built-in browser. Edit any message and resend it, or retry the last reply. A system notification tells you when a task finishes or needs your OK while Croo is in the background.&lt;/p&gt;

&lt;p&gt;And the frog. It breathes, blinks, hops while tools run, catches flies, falls asleep, and reacts when things go well or badly. Click it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Croo
&lt;/h2&gt;

&lt;p&gt;Croo runs on macOS today, with Windows next. Download it from &lt;a href="https://ai.crooli.com" rel="noopener noreferrer"&gt;ai.crooli.com&lt;/a&gt;, or build it from source:&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/xandertaylorx/croo &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;croo
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On first launch you can pick a provider and paste a key, or choose &lt;strong&gt;Just look around&lt;/strong&gt; for a scripted demo with no key at all. Croo is not notarized yet, so macOS may ask you to confirm the first launch under System Settings, Privacy and Security.&lt;/p&gt;

&lt;p&gt;Croo is free and MIT licensed. Read the code, report issues, or send a pull request on &lt;a href="https://github.com/xandertaylorx/croo" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, or see the &lt;a href="https://dev.to/croo"&gt;Croo page&lt;/a&gt; for the full overview.&lt;/p&gt;

</description>
      <category>croo</category>
      <category>product</category>
      <category>opensource</category>
      <category>croolinews</category>
    </item>
    <item>
      <title>VS Code vs Zed: Which Editor Should You Use?</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/vs-code-vs-zed-which-editor-should-you-use-hf</link>
      <guid>https://dev.to/xandertaylor/vs-code-vs-zed-which-editor-should-you-use-hf</guid>
      <description>&lt;h1&gt;
  
  
  VS Code vs Zed: Which Editor Should You Use?
&lt;/h1&gt;

&lt;p&gt;Visual Studio Code is the editor most developers use. Zed is a newer editor from the creators of Atom and Tree-sitter, built around speed, collaboration, and optional AI. Both are free, and both now have AI agents built in. So which one is right for you?&lt;/p&gt;

&lt;p&gt;This guide sticks to what the two projects document themselves, plus the latest Stack Overflow developer survey. Everything was checked on 19 October 2026, and the sources are listed at the end. One thing it does not include is a speed test, and the section below explains why.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two different bets
&lt;/h2&gt;

&lt;p&gt;The editors differ in how they are built, licensed, and extended before you open a single file.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;VS Code&lt;/th&gt;
&lt;th&gt;Zed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Built on&lt;/td&gt;
&lt;td&gt;Electron&lt;/td&gt;
&lt;td&gt;A native editor written in Rust&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licence&lt;/td&gt;
&lt;td&gt;Source is MIT (as Code - OSS); Microsoft's build uses a product licence&lt;/td&gt;
&lt;td&gt;GPL-3.0-or-later, with Apache-2.0 components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free for private or commercial use&lt;/td&gt;
&lt;td&gt;Free; paid plans only for hosted AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extensions&lt;/td&gt;
&lt;td&gt;The Visual Studio Marketplace&lt;/td&gt;
&lt;td&gt;An extension library for languages, themes, debuggers, MCP servers, snippets, and icon themes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collaboration&lt;/td&gt;
&lt;td&gt;The Live Share extension&lt;/td&gt;
&lt;td&gt;Built in: channels, shared projects, voice chat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;GitHub Copilot: chat, agent, inline suggestions&lt;/td&gt;
&lt;td&gt;An Agent Panel and edit prediction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Remote&lt;/td&gt;
&lt;td&gt;SSH, Dev Containers, WSL, Tunnels, Codespaces&lt;/td&gt;
&lt;td&gt;SSH, WSL, Dev Containers&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Who uses what
&lt;/h2&gt;

&lt;p&gt;Every year Stack Overflow asks developers which editors they used regularly in the past year, and respondents can pick as many as they like. Here is how the answers have moved since 2022. Zed first appears in the 2025 results, so its line is short.&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%2Fqgriosr4239s1ujzqdnr.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%2Fqgriosr4239s1ujzqdnr.png" alt="Developers using each editor regularly, 2022 to 2026" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VS Code is still far in front: 70.9% of 2026 respondents used it, against 27.8% for the next editor. It dropped five points in a year, from 75.9%, the lowest of the five years shown. Zed rose from 7.3% to 11.4%, a gain of 4.1 points or about 56%. Cursor moved the other way, from 17.9% to 14.9%.&lt;/p&gt;

&lt;p&gt;Read the shape of those lines, not the decimals. The survey's sample shrank from 71,010 respondents in 2022 to 13,193 in 2026, and the 2025 question began mentioning AI-enabled editors, so year-to-year changes of a point or two may be noise.&lt;/p&gt;

&lt;p&gt;This is where the whole field sits in the 2026 survey, with VS Code and Zed picked out:&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%2F9ppnn8zc1z6vdj6r50x7.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%2F9ppnn8zc1z6vdj6r50x7.png" alt="The twelve most-used editors in 2026" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source, by the numbers
&lt;/h2&gt;

&lt;p&gt;Both editors develop in the open on GitHub. Stars measure interest rather than use, but the repositories do show how different the two communities are in size.&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%2Fxda4hxe7bppl74b4y5nw.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%2Fxda4hxe7bppl74b4y5nw.png" alt="The two repositories side by side" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one fits what you need?
&lt;/h2&gt;

&lt;p&gt;Feature lists do not decide anything until you know what you need. Pick your must-haves and see how each editor answers, using each editor's own documentation. Where the docs did not cover something, it says so instead of guessing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/vs-code-vs-zed" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What about speed?
&lt;/h2&gt;

&lt;p&gt;Zed's homepage calls it "the world's fastest IDE", and plenty of blog posts have put numbers on that. We did not run our own benchmark, and we are not going to print anyone else's multiplier either. The published figures agree on direction but not on size, because hardware, extensions, cache state, and what is being measured all change the result.&lt;/p&gt;

&lt;p&gt;The honest way to settle it is to test on your own work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open the same project in both, with the extensions you actually use.&lt;/li&gt;
&lt;li&gt;Watch memory in Activity Monitor (macOS) or Task Manager (Windows) after a minute of idling.&lt;/li&gt;
&lt;li&gt;Time how long each takes to show a window, and how each behaves with your largest file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Speed differences matter most on big repositories and older machines, and it is on those that a ten-minute test is most worth doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote work and collaboration
&lt;/h2&gt;

&lt;p&gt;Both editors can edit code on another machine while the interface stays local. In VS Code, the Remote Development extensions install VS Code Server on the target and cover SSH, Dev Containers, WSL, secure tunnels, and GitHub Codespaces. Zed runs a headless server on the remote host over SSH, supports WSL on Windows, and can open a project in a dev container from its command line. Zed's remote sessions keep its AI features working too.&lt;/p&gt;

&lt;p&gt;Collaboration is where their designs differ most. Zed builds it in: several people can work in one project and see each other's cursors, channels provide persistent project rooms with voice chat, and shared projects give collaborators access to your local files inside that project. VS Code gets the same job done with the Live Share extension, which Zed's own migration guide points out you no longer need.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI in each editor
&lt;/h2&gt;

&lt;p&gt;VS Code's AI is built around GitHub Copilot: a chat to ask questions and direct agents, an agent loop that gathers context, edits code, runs checks and revises, and inline suggestions. You can use models from a Copilot plan, bring your own key, or connect a local model, and a free Copilot plan exists. AI can be switched off with a setting.&lt;/p&gt;

&lt;p&gt;Zed has an Agent Panel and edit prediction, where a model predicts the code you want to write. The default model is Zeta, which Zed developed and released as open source, and you can also use GitHub Copilot, Mercury Coder, Codestral, or local models through Ollama. Zed's pricing separates the editor from the hosted AI:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;What it includes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Personal&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;Unlimited use with your own API keys or external agents such as Claude Agent and Codex CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$10 a month&lt;/td&gt;
&lt;td&gt;Unlimited edit predictions and $5 of tokens, with further use billed at API list price plus 10%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$30 per seat a month&lt;/td&gt;
&lt;td&gt;Unlimited edit predictions, admin controls, and usage billed at standard rates&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Pro starts with a 14-day free trial that includes $5 of GPT-6 Luna usage and no credit card.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving from VS Code to Zed
&lt;/h2&gt;

&lt;p&gt;If you decide to try Zed, the switch is gentler than it sounds. Zed can import your VS Code settings, during setup or later with the &lt;code&gt;zed: import vs code settings&lt;/code&gt; command. It does not import extensions or keybindings, and it has no workspace file: opening a folder is your project, with optional per-project settings in &lt;code&gt;.zed/settings.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Most of the muscle memory carries over. Search a shortcut you rely on, or filter to the ones that differ:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/vs-code-vs-zed" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So which one?
&lt;/h2&gt;

&lt;p&gt;There is no wrong answer here, and nothing stops you using both. A fair summary:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stay with VS Code&lt;/strong&gt; if your work depends on specific extensions, you use Tunnels or Codespaces, or your team has standardised on it. Its extension library is the bigger of the two (Zed's own guide says it has fewer), and it is the most-used editor in the survey.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Try Zed&lt;/strong&gt; if you want collaboration built into the editor, an open-source licence, or AI that you can leave off. It is free, and the settings import makes a trial cheap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide on your own project.&lt;/strong&gt; The only comparison that counts is the one run with your files, your extensions, and your habits.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are weighing the AI side of the choice, our guides to &lt;a href="https://dev.to/news/claude-5-5-field-guide"&gt;Claude 5.5&lt;/a&gt; and &lt;a href="https://dev.to/news/codex-explained"&gt;Codex&lt;/a&gt; cover the models and costs behind the agents these editors can use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://survey.stackoverflow.co/2026/technology/data/dev-ide" rel="noopener noreferrer"&gt;Stack Overflow Developer Survey 2026: Dev IDEs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://survey.stackoverflow.co/2025/technology#1-dev-id-es" rel="noopener noreferrer"&gt;Stack Overflow Developer Survey 2025&lt;/a&gt;, &lt;a href="https://survey.stackoverflow.co/2024/technology#1-dev-id-es" rel="noopener noreferrer"&gt;2024&lt;/a&gt;, &lt;a href="https://survey.stackoverflow.co/2023/#section-most-popular-technologies-integrated-development-environment" rel="noopener noreferrer"&gt;2023&lt;/a&gt;, and &lt;a href="https://survey.stackoverflow.co/2022/#section-most-popular-technologies-integrated-development-environment" rel="noopener noreferrer"&gt;2022&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://code.visualstudio.com/docs/supporting/FAQ" rel="noopener noreferrer"&gt;VS Code FAQ&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/docs/remote/remote-overview" rel="noopener noreferrer"&gt;remote development&lt;/a&gt;, and &lt;a href="https://code.visualstudio.com/docs/copilot/overview" rel="noopener noreferrer"&gt;Copilot overview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://zed.dev/docs" rel="noopener noreferrer"&gt;Zed documentation&lt;/a&gt;, including &lt;a href="https://zed.dev/docs/remote-development" rel="noopener noreferrer"&gt;remote development&lt;/a&gt;, &lt;a href="https://zed.dev/docs/collaboration/overview" rel="noopener noreferrer"&gt;collaboration&lt;/a&gt;, &lt;a href="https://zed.dev/docs/ai/edit-prediction" rel="noopener noreferrer"&gt;edit prediction&lt;/a&gt;, &lt;a href="https://zed.dev/docs/extensions" rel="noopener noreferrer"&gt;extensions&lt;/a&gt;, and &lt;a href="https://zed.dev/docs/migrate/vs-code" rel="noopener noreferrer"&gt;migrating from VS Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zed.dev/pricing" rel="noopener noreferrer"&gt;Zed pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/microsoft/vscode" rel="noopener noreferrer"&gt;microsoft/vscode&lt;/a&gt; and &lt;a href="https://github.com/zed-industries/zed" rel="noopener noreferrer"&gt;zed-industries/zed&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devtools</category>
      <category>comparison</category>
    </item>
    <item>
      <title>Claude vs GPT-6: What a Million Tokens Costs</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 12:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/claude-vs-gpt-6-what-a-million-tokens-costs-3gf3</link>
      <guid>https://dev.to/xandertaylor/claude-vs-gpt-6-what-a-million-tokens-costs-3gf3</guid>
      <description>&lt;h1&gt;
  
  
  Claude vs GPT-6: What a Million Tokens Costs
&lt;/h1&gt;

&lt;p&gt;Compare Anthropic's Claude 5.5 line-up with OpenAI's GPT-6 line-up and something odd stands out: at three tiers out of four, the list prices are identical. The real differences are further down the price sheet, in caching, long prompts, and what each vendor will discount.&lt;/p&gt;

&lt;p&gt;All prices are USD per million tokens from each vendor's own pricing page, checked on 19 October 2026. Sources are at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three price points, two vendors
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Claude&lt;/th&gt;
&lt;th&gt;GPT&lt;/th&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Small&lt;/td&gt;
&lt;td&gt;Haiku 5.5&lt;/td&gt;
&lt;td&gt;GPT-6 Luna&lt;/td&gt;
&lt;td&gt;$0.10&lt;/td&gt;
&lt;td&gt;$0.50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mid&lt;/td&gt;
&lt;td&gt;Sonnet 5.5&lt;/td&gt;
&lt;td&gt;GPT-6.1 Sol&lt;/td&gt;
&lt;td&gt;$2&lt;/td&gt;
&lt;td&gt;$10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontier&lt;/td&gt;
&lt;td&gt;Opus 5.5&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;td&gt;$4&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flagship&lt;/td&gt;
&lt;td&gt;Fable 5.1&lt;/td&gt;
&lt;td&gt;GPT-6 Astra&lt;/td&gt;
&lt;td&gt;$10&lt;/td&gt;
&lt;td&gt;$50&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Opus 5.5 sits between the mid and flagship tiers with no direct OpenAI match. Everywhere else, picking a vendor on headline price alone gets you nowhere, because there is no headline difference to find.&lt;/p&gt;

&lt;h2&gt;
  
  
  The whole price sheet
&lt;/h2&gt;

&lt;p&gt;Lapis is Anthropic and terracotta is OpenAI. Switch between prices with the tabs, and try the log scale: it is the only way to see the small tier next to the flagship one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-vs-gpt-6-token-prices" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the differences hide
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cached input.&lt;/strong&gt; When part of a prompt repeats, both vendors charge much less for the repeated part. At the small and mid tiers the cached prices match too. At the flagship tier they do not: Fable 5.1 charges $0.25 for a cache hit and Astra charges $1.00.&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%2Facws08ksr54jjtumtvyz.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%2Facws08ksr54jjtumtvyz.png" alt="What a cache hit costs, as a share of the normal input price" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long prompts.&lt;/strong&gt; Anthropic charges one rate across the whole 1M-token window for Fable, Opus, and Sonnet, but Haiku 5.5 moves to a higher band above 100,000 prompt tokens. OpenAI moves all three GPT-6 models to a higher band above 272,000.&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%2Fe41vg9mu2vui46iyz66r.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%2Fe41vg9mu2vui46iyz66r.png" alt="How much more a long prompt costs" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Batch work.&lt;/strong&gt; Both vendors give roughly half off for jobs that can wait. Anthropic lists a batch rate for every current model. OpenAI lists Flex and Batch rates for Sol and Astra, and none for Luna.&lt;/p&gt;

&lt;h2&gt;
  
  
  A token is not a universal unit
&lt;/h2&gt;

&lt;p&gt;Price per token is only a fair comparison if both models count tokens the same way, and they do not. Anthropic notes that Claude 4.7 and later models use a newer tokenizer that produces about 30% more tokens for the same text than earlier models, and that the count for any request depends on the model's tokenizer, the language, and the type of content.&lt;/p&gt;

&lt;p&gt;So the number that matters is cost per task, not cost per token. Count tokens for your own text on each model before trusting any table, including this one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try your own workload
&lt;/h2&gt;

&lt;p&gt;Pick an example or set your own numbers. The calculator applies each model's list price, switches to the higher price band for long prompts, and applies batch rates where they exist. Try the "Huge prompts" example to watch the higher price bands apply: a 300,000-token prompt is over both Haiku 5.5's 100,000-token threshold and the GPT-6 models' 272,000-token one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-vs-gpt-6-token-prices" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the cheap tier buys
&lt;/h2&gt;

&lt;p&gt;The small tier is where the two vendors are closest on price, and where the most work now gets done. Anthropic's Haiku 5.5 announcement compares Haiku 5.5 with the previous Haiku, with OpenAI's GPT-6 Luna, and with Sonnet 5.5 for reference. These are Anthropic's own published results, so read them as a vendor's numbers and not an independent test.&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%2Fvw0egfc7upq2scwjz4qt.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%2Fvw0egfc7upq2scwjz4qt.png" alt="Haiku 5.5 against GPT-6 Luna, on Anthropic's benchmarks" width="800" height="989"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The tabs are the benchmarks: GDPval-AA, AA-Briefcase, OSWorld 2.1 (offline subset), Humanity's Last Exam (no tools), Terminal-Bench 4.0, FrontierCode 1.1, and Chartography (no tools). Haiku 5.5 and Luna list for exactly the same price, so on these tests the question is what you get for it. The wider lesson is that a model one tier up can still be far ahead, as Sonnet 5.5 is here. Whether that gap is worth $2 against $0.10 depends on the task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Picking between them
&lt;/h2&gt;

&lt;p&gt;Match the job to the tier first, then compare vendors inside the tier. The pairings follow each vendor's own descriptions of what its models are for:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-vs-gpt-6-token-prices" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What we take from it
&lt;/h2&gt;

&lt;p&gt;At list prices the two vendors are close to twins, so a decision between them comes down to details that a headline price hides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How much of your prompt repeats.&lt;/strong&gt; Caching decides your real input cost, and it is where Fable and Astra part ways.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How long your prompts get.&lt;/strong&gt; Haiku 5.5 changes price at 100,000 tokens and the GPT-6 models at 272,000.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whether the work can wait.&lt;/strong&gt; Batch pricing roughly halves the bill where it is offered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What your own tests say.&lt;/strong&gt; A benchmark from a vendor is a starting point. Run your own task on each candidate before committing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are list prices. Discounts negotiated at volume, and the cost of the tokens a model spends thinking, are not on any price sheet.&lt;/p&gt;

&lt;p&gt;If you want to see real numbers while you work, &lt;a href="https://ai.crooli.com" rel="noopener noreferrer"&gt;Croo&lt;/a&gt; shows time, tokens and an estimated cost under every reply, across whichever providers you connect.&lt;/p&gt;

&lt;p&gt;For the details on each side, see our &lt;a href="https://dev.to/news/claude-5-5-field-guide"&gt;Claude 5.5 field guide&lt;/a&gt; and our &lt;a href="https://dev.to/news/codex-explained"&gt;Codex explainer&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://platform.claude.com/docs/en/about-claude/pricing" rel="noopener noreferrer"&gt;Anthropic pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.claude.com/docs/en/about-claude/models/overview" rel="noopener noreferrer"&gt;Claude models overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.anthropic.com/claude-haiku-5-5" rel="noopener noreferrer"&gt;Introducing Claude Haiku 5.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.openai.com/api/docs/pricing" rel="noopener noreferrer"&gt;OpenAI API pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.chatgpt.com/docs/models" rel="noopener noreferrer"&gt;Codex models&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>comparison</category>
    </item>
    <item>
      <title>Codex, Explained: Models, Modes, and Costs</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 11:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/codex-explained-models-modes-and-costs-4naa</link>
      <guid>https://dev.to/xandertaylor/codex-explained-models-modes-and-costs-4naa</guid>
      <description>&lt;h1&gt;
  
  
  Codex, Explained: Models, Modes, and Costs
&lt;/h1&gt;

&lt;p&gt;Codex is OpenAI's coding agent. It reads and edits code, runs tasks, and reports back, and it lives in more places than most people realise. This guide covers where it runs, which models power it, how to switch between them, and what the faster modes cost.&lt;/p&gt;

&lt;p&gt;Everything here comes from OpenAI's own documentation and pricing page, checked on 19 October 2026. Codex is changing quickly, so the sources are listed at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;OpenAI's overview describes the idea in a sentence: start with a goal, idea, or task, and ChatGPT can gather context, take action, and produce something useful. The tasks it suggests are understanding code, building a feature, reviewing code, and fixing failures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it runs
&lt;/h2&gt;

&lt;p&gt;OpenAI lists six places where Codex is available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ChatGPT desktop app&lt;/li&gt;
&lt;li&gt;The ChatGPT mobile app&lt;/li&gt;
&lt;li&gt;ChatGPT on the web&lt;/li&gt;
&lt;li&gt;The Codex CLI&lt;/li&gt;
&lt;li&gt;The Codex IDE extension&lt;/li&gt;
&lt;li&gt;Codex Cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For developers there is also a Codex SDK, an App Server, a GitHub Action, and a non-interactive mode for scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  The models behind it
&lt;/h2&gt;

&lt;p&gt;Codex runs on OpenAI's GPT-6 family. OpenAI describes each model by the work it suits, and prices them very differently. Pick one to see its details:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/codex-explained" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;OpenAI positions Sol as near-Astra performance at a lower cost, aimed at repeated, long-running work, and Luna as the efficient choice for focused, high-volume jobs like extraction and classification. If you do not choose a model, the desktop app, CLI, and IDE extension use a recommended one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Switching models
&lt;/h2&gt;

&lt;p&gt;The same model can be set in four places, and the desktop app, CLI, and IDE extension all share one configuration file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# for one session&lt;/span&gt;
codex &lt;span class="nt"&gt;--model&lt;/span&gt; gpt-6.1-sol

&lt;span class="c"&gt;# for a scripted, non-interactive run&lt;/span&gt;
codex &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-m&lt;/span&gt; gpt-6.1-sol
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside an interactive CLI session, the &lt;code&gt;/model&lt;/code&gt; command changes the model or the reasoning effort. To set a default, add one line to &lt;code&gt;config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="py"&gt;model&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"gpt-6.1-sol"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the desktop app and on the web, the model switcher sits below the composer, and the Advanced option under Power settings lets you choose a specific model. Which models you can pick depends on your plan, client, and rollout status.&lt;/p&gt;

&lt;h2&gt;
  
  
  Speed has a price
&lt;/h2&gt;

&lt;p&gt;This is the part that surprises people. On the API, the same model is sold at several speeds. A faster mode produces tokens sooner, and OpenAI's price list shows exactly what that costs. An update on 5 to 9 October introduced Ultrafast mode for GPT-6.1 Sol in Codex.&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%2Ftyy79b85dx6p32vgs1qp.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%2Ftyy79b85dx6p32vgs1qp.png" alt="One model, four speeds: price per million tokens" width="800" height="649"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the extreme, Ultrafast Astra costs sixty times what Sol costs at Flex or Batch, on both input and output. Whether faster tokens are worth six times the price depends on whether a person is waiting for them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the models cost
&lt;/h2&gt;

&lt;p&gt;Standard list prices for the whole GPT-6 line-up on the API:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/codex-explained" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Prompts above 272,000 input tokens move to a higher band on all three models: input doubles, and output rises by half. Luna lists no batch rate.&lt;/p&gt;

&lt;p&gt;OpenAI's pricing page also still lists a Codex-specific model, gpt-5.3-codex, at $1.75 in and $14 out per million tokens at standard speed, with a Fast tier at double that. The GPT-6 models are the newer line-up and are the ones the current Codex documentation points to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two agents, similar shapes
&lt;/h2&gt;

&lt;p&gt;Codex has an obvious counterpart in Anthropic's Claude Code, and the two have converged on a similar set of surfaces. The names differ, but the shapes line up:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Codex&lt;/th&gt;
&lt;th&gt;Claude Code&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal&lt;/td&gt;
&lt;td&gt;Codex CLI&lt;/td&gt;
&lt;td&gt;Terminal CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editor&lt;/td&gt;
&lt;td&gt;IDE extension&lt;/td&gt;
&lt;td&gt;VS Code and JetBrains extensions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Desktop app&lt;/td&gt;
&lt;td&gt;ChatGPT desktop app&lt;/td&gt;
&lt;td&gt;Claude desktop app, Code tab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser&lt;/td&gt;
&lt;td&gt;ChatGPT on the web, Codex Cloud&lt;/td&gt;
&lt;td&gt;Claude Code on the web&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phone&lt;/td&gt;
&lt;td&gt;ChatGPT mobile app&lt;/td&gt;
&lt;td&gt;Claude mobile app&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build your own&lt;/td&gt;
&lt;td&gt;Codex SDK&lt;/td&gt;
&lt;td&gt;Agent SDK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;In CI&lt;/td&gt;
&lt;td&gt;GitHub Action, non-interactive mode&lt;/td&gt;
&lt;td&gt;GitHub Actions, GitLab CI/CD, &lt;code&gt;claude -p&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For choosing between them, the useful comparison is not features but cost and results on your own work, which is what the &lt;a href="https://dev.to/news/claude-vs-gpt-6-token-prices"&gt;price comparison&lt;/a&gt; is for. The Claude side is covered in our &lt;a href="https://dev.to/news/claude-5-5-field-guide"&gt;Claude 5.5 field guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.chatgpt.com/docs" rel="noopener noreferrer"&gt;Codex overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.chatgpt.com/docs/models" rel="noopener noreferrer"&gt;Codex models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.openai.com/api/docs/pricing" rel="noopener noreferrer"&gt;OpenAI API pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.claude.com/docs/en/overview" rel="noopener noreferrer"&gt;Claude Code overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>guide</category>
    </item>
    <item>
      <title>Claude 5.5: A Field Guide for Builders</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 10:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/claude-55-a-field-guide-for-builders-1mi</link>
      <guid>https://dev.to/xandertaylor/claude-55-a-field-guide-for-builders-1mi</guid>
      <description>&lt;h1&gt;
  
  
  Claude 5.5: A Field Guide for Builders
&lt;/h1&gt;

&lt;p&gt;Anthropic's Claude family now has four current models, and the newest, Haiku 5.5, arrived on 7 October 2026. This guide covers what each one is for, what it costs, and how to avoid paying for more model than a job needs.&lt;/p&gt;

&lt;p&gt;Every number here comes from Anthropic's own pricing and model pages, checked on 19 October 2026. Prices change, so the sources are listed at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  The line-up
&lt;/h2&gt;

&lt;p&gt;Claude Fable 5.1, Opus 5.5, Sonnet 5.5, and Haiku 5.5 all take text and image input, support tool use, and offer a 1M-token context window with up to 128K tokens of output. They differ in how fast they answer, how much they think, and what they cost. Pick one to see its details:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-5-5-field-guide" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Anthropic's own advice is to start with Opus 5.5 for most workloads, and to reach for Fable 5.1 for demanding reasoning and long-horizon agentic work, or when your own tests on Opus 5.5 at higher effort still fall short.&lt;/p&gt;

&lt;h2&gt;
  
  
  What each one costs
&lt;/h2&gt;

&lt;p&gt;List prices per million tokens. Anthropic charges separately for the text you send in, the text that comes back, and any input served from a cache.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-5-5-field-guide" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Two details are easy to miss. The three larger models charge the same rate across the whole 1M-token window. Haiku 5.5 is the exception: it is priced by prompt size, so a request over 100,000 tokens moves to a higher band ($0.50 in, $2.50 out instead of $0.10 and $0.50).&lt;/p&gt;

&lt;h2&gt;
  
  
  Prices keep falling
&lt;/h2&gt;

&lt;p&gt;The newest generation is cheaper than the one before it, sometimes by a lot. Anthropic says Haiku 5.5 costs around 75% less to run than Haiku 4.5 on average, and that halving Sonnet 5.5's cache-read price makes it around 20% cheaper on most agentic work. The list prices behind that:&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%2Fnhkfytx9ujxgttawhi7z.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%2Fnhkfytx9ujxgttawhi7z.png" alt="Price per million tokens, previous model vs current" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Effort, instead of guesswork
&lt;/h2&gt;

&lt;p&gt;Every current Claude model uses adaptive thinking: the model decides how much to think, steered by an effort setting you control. Haiku 5.5 is the first Haiku-class model with an adjustable effort setting, which means the cost-versus-intelligence dial now exists across the whole family.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Default effort&lt;/th&gt;
&lt;th&gt;Latency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Fable 5.1&lt;/td&gt;
&lt;td&gt;high&lt;/td&gt;
&lt;td&gt;Slower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 5.5&lt;/td&gt;
&lt;td&gt;medium&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sonnet 5.5&lt;/td&gt;
&lt;td&gt;high&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Haiku 5.5&lt;/td&gt;
&lt;td&gt;medium&lt;/td&gt;
&lt;td&gt;Fastest&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Effort and model choice are two separate dials. It is worth testing both, because a cheaper model at higher effort and a pricier model at lower effort can land in very different places on the same task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caching is the biggest lever
&lt;/h2&gt;

&lt;p&gt;When part of a prompt repeats, such as a long system prompt, a document, or a codebase, a cache hit costs a fraction of normal input. How small a fraction depends on the model:&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%2Fcswgkmqa1jq0f8iyj4dn.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%2Fcswgkmqa1jq0f8iyj4dn.png" alt="What a cache hit costs, as a share of the normal input price" width="799" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anthropic's own worked example shows the effect: a one-hour coding session on Opus 5.5 using 50,000 input tokens and 15,000 output tokens, run as a Claude Managed Agents session.&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%2Ffjjmdodzffvgr4rvcocu.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%2Ffjjmdodzffvgr4rvcocu.png" alt="One hour on Opus 5.5, with and without caching" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is about 26% less for the same work. The Batch API adds a separate 50% discount on input and output for work that can wait, and the two discounts stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude Code
&lt;/h2&gt;

&lt;p&gt;Alongside the API, Anthropic ships Claude Code, an agentic coding tool that reads a codebase, edits files, runs commands, and connects to development tools. It runs in the terminal, in VS Code and JetBrains, in a desktop app, and in the browser, and every surface shares the same underlying engine, so a project's instruction files and settings carry across them.&lt;/p&gt;

&lt;p&gt;It can also be scripted: input can be piped into it and it can run non-interactively, which makes it usable from CI jobs as well as from a keyboard. Because it runs on Claude models, the trade-offs above between cost, speed, and effort apply to coding work too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Picking a model
&lt;/h2&gt;

&lt;p&gt;A rough map from the job to the model, based on each vendor's own descriptions of what its models are for. The second card shows the nearest OpenAI equivalent, which the &lt;a href="https://dev.to/news/claude-vs-gpt-6-token-prices"&gt;price comparison&lt;/a&gt; covers in more detail.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/claude-5-5-field-guide" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How we would approach it
&lt;/h2&gt;

&lt;p&gt;Three habits cover most of the cost advice in this guide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start at the cheapest tier that could plausibly work&lt;/strong&gt;, test it on your own tasks, and move up only when the results demand it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-run your tests when models change.&lt;/strong&gt; Prices and quality both moved within weeks this autumn, so last quarter's choice may no longer be the right one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep the repeated part of a prompt stable&lt;/strong&gt; so it can be cached, and put anything that changes at the end.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you would rather try several models in one place before committing, &lt;a href="https://ai.crooli.com" rel="noopener noreferrer"&gt;Croo&lt;/a&gt; lets you switch between them with your own key, in one desktop app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://platform.claude.com/docs/en/about-claude/pricing" rel="noopener noreferrer"&gt;Anthropic pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.claude.com/docs/en/about-claude/models/overview" rel="noopener noreferrer"&gt;Claude models overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.anthropic.com/claude-haiku-5-5" rel="noopener noreferrer"&gt;Introducing Claude Haiku 5.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.claude.com/docs/en/overview" rel="noopener noreferrer"&gt;Claude Code overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>guide</category>
    </item>
    <item>
      <title>A New Look for Crooli</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Mon, 19 Oct 2026 09:00:00 +0000</pubDate>
      <link>https://dev.to/xandertaylor/a-new-look-for-crooli-51d9</link>
      <guid>https://dev.to/xandertaylor/a-new-look-for-crooli-51d9</guid>
      <description>&lt;h1&gt;
  
  
  A New Look for Crooli
&lt;/h1&gt;

&lt;p&gt;Crooli has grown into a company with a digital studio, a family of products, and a lot of experiments in between. The old site no longer felt like any of them, so we rebuilt it from the ground up.&lt;/p&gt;

&lt;p&gt;The goal was simple: make the site calmer to read, easier to find your way around, and clearly ours. Nothing behind it has changed. Accounts, forms, the newsroom, and every product link work exactly as before.&lt;/p&gt;

&lt;p&gt;If you would rather watch than read, here is the whole redesign in a minute.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/a-new-look-for-crooli" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Warmer, quieter, more legible
&lt;/h2&gt;

&lt;p&gt;The old site was bright white with a lot of competing styles. The new one sits on a warm ivory page with ink-coloured text and a single accent colour, lapis, kept for the moments that matter: focus, selection, and the dot on the i.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/a-new-look-for-crooli" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Headlines are set in Fraunces, a soft serif with rounded edges that reads as friendly rather than formal. Everything else uses Instrument Sans, a clear grotesque built for interfaces. Two typefaces instead of five, each with one job.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wordmark is back, in vector
&lt;/h2&gt;

&lt;p&gt;The bold Crooli wordmark only existed as a large PNG. We redrew it as a vector shape from the original artwork, so it stays crisp at any size and can change colour with the page. It now sits in the header and runs across the full width of the footer.&lt;/p&gt;

&lt;p&gt;The mark next to it also has a little more life. It draws itself in when a page loads, and turns when you point at it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/a-new-look-for-crooli" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Every story gets its own artwork
&lt;/h2&gt;

&lt;p&gt;Newsroom posts used to rely on promotional images, and not every story had one. Now every post opens with a piece of artwork generated from its own headline. The shapes come from the mark: quarter circles, rings, dots, and bars, arranged on a grid.&lt;/p&gt;

&lt;p&gt;The artwork also picks up the subject. AI stories grow a network of connected nodes, search stories find magnifying glasses, Torrentory stories fill with clusters of peers, and Lexi spells itself out in letter tiles. The same headline always produces the same piece, so a story keeps its artwork forever.&lt;/p&gt;

&lt;p&gt;Try it with a headline of your own:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/a-new-look-for-crooli" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lighter by design
&lt;/h2&gt;

&lt;p&gt;A calmer design turned out to be a smaller one, too. Rebuilding the styles around a short list of shared parts meant far less code for every visitor to download. These are the measured sizes of the site's stylesheet before and after the redesign.&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%2Fyfkbduz4j9l8y9a1m9kf.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%2Fyfkbduz4j9l8y9a1m9kf.png" alt="The site's stylesheet, before and after" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Posts can do more now
&lt;/h2&gt;

&lt;p&gt;This post is also the first to use something new behind the scenes. Newsroom posts can now include live pieces like the charts, colour swatches, and artwork playground above, right in the middle of the text. Product launches can show real numbers you can explore, not just screenshots of them.&lt;/p&gt;

&lt;p&gt;Here is one more, built from the newsroom itself. It counts every post we have published, month by month. Hover over a month to see what went out.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This part of the story is interactive. &lt;a href="https://crooli.com/news/a-new-look-for-crooli" rel="noopener noreferrer"&gt;See it on crooli.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It has been a quieter few months than we would like. Consider this the first post of a busier stretch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next
&lt;/h2&gt;

&lt;p&gt;The redesign is live across every page today, from the newsroom to legal. The studio, TIZZLE, keeps its own home at tizzle.org, and the Collective and Labs pages now present every product in one consistent way.&lt;/p&gt;

&lt;p&gt;If something looks off, or you have ideas for what the newsroom should show next, &lt;a href="https://dev.to/contact"&gt;get in touch&lt;/a&gt;. We read everything.&lt;/p&gt;

</description>
      <category>croolinews</category>
      <category>webdesign</category>
    </item>
    <item>
      <title>I built a free learning app for Maths, Python and Java, with a little green companion called Pip</title>
      <dc:creator>Xander Taylor</dc:creator>
      <pubDate>Sat, 17 Oct 2026 12:47:21 +0000</pubDate>
      <link>https://dev.to/xandertaylor/i-built-a-free-learning-app-for-maths-python-and-java-with-a-little-green-companion-called-pip-nl6</link>
      <guid>https://dev.to/xandertaylor/i-built-a-free-learning-app-for-maths-python-and-java-with-a-little-green-companion-called-pip-nl6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feoyq372cliwvofb8xuph.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feoyq372cliwvofb8xuph.gif" alt="Pip bouncing and saying hi" width="720" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;Pip&lt;/strong&gt;. Pip is the study companion inside &lt;strong&gt;Stride&lt;/strong&gt;, a free learning app I built for Maths, Python and Java.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Try it now: &lt;a href="https://stride.crooli.com" rel="noopener noreferrer"&gt;stride.crooli.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No account. No sign-up. No paywall. Open it and start learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I made it
&lt;/h2&gt;

&lt;p&gt;Most learning sites want an email address before you've learnt anything, then bury you in streak guilt and quizzes that punish you for not knowing something yet. I wanted the opposite: a calm place where "I'm not sure" is a perfectly good answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick a subject.&lt;/strong&gt; Maths, Python or Java.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take a six-question starting check.&lt;/strong&gt; It doesn't matter how well you do. It only decides which lessons you need, and "I'm not sure" is always allowed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow your personal path.&lt;/strong&gt; Lessons are small steps: learn an idea, explore it, modify it, then apply it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch evidence build, not a score.&lt;/strong&gt; Each topic moves from &lt;em&gt;introduced&lt;/em&gt; to &lt;em&gt;practised&lt;/em&gt; to &lt;em&gt;used independently&lt;/em&gt;. Answers after hints or retries never count as independent, so the progress you see is honest.&lt;/li&gt;
&lt;/ol&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%2Fnx6sln7ff2p1ozfpwd93.jpg" 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%2Fnx6sln7ff2p1ozfpwd93.jpg" alt="The Stride journey with the progress panel" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java goes all the way to 26 topics, from your first program to tested applications and engineering projects, with a downloadable Maven/JUnit starter that has deliberately failing tests for you to fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Say hi to Pip
&lt;/h2&gt;

&lt;p&gt;Pip lives in the corner of every page and has opinions about your code (kind ones). Pip can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;give hints instead of handing over answers&lt;/li&gt;
&lt;li&gt;explain error messages in plain language in the Playground&lt;/li&gt;
&lt;li&gt;nudge you when it's time to back up your progress&lt;/li&gt;
&lt;li&gt;chat about lessons, what to practise next, or how Stride works&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There's a full-screen chat at &lt;a href="https://stride.crooli.com/chat" rel="noopener noreferrer"&gt;stride.crooli.com/chat&lt;/a&gt;. Ask Pip who made Stride. Pip knows. 😉&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%2Fe79zup3ja1272o9y4wqg.jpg" 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%2Fe79zup3ja1272o9y4wqg.jpg" alt="Chatting with Pip" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other things in the box
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Playground:&lt;/strong&gt; write and run code in many languages at &lt;a href="https://stride.crooli.com/playground" rel="noopener noreferrer"&gt;stride.crooli.com/playground&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus timer:&lt;/strong&gt; 15, 25 or 50 minute sessions with breaks, if you like them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your data stays yours:&lt;/strong&gt; progress lives in your browser. Move it between devices with a progress code, or turn on optional sync that's encrypted on your device before it's stored&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessible by default:&lt;/strong&gt; reduced-motion is respected, including Pip's animations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Under the hood
&lt;/h2&gt;

&lt;p&gt;For the curious: Stride is a build-less, framework-less static site made of plain ES modules, with &lt;strong&gt;zero npm dependencies&lt;/strong&gt;. Pip's character is an SVG driven by small spring animations, and its hints and error explanations are deterministic rather than AI-generated. Only the optional chat uses an AI model. Code runs through the public Wandbox API, so nothing executes on my server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to use it
&lt;/h2&gt;

&lt;p&gt;🌱 &lt;strong&gt;&lt;a href="https://stride.crooli.com" rel="noopener noreferrer"&gt;stride.crooli.com&lt;/a&gt;&lt;/strong&gt;, free, in any modern browser, on desktop or phone.&lt;/p&gt;

&lt;p&gt;If you try it, I'd love to hear what you think. Which subject did you pick, and did Pip say anything that made you smile? Let me know in the comments. 💚&lt;/p&gt;

</description>
      <category>java</category>
      <category>programming</category>
      <category>python</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
