Daniel Leeder


First Look: Testing Google's AI Development Agent, Jules – A Step Forward, With Caveats

The landscape of AI-powered developer tools is evolving at a breakneck pace. Recently, I had the opportunity to test the new "Jules" development agent from Google. Its core claim is compelling: the ability to connect directly to your codebase and perform development tasks asynchronously, without requiring an active editor session from the developer.

I decided to give it a fairly common, yet nuanced, UI enhancement task:

  1. Animate a mobile navigation menu's "hamburger" icon into a "close" (X) icon upon interaction.
  2. Add a smooth transition effect for the navigation menu panel as it appears.

The Process: Plan, Approve, Execute

After providing the instructions, Jules presented a detailed plan of action for my approval. This is a crucial step. The plan outlined the intended approach and the specific steps it would take to modify the code. In this instance, the proposed plan was logically sound and aligned with how a human developer might tackle the task. I approved it.

A minute or two later, Jules delivered the proposed changes, conveniently saved to a new branch in the repository. This integration into a typical Git workflow is a definite plus. It also attempted to test the changes, but I saw an error was generated and it unfortunately was unable to complete that step.

The Results: Hits and Misses

So, how did Jules actually do with the implementation?

What Went Well (The Hits):

Where It Stumbled (The Misses):

The Verdict: Promising Workflow, Familiar AI Quality

This experience is fairly typical of where many AI coding tools stand today, particularly concerning quality and precision, especially when UI or visual elements are involved. The results can often feel like playing a slot machine – sometimes you hit the jackpot, other times you get close but still need manual intervention. I'm sure there are use cases where these tools generate perfect output, but consistency in complex, visual tasks remains a challenge.

Despite the imperfections in the final code, Jules represents a clear step up and a refinement in the process of AI-assisted development, especially compared to earlier approaches like directly prompting a general LLM (like the Gemini API) and letting it "go wild" on a codebase.

The key advantages I observed with Jules's approach are:

  1. Plan Confirmation: The requirement to approve a detailed plan before code generation provides a vital checkpoint. It ensures the AI is heading in the right direction conceptually, reducing wasted effort on fundamentally flawed approaches.
  2. Workflow Integration: Saving changes to a new branch fits seamlessly into established developer workflows, allowing for easy review, testing, and integration (or rejection) of the AI-generated code. Simply check out the branch or open a pull request.

While Jules didn't quite meet the specific goals of my task without further intervention, it was demonstrably on the right track with the types of changes it attempted. I was able to take its output and, with a few more manual tweaks, fix the animation and layout issues.

The Evolving Role: From Code Writer to Code Teacher

As it has been for some time now, the rise of these sophisticated AI tools is fundamentally changing the developer's role. We are transitioning from being sole code writers to becoming "code teachers," mentors, and reviewers for our AI counterparts.

In this new paradigm, we're increasingly having to judge these tools on how effectively they wrap and facilitate this collaborative, iterative experience. Based on that criterion, I think Jules, with its emphasis on planned, reviewable changes, does a good job. It's a promising direction, but it also underscores that skilled human oversight and intervention remain absolutely critical for the foreseeable future.