logoalt Hacker News

Show HN: Juggler – an open-source GUI coding agent, by the creator of JUCE

109 pointsby julesrmslast Sunday at 6:28 PM65 commentsview on HN

Hello HN, I don't post on here much, but wanted to get some eyes on a new project I'm just launching. I think we definitely need one more AI code agent..

I'm a long-term C++ dev, and over 30+ years I've created some successful audio dev tools (JUCE, the Tracktion DAW, the Cmajor DSP language). All of these came from me getting annoyed with something I had to use, and deciding to have a go at my own take on whatever it was.

So Juggler is my attempt at an AI code agent, after spending too many hours loving what the models could do, but hating the CLI experience, and having some opinions of what a better UX might be for this stuff.

Lots more blurb on the website and github, but a quick tech dump which might grab your attention if you're into these things:

A session is a document, not a log file. Each conversation is a Yjs CRDT tree. It can branch into sub-threads (recursively), and you can drill down, backtrack, edit, undo/redo, and inspect everything: tool calls, approvals, and the raw context JSON going to the model, etc. The UI is based around Finder-style Miller columns rather than a big doom-scroll, and is quick to navigate.

Because it's a CRDT behind a local web server, multiple clients can attach P2P to a live session: the native desktop app, a browser tab, or your phone. Run the headless server on the box where the code lives, view it from wherever.

Almost everything is a JavaScript plugin: every item in the context (read/write/bash/etc.), the LLM loop strategies, slash commands, and their UIs. You can inspect, fork, or replace any of them. I don't do much agent customisation myself, but lots of people do, and I'd love to see what they think of with this plugin API.

Go backend, Wails for windowing (no Electron), plain type-checked JS (strict JSDoc), Yjs for the documents. Usual BYOK provider support: Claude (CLI or API), OpenAI/Codex, Gemini, Ollama, OpenRouter, DeepSeek, etc.

The app's AGPLv3; the extension SDK and bundled extensions are Apache-2.0, so extensions have no copyleft strings attached. No signup, no telemetry, trying to make it frictionless for people to try it out..

It's very much a beta, and is a one-man side project. It hasn't yet had a proper kicking from the real world, but I'm confident some people with similar preferences to my own will like it!

https://juggler.studio


Comments

sbloztoday at 5:59 PM

This looks nice, and I like the more opinionated take on how "communicating" with an agent should work.

The post talks a lot about what this is and how it works. I'm curious, from your usage of it, how does it change your way of working with the LLMs? How does working with it go differently from Claude Code?

Specifically: Everything is a tree. That's interesting, but how do you end up using it? Attack the same problem different ways?

show 1 reply
robbomacraetoday at 4:08 PM

This looks really interesting and a unique take on the AI agent orchestration. I think we need a bunch of experiments in this area as it's clear we are entering a new paradigm and the tools for it are lacking. The session tree in particular has merits.

I've got my own attempt with OrcaBot (short for orchestration of bots). It's also been a 6 month solo build experiment. I'm not trying to plug.. just that I'm also neck deep in Steve Yegge's Stage 8 AI-assisted coding chart and understand how much thought and effort went into this.

Thinking about where this is all going with talking to AI like fully autonomous employees similar to @Claude can you see a comms app type approach that combines something like slack with your tree/thread structure? It's somewhat orthogonal to your "inspect everything" but could intersect by bringing click through/open in options...

show 1 reply
m_kostoday at 6:02 PM

Nicely done! Would you consider adding an Agent SDK login for Claude for those who don't have an API budget and want to avoid potential issues with Anthropic's capricious policies around CLI use in third-party apps?

show 1 reply
solarkrafttoday at 5:36 PM

> Because it's a CRDT behind a local web server

I think that’s the secret to stability. I see too many projects that try to embed the harness into their UI. I think that’s completely wrong because it leaves no interface for changing or reasoning about the system.

The harness needs a lot of love and it should be as small and as possible (at least somewhat). I dream of a world in which we have some standard interfaces here, including for the UI.

show 1 reply
vorticalboxtoday at 5:31 PM

I always like testing out new things to put into my workflow. the first thing I will say is that its a welcome change to have an app 40 MB rather than over 400

gnarlousetoday at 4:14 PM

@julesrms thank you for lending more credibility to the idea that agent conversations need to be natively branching. It's crazy that we're almost 3 years in on this LLM joyride and we still don't have the ability to do, like, reddit/slack-style "aside" convo threads.

