Poolside

Laguna XS 2.1

Poolside's agentic-coding MoE — 33B brain, 3B active, built to code.

Context262,144 tokens
PricingFree tier on OpenRouter
Tasks tested42
Avg score3.93/10 average
Medals🥇0 🥈0 🥉0
Release2026-07
Official vendor source
Laguna XS 2.1 is built by Poolside — see the vendor's own product page, pricing, and docs at hf.co/poolside/Laguna-XS-2.1.
Visit hf.co/poolside/Laguna-XS-2.1 →

What is Laguna XS 2.1?

Laguna XS 2.1 is the Poolside frontier model with a 262,144 tokens context window, released 2026-07. Tagline: Poolside's agentic-coding MoE — 33B brain, 3B active, built to code.. Official source: hf.co/poolside/Laguna-XS-2.1.

Pricing detail. A 33B-total / 3B-active MoE built for agentic coding and terminal tasks, with DFlash speculative decoding. Open weights (OpenMDW). HONEST NOTE: benched via the Poolside API — as of 2026-07-03 the local Ollama runtime generates empty output and llama.cpp/GGUF support is officially still coming; the local flip is staged for the moment it lands.

How I use it inside the Agent OS. Tested the day it launched; three working builds sit in the Agent OS workspace. Wired as a ready-to-flip Local engine for the moment llama.cpp support ships.

What I built with Laguna XS 2.1

Every model on Goldie Bench gets the same fixed prompt set — one shot, single HTML file out — and I score the result 0–10 inside the Agent Operating System. Here's what Laguna XS 2.1 shipped on the bench: 42 one-shot demos across 262,144 tokens of context. Of those, 42 are scored against the field with my honest 0–10 from the source guides at agentos.guide.

Strengths

  • Genuinely strong web/app coder for its size — shipped a polished landing page, working todo app and pricing page in our tests
  • 33B/3B MoE + DFlash speculative decoding — big-model quality at small-model cost
  • 256K context and open weights on day one

Trade-offs

  • Local runtime not actually usable yet (Ollama generates empty; GGUF "coming soon") — API-only for now
  • Heavy reasoner — starved token budgets return nothing; needs a big max_tokens
  • 3D/graphics builds are not its lane

Best for

  • Agentic coding via API
  • Web apps + pages + tools
  • Terminal-style tasks

Every demo by Laguna XS 2.1

42 live demos, sorted by category. Click any tile to play the actual one-shot result. Verdicts and 0–10 scores are pulled from the source guides where I posted them publicly.

