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
> 

Reply via email to