I've been a full stack engineer for 20 years. Now all I do is shuffle messages between users, my agent fleet, our dev pipeline.. back and forth. I miss coding, solving problems, reasoning, and having an understanding and a mental model of all the work I'm juggling. But this is the job now, and there's no going back. I don't exactly feel like a 10x engineer yet, but I am for sure a 10-tab engineer.
I built (er, Claude built) Shufler to lean into my new reality. If the job is basically to shuffle things through a pipeline, why not have it be more fun.
Each row on the 3D gameboard is one of your existing terminal sessions. The columns are the steps your work moves through: Brainstorm, Plan, Build, QA, Review, Merge, Deploy. Your shipped PRs get stored in a warehouse/depot. The main things flowing across the board are your issues and PRs: each one rides along its session/row as it moves through review, CI and merge, and anything waiting on you turns red. I tend to manage several PRs within each Claude/Codex session, and this makes it easier for me to hold onto a mental model of where everything is. It's also made daily standups much easier to read-out.
I created a few skins/themes like a casino, a theme park, sky islands, a starship and a factory, because.. of course.
MacOS, works with Claude Code and Codex CLI, and cmux and iTerm (tmux should work, but I haven't tested it). It doesn't try to replace anything you already use.. just makes the orchestration more fun. You can still shift focus over to your terminal sessions when needed, use your existing skills, MCP servers, etc. There's a 3D library-building in each skin where you can specify your markdown/context folders or files, and then drag and drop to check them out by your rows/sessions.
I tried to be thoughtful on security, following patterns that I consider at work. No telemetry, and the only outside calls are your own gh calls to GitHub. Daemon only listens on localhost, and every action shows its command before it runs. MCP server is opt-in, and sending to other sessions is off by default; if you turn it on, every send is a preview plus a separate confirm you approve. Details are in the README's #safety-and-privacy, and the MCP threat model (including what it doesn't protect against) is in docs/MCP.md. To report a security issue privately (or contributions to improve), see SECURITY.md.
Demo with mock data, nothing to install at https://shufler.app
Repo at https://github.com/jgrichardson/shufler (MIT)