Arcade▶ LIVE
Arcade
Game
Renders a recognizable Breakout layout with bricks, ball, and paddle, but it's visually flat/primitive with no score display, lives, sound, or win state, and the paddle/ball offset looks off; functional but generic and below the field's polish bar.
Crypt▶ LIVE
Crypt
Game
Renders a basic torch-lit room with a warm point-light glow and flicker, but it's extremely sparse — a plain sphere flame on a cylinder, blocky untextured walls, no crawler/dungeon depth, and the scene reads more like an empty box than an atmospheric crypt.
Dogfight▶ LIVE
Dogfight
Game
Renders two crude box planes flying in fixed circles with no player control (arrow keys are labeled but not wired), no shooting, no collisions, and no actual dogfight gameplay — it's essentially a static demo, not a shooter.
Doom▶ LIVE
Doom
Game
Renders only a flat gray void with a faint sphere blob — the camera spawns at (0,1.6,0) but the maze is offset far away (x*2-12) so walls and monsters are off-screen, and it's a Three.js 3D scene rather than a raycaster. HUD text is present but the actual game world isn't visible or playable as shown.
Dragonflight▶ LIVE
Dragonflight
Game
Renders but the 'dragon' is just two orange boxes and a sphere resembling a helicopter, rings are barely visible tiny slivers in the distance, and the fury meter overlaps the model — HUD is basic and the neon-ring speed fantasy doesn't land visually.
Dragonrealm▶ LIVE
Dragonrealm
Game
Only the title and hint overlay render on a black screen — the 3D scene never appears, since OrbitControls is referenced but never loaded (r128 core only), throwing an error that halts the entire script before render. No world, no dragon, no sword, no snow.
Game▶ LIVE
Game
Game
Renders cleanly with a nice lit rotating cube and clear title/hint, but this is a color-changing toy, not a game — no goal, score, or challenge, which puts it near the bottom of the field.
Neonblaster▶ LIVE
Neonblaster
Game
Renders and functions with basic mechanics (waves, bosses, power-ups, shake, synth all coded), but visually it's just flat unlit boxes on a near-black background with zero 'juice' — no glow, no neon, no polish; far below the field's best.
Neoncity▶ LIVE
Neoncity
Game
Renders only a giant cyan lane-line wedge on a dark blue field — no visible buildings, road, or neon cityscape despite the code generating 150 buildings, so it badly misses the brief. The camera/geometry setup is broken enough that the promised city never appears on screen.
Neonracer▶ LIVE
Neonracer
Game
Renders only a flat green box on a dark void with HUD text — no visible track, environment, glow, or the promised vapor-trail particles, so it reads as broken/unfinished rather than a neon racer. Weak scene design and no bloom/emissive glow (MeshBasicMaterial ignores emissive) leave it far below the field's best.
Nordiccrypt▶ LIVE
Nordiccrypt
Game
Screenshot shows only the title bar and hint over an empty dark void — the 3D dungeon fails to render, likely because the camera starts at z=5 outside the 10-unit room walls and the yaw/pitch object rig detaches it from the initial position. Nice thematic styling in the chrome, but the actual scene is effectively broken/non-rendering.
Outrun▶ LIVE
Outrun
Game
Renders a decent pseudo-3D perspective grid road with cyan glow and a proper vanishing point, but the brief is largely unmet: no visible car (camera sits behind it looking down at nothing), no sun/horizon/sky gradient synthwave elements, and no speed or scenery — it reads as an empty grid rather than a driving game.
Pool▶ LIVE
Pool
Game
The table renders correctly with a green felt, white cushions, cue ball, and a racked cluster of colored balls, but the rack is broken (balls bunched at the bottom cushion rather than triangle-spaced), the tiny camera framing makes the whole scene appear as a small floating patch, and the arcade rainbow balls plus no pockets undercut the billiards feel.
Racing▶ LIVE
Racing
Game
Renders a recognizable third-person car on a track with obstacles receding into the distance, and controls work — but it's visually barebones: a thin flat strip of track, no HUD/speed/lap feedback, no skybox, and dark washed-out obstacles make it feel like a minimal prototype rather than a polished racer.
Raycaster▶ LIVE
Raycaster
Game
Renders colorful 3D wall blocks and has movement/collision, but the mishmash of two overlapping render systems (Three.js meshes + a broken 2D raycast overlay) produces a confused, non-maze-like view with random per-wall colors rather than a coherent Wolfenstein-style corridor. It walks but doesn't read as a proper maze and looks buggy.
Rpg▶ LIVE
Rpg
Game
Renders a green ball, three red chaser dots, a grid, and static inventory boxes—but there are no sprites, no working combat (SPACE/E do nothing), and inventory is non-functional decoration. It's a minimal movement demo far below the field's best.
Skyrim▶ LIVE
Skyrim
Game
Renders a basic green plane with scattered low-poly rocks and a distant castle nub, but it reads as flat, empty, and unpolished — no atmosphere, no fantasy identity, and the harsh point-light blob plus dark void sky make it feel broken rather than a world. Movement/look controls exist but there's no pointer-lock and no terrain relief, so it's far below the field's best.
Twilightvale▶ LIVE
Twilightvale
Game
Only the HTML overlay text renders on a black screen — the Three.js scene fails because r128 uses BufferGeometry (no .vertices array), so terrainGeometry.vertices throws and nothing 3D appears. No terrain, trees, character, or weather visible.
Voxelcraft▶ LIVE
Voxelcraft
Game
Renders a small tilted grid of dark cubes on a glaring purple background — the day/night cycle math produced an off-hue sky and near-black lighting, so it looks broken and unpolished. Block break/place logic exists but there's no first-person view, no textures, and no cohesive Minecraft feel.
Landing▶ LIVE
Landing
Page
This is a Three.js glowing sphere demo with a single headline, not a marketing landing page — no nav, hero CTA, features, or sections. It renders cleanly and looks polished, but it entirely misses the brief for a modern landing page.
Webos▶ LIVE
Webos
Page
Renders cleanly with a polished dock (Notes/Paint/Terminal) and a nice 3D floating-cube backdrop, and the source shows working draggable windows plus functional apps. But the desktop is bare with no windows visible, the 3D cubes read as random flat shapes rather than cohesive polish, and it lacks the depth (minimize/maximize logic, richer terminal commands) of the field's best.
Blackhole▶ LIVE
Blackhole
Sim
Renders a black disc with a faint blue ring rim on a colorful starfield, but there's no real gravitational lensing — no warped/distorted background or Einstein ring, and the accretion disk is absent. Passable scene but flat and off-brief for a lensing visualisation.
Boids▶ LIVE
Boids
Sim
No boids render — only the title and controls text over a black canvas; the source has fatal errors (this.rotation instead of this.mesh.rotation, plus nonexistent Vector3 methods divScalar/addVector) that throw and halt the animation loop before any flocking appears.
Cloth▶ LIVE
Cloth
Sim
The scene renders only the red sphere with no visible cloth — the plane is initialized top-fixed and falls with gravity, but likely dropped off-frame or collapsed since only the sphere is shown. The core brief (cloth draping over an object) is not delivered visually, and the advertised drag/zoom controls aren't wired up.
Fluid▶ LIVE
Fluid
Sim
The screenshot shows only the title and control text on a black background — no particles rendered at all, so the core fluid simulation is entirely absent. Weak: the ShaderMaterial likely failed silently (shaders reference varying/attributes but nothing appears), leaving a non-rendering build.
Fractal▶ LIVE
Fractal
Sim
Renders a recognizable Mandelbrot set with pan/zoom controls, but the aspect ratio is uncorrected (squished into a square patch not filling the viewport) and the interior is a flat saturated red with garish HSV banding — functional but visually crude and off-center compared to the field's best.
Galaxy▶ LIVE
Galaxy
Sim
Renders a magenta particle disc with edge-on band and swirl interaction, but the color range collapsed to mostly pink squares (no additive glow visible), spiral structure is barely readable from this angle, and the giant square outliers look like artifacts rather than a polished galaxy.
Orbit▶ LIVE
Orbit
Sim
Essentially non-rendering — only a tiny stray speck appears in the lower-left while the vast dark scene is empty; the sim's initial velocities and no-softening gravity likely flung all bodies off-screen instantly, and promised drag/zoom controls (OrbitControls) aren't even implemented. Clean info overlay is the only redeeming element.
Particleforge▶ LIVE
Particleforge
Sim
Renders a clean pink additive-blended particle cluster with mouse gravity and clear title/hint, but the tiny centered clump uses vast empty space and a single hard-coded color, feeling minimal versus a swirling, colorful forge; gravity toward mouse-mapped screen coords (not depth-projected) also causes odd collapse behavior.
Pathtracer▶ LIVE
Pathtracer
Sim
Black screen with only UI text rendering — the GLSL fails to compile because scene() and getNormal() are used before declaration and trace() uses recursion which is illegal in WebGL shaders, so nothing draws. Non-rendering result far below the field's best.
Reactiondiff▶ LIVE
Reactiondiff
Sim
Screenshot is essentially a black screen with only the title/controls text — no Turing pattern renders. The simulation uses a Float32 DataTexture read into an 8-bit RGBA render target and ping-pongs render targets while sampling a stale texture, plus a non-standard reaction equation, so no diffusion pattern ever appears.
Solar▶ LIVE
Solar
Sim
Renders tiny planets in a flat line with a small yellow sun, but no orbit rings, no starfield, no OrbitControls despite the 'use mouse to rotate' hint, and the scale is so small it reads as specks — visually sparse and underwhelming versus the field's best.
Wormhole▶ LIVE
Wormhole
Sim
No wormhole tunnel is visible — just a small scattered cloud of colored dots; the cylinder is misoriented/off-camera and there's no sense of a flythrough. Also the mouse/WASD controls advertised in the hint aren't implemented, making it a broken, off-brief render.
Aurora▶ LIVE
Aurora
Visual
Renders only a faint scatter of dim single-pixel points on a dark blue field — reads as sparse stars, not the flowing colorful curtains of an aurora, and the 'Drag to rotate' hint has no actual drag handler implemented. Weak, off-brief interpretation with no glow, ribbons, or additive blending that a northern-lights piece demands.
Fireworks▶ LIVE
Fireworks
Visual
Renders with title/controls but the fireworks are just a few near-invisible single pixels — no bursts, trails, or glow, making the effect look broken. Tiny 0.15 point size and no additive blending render this far below the field's fireworks quality.
Lavalamp▶ LIVE
Lavalamp
Visual
A single wobbling sphere with a red-yellow gradient renders, but it reads more like a deformed blob than a lava lamp — no lamp container, no separate rising/falling blobs, and the flat hard color bands lack the classic gooey lava aesthetic.
Matrix▶ LIVE
Matrix
Visual
Renders green falling particles but reads as an amorphous 3D point cloud in two disconnected clusters — no glyphs, no falling columns, none of the iconic Matrix-rain aesthetic. Off-brief and unpolished versus the field's best.
Plasma▶ LIVE
Plasma
Visual
Renders a smooth, genuinely hypnotic multi-frequency plasma with working palette switcher and click-ripple shader logic, so it's functional and on-brief. Weak points: default UI is bare (plain button, no palette variety visible), the color range skews to a single orange/magenta family, and there's no polish like ripple persistence or styled controls to lift it to the top tier.
Synthwave▶ LIVE
Synthwave
Visual
The grid and neon title render cleanly with a pink sphere and floating cubes, but it critically misses the 'sunset' brief — no sun, gradient sky, or horizon glow, leaving it dark and flat rather than the iconic synthwave palette. Cube colors are muddy pastels, not neon, so it works but reads generic and off-brief versus the best entries.
Terrain▶ LIVE
Terrain
Visual
Renders only a black screen with the hint overlay — no terrain visible. The code relies on THREE.OrbitControls which isn't loaded (r128 requires a separate script), so controls fails to init and the render loop likely errors, leaving nothing but the background.
Voxel▶ LIVE
Voxel
Visual
Renders voxel terrain but poorly framed — the landscape is crammed into the bottom third with ~70% empty background, and random rainbow HSL coloring looks noisy rather than Minecraft-style biomes. Drag rotation uses camera.rotation.y which spins the view rather than orbiting, a broken/awkward control.
Waves▶ LIVE
Waves
Visual
Renders a 3D wavy surface with nice titling, but the flat white/cyan foam overlay dominates and blows out the scene, killing the ocean read; looks like a glaring flat sheet rather than believable water. The additive foam plane and lack of true wave shading make it visually broken compared to the field's best.
every demo, in a grid · click any one to play