~~edit~~

wait, are you doing that? Love JUCE btw

show 2 replies
everforwardtoday at 3:23 PM

ACP support would be a big deal and would make this a real contender for me. It looks super nice, but the idea of re-writing my Pi plugins is a real blocker.

I’m generally happy with my agent and want to keep that, but I do think the UI could be better and this looks like a neat step that way.

show 2 replies
Semkastoday at 2:58 PM

This looks cool! I'll check it out. Out of curiosity: I assume you've also used agents to help build this, and on the site you mention working on this for ~6 months. Most one-man projects I see that use ai seem to focus on creating and presenting a concept as soon as possible (to a lot of people I think the main benefit of stuff like vibing is that you really quickly get something that you can have others test out).

On the site you also mention being pretty opinionated about the tools you use / build, which I imagine is part of the reason why you spend more time on this before releasing it. What was your experience using ai to build a larger project with a very specific idea / taste in mind?

show 1 reply
clodecloudtoday at 6:10 PM

Looks cool, I am also trying to figure out how to enhance the CLI user experience but on web with cloud gpus

markasoftwaretoday at 5:45 PM

Really glad to see an harness other than Pi that seems to be non-vc-backed FOSS and by a competent maintainer

Edit: seems like the remote connection feature may not work...

show 1 reply
cataparttoday at 5:36 PM

Sweet! I was just looking for something like this, this past weekend. Lots of command line stuff, but not much in the way of GUI apps. Excited to check this out! Thanks!

bartvktoday at 5:55 PM

> Wails for windowing (no Electron)

Awesome.

> AGPL

Even more awesome.

SoleilAbsolutoday at 3:49 PM

Nothing to say regarding this release, but thanks so much for creating Tracktion (first DAW I ever used back in 2006) and JUCE (I love and use many audio plugins created with it)! Have a great day!

show 1 reply
prabhanjana_ctoday at 2:39 PM

UI is clean. could install in Mac. Adding context files at the top is clean. It worked. Currently I use zed, vscode (for UI). along with claude, codex, Hermes. Not sure If I will continue to use. But I see it is a clean and good UI, and integrating to my exiting cli's. All the best.

show 1 reply
buggylearningtoday at 3:45 PM

Could you include screenshots on your github page?

show 1 reply
guessmynametoday at 5:47 PM

Please ask your LLM Agent to replace all that JavaScript code with SwiftUI, or at least C++ with native graphic libraries for real native GUI performance.

zerrtoday at 4:31 PM

Why not use JUCE for UI? :)

show 1 reply
Shoreltoday at 3:12 PM

Great work, it is very funny that I did just the opposite :)

Got fed up with Zed, Cursor, and the other GUI agentic tools and created a console TUI agent for my own use.

show 1 reply
julesrmstoday at 1:31 PM

Just wanted to add a follow-up to what I posted above..

In terms of who might be interested in this: I've watched amazing communities spring up around open agents like Opencode and Pi. People are getting into those because of their extensibility and being model-independant. They're great projects, but like many people I know, I really hate being stuck in the terminal for this kind of tool. I also had some ideas around what an agent's UX could be like if every item in the context was a plugin (with its own custom UI).

So I guess if you're a claude/codex user but want to escape the terminal (and let's face it, their GUI apps are also basically the same UX as a terminal but with nicer fonts), I'm trying to do something different here, would be really keen to hear what the enthusiasts think of it!

show 2 replies
westurnertoday at 5:57 PM

Jupyter-rtc is built on y.js too.

There's a sqlite CRDT: cr-sqlite,: https://news.ycombinator.com/item?id=41921992

vlcn-io/cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite https://github.com/vlcn-io/cr-sqlite

Notes on sandboxing agents: amla sandbox, agentvm, bwrap at least; debugging mcp servers, and signing agent traces in a standard format: https://news.ycombinator.com/item?id=48893850

--

Can juggler: Design and verify a guitar effect pedals and a wavetable synth with JUCE on a low power chip?

JUCE on embedded controllers; Rust embedded RTOS-like features, a DSP and low power draw:

> Ambiq Apollo4 Plus | ARM Cortex-M4F | ~4–10 µA / MHz | more efficient than an RP2040 Pi Pico. The hardware FPU handles audio math at a fraction of the power footprint.

