I haven’t done Java for a long while… and swing is probably not the best represented in LLM training data these days. But FWIW, I recently migrated some of our backend services from flask to fastapi with Claude, and while it wasn’t one-shot… it wasn’t far from it. I’ve also experimented with migrating some of our tornado-based services to fastapi, and they worked well, as well despite the frameworks being much more distinct than flask and fastapi A migration from swing to electron would be more challenging I think, but migration to JavaFX might be possible, if you want to ditch swing. Not saying you should…. Just saying… if you fire up a branch and give it a whirl, you might be surprised with how far it gets you.
Robert Sent from my iPhone > On Apr 26, 2026, at 6:59 PM, Andrus Adamchik <[email protected]> wrote: > > I can tell one thing... While any serious Modeler work still requires effort > and thinking (Claude or no Claude), fixing minor bugs that annoyed us for > years doesn't. They are just one-shotted from a single prompt. The whole > refactoring that I am currently doing only helps a human to understand > suggested fixes. But the agent can do them over the dirty code just as > efficiently :) > > >> On Apr 24, 2026, at 2:08 PM, John Huss <[email protected]> wrote: >> >> Sounds great, I love these ideas! >> >>> On Mon, Apr 20, 2026 at 9:24 AM Andrus Adamchik <[email protected]> wrote: >>> >>> So I feel like the advent of agentic coding opens up new possibilities for >>> CayenneModeler. While some want you to think you can simply prompt Claude >>> to "Rewrite CayenneModeler in JavaFX" (or Electron or JetBrains Compose >>> Multiplatform), still with our limited resources, building and supporting >>> an entirely new thing is realistically out of reach. >>> >>> But I think we can take the current Swing app to a new level by augmenting >>> our rusty Swing skills with AI. A few of my experiments adding this or that >>> UI piece were mostly successful. A few idea on top of my mind: >>> >>> 1. A built-in MCP server for DB Import and CGen. This is to close the loop >>> on agentic coding, allowing to use both of these tools from an agent CLI. >>> (The MCP idea was what prompted me to look into this to begin with) >>> 2. Fix table editors UX (selections conflicting with cell editors) >>> 3. Write unit tests >>> 4. Modernizing L&F. Not sure how far we can get while staying in Swing, >>> but worth a try. Looking at FlatLaf lib, which is a successor of JGoodies >>> that we already use >>> 5. Implement dozens of small usability features (such as showing currently >>> selected Obj|DbEntity in tab view headers, etc.) >>> >>> My first pass (about 70% done) was not anything visual, but rather >>> refactoring the existing messy code to rid it of various architectural >>> experiments accumulated over the years (such as auto-bindings) and unifying >>> the MVC structure to be as close as possible to vanilla Swing. Ironically, >>> Claude was not that helpful in this process. It was good old IDE >>> refactoring, manually going through hundreds of files chasing dead code and >>> inconsistencies. >>> >>> Anyways, just putting this on the radar. >>> >>> Andrus >