Compare Laguna XS 2.1 against every other model

Every head-to-head featuring Laguna XS 2.1. Verdicts shown for scored pairs.

Laguna XS 2.1 vs Fusion
Fusion leads 42–0
Laguna XS 2.1 vs Hermes MoA
Hermes MoA leads 42–0
Laguna XS 2.1 vs Claude Fable 5
Claude Fable 5 leads 42–0
Laguna XS 2.1 vs Grok
Grok leads 38–0
Laguna XS 2.1 vs MiniMax M3
MiniMax M3 leads 41–1
Laguna XS 2.1 vs Fugu Ultra
Fugu Ultra leads 42–0
Laguna XS 2.1 vs GLM-5.2
GLM-5.2 leads 42–0
Laguna XS 2.1 vs Fugu Mini
Fugu Mini leads 35–1
Laguna XS 2.1 vs Opus 4.8
Opus 4.8 leads 41–1
Laguna XS 2.1 vs Kimi K2.7
Kimi K2.7 leads 20–0
Laguna XS 2.1 vs Claude Sonnet 5
Claude Sonnet 5 leads 39–2
Laguna XS 2.1 vs Qwable 5 27B Coder
Qwable 5 27B Coder leads 39–0
Laguna XS 2.1 vs Qwen 3.7
Qwen 3.7 leads 38–3
Laguna XS 2.1 vs Gemma 4 12B · MLX
Gemma 4 12B · MLX leads 22–14
Laguna XS 2.1 vs Qwythos 9B
Laguna XS 2.1 leads 29–11
Laguna XS 2.1 vs LongCat-2.0
LongCat-2.0 leads 4–0
Laguna XS 2.1 vs Gemma-4 12B Coder
Laguna XS 2.1 leads 4–2
Laguna XS 2.1 vs Kimi K2.7 · Fast
42 shared tasks · unscored
Laguna XS 2.1 vs Kimi K2.7 · No-Think
42 shared tasks · unscored
Laguna XS 2.1 vs Kimi K2.7 · Quality
42 shared tasks · unscored
Laguna XS 2.1 vs Ornith 1.0
42 shared tasks · unscored
Laguna XS 2.1 vs Claude Mythos 5
Reference-only
Laguna XS 2.1 vs Kilo Code
Reference-only