> STM32U5 Series | ARM Cortex-M33 ~110 µA / MHz | energy-saving modes, math accelerators (Cordic for sines/cosines), audio peripherals

> STM32L4 Series | ARM Cortex-M4F | ~100 µA / MHz | mature, ultra-low-power, robust I2S audio support, sleep state

grame-cncm/faust: Functional programming language for signal processing and sound synthesis / [that compiles to microcontroller DSP code, LLVM IR,] https://github.com/grame-cncm/faust

Then a Rust-based OS for microcontrollers; to isolate devices and device drivers from other processes;

I'd like to learn this too (so this is worth researching)

Rust packages for DSP:

embedded-hal, embedded-io, rand_core

Navigating the Embedded Rust Ecosystem https://www.theembeddedrustacean.com/p/navigating-the-embedd...

https://google.github.io/comprehensive-rust/bare-metal/micro...

hubris > Flash instructions already mention an STM32 F but not yet U or L: https://github.com/oxidecomputer/hubris#flash

Task: Add support for STM32U and STM32L to hubris

"Navigating the Embedded Rust Ecosystem" https://www.theembeddedrustacean.com/p/navigating-the-embedd...

The micro:bit has a speaker and something like a DSP and rust support, though it's not going to run JUCE and BespokeSynth ; kk Just rtic, cortex-m-rt, and nrf52833-hal (for micro:bit v2) might be sufficient but there's already microbit_bsp:

microbit_bsp is a board support package (BSP) library for the micro:bit v2 and newer: https://docs.rs/microbit-bsp/latest/microbit_bsp/

Another task; Develop and test a board support package for low-power chips for hosting effects from JUCE compiled with or like Faust.

But then contain agent sessions;

e.g. Hubris has no shared memory so audio streams must be shoveled over message passing

--

Back to agent sandboxing;

It looks like WebKitGTK uses bubblewrap on linux unless running in a flatpak, because flatpaks don't have permission to create namespaces so bwrap can't run.

Bubblewraplauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP...

FlatpakLauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP...

CF workers support nested agent isolates since 2026-03: https://blog.cloudflare.com/dynamic-workers/

dloss/awesome-agent-sandboxes: A curated list of sandboxing solutions for AI agents https://github.com/dloss/awesome-agent-sandboxes

tomduncalftoday at 4:11 PM

Hey Jules! This looks awesome, excited to check it out :) Hope you're doing well! Tom

show 1 reply
nojatoday at 5:18 PM

Does it support sandboxing?

show 1 reply
LeSaucytoday at 3:47 PM

For running headless is it possible to not require installing libwebkitgtk-6.0.so.4

show 1 reply
mannanjtoday at 5:29 PM

Interesting. Just opened it up to use, while I had a codex terminal session running - my first instinct was to want to see my pre-existing open session in the GUI instead and be able to drive it in either spot. Is that something I can do?

Also when I opened a new session (in the Juggler GUI) at my root where all my projects live, my instinct was to navigate to a project directory first or to have it open there. Not sure how to do this, without changing the global setting for my projects root. That's how I think through claude code/codex coding sessions via the terminal wondering if that mental model is wrong.

I asked which skills it could access, and it turns out it couldn't access any of my global skills already - I thought that part would just work since it accesses my codex subscription. is that something you plan to add.

show 1 reply
blackberrysodatoday at 3:00 PM

I thought "Wails" was gonna be short for "Wuby on Wails" lmao

Cool project actually, but I noticed the author said "No Electron" as if Electron is synonymous with JavaScript.

My biggest concern about it actually is using Go to render web front-ends in HTML/CSS hahah so I'm not sure "No electron" is selling me.

show 1 reply
drcongotoday at 4:12 PM

Having now given it a quick spin, I like the UI concept and could definitely see myself working with this. I ran into a bug(?) almost immediately though, I hooked up Deepseek 4 Pro, gave it a small task and got this

``` LLM error: POST "https://api.deepseek.com/v1/chat/completions": 400 Bad Request {"message":"The `reasoning_content` in the thinking mode must be passed back to the API.","type":"invalid_request_error","param":null,"code":"invalid_request_error"} ```

I'm unsure about putting my Anthropic key in there as I've lost track of what they ban you for or whether that eats money from outside of my subscription.

Oooh, and nicer support for codefences would be good.

show 1 reply
joshsantiago01today at 3:48 PM

[flagged]

aayushkumar121today at 3:56 PM

[dead]