See all 66 comparisons across every model →

Quick pill index

Direct comparisons against every other scored model on the bench:

Laguna XS 2.1 vs Fusion Laguna XS 2.1 vs Hermes MoA Laguna XS 2.1 vs Claude Fable 5 Laguna XS 2.1 vs Grok Laguna XS 2.1 vs MiniMax M3 Laguna XS 2.1 vs Fugu Ultra Laguna XS 2.1 vs GLM-5.2 Laguna XS 2.1 vs Fugu Mini Laguna XS 2.1 vs Opus 4.8 Laguna XS 2.1 vs Kimi K2.7 Laguna XS 2.1 vs Claude Sonnet 5 Laguna XS 2.1 vs Qwable 5 27B Coder Laguna XS 2.1 vs Qwen 3.7 Laguna XS 2.1 vs Gemma 4 12B · MLX Laguna XS 2.1 vs Qwythos 9B Laguna XS 2.1 vs LongCat-2.0 Laguna XS 2.1 vs Gemma-4 12B Coder

Read more on agentos.guide: /laguna-xs-2-1

The same stack Julian uses

Run this stack yourself.

Every demo on this bench was built inside the Agent Operating System — one prompt, one shot, single HTML file out. The Agent OS, the prompts, the templates, the weekly walkthroughs and 3,600+ founders shipping with it every day all live inside the AI Profit Boardroom.

3,600+founders
258documented wins
38countries
$59/momonthly