Skip to main content

Apps Developed and Maintained by AI: Where Are We Heading?

·533 words·3 mins
Andrea Luciano
Author
Andrea Luciano
Founder of Luciosoft, specialized in native mobile development.

The Frustration That Got Me Here
#

Let me tell you something. When I was a mid-level developer, I spent a ridiculous amount of time doing issue triage. Analyze the context, figure out which files were involved, estimate if it was a 5-minute fix or a 5-day saga. Wasted time, I always thought. But hey, it’s part of the job.

Then I became senior. And the triage work increased. Because now I not only had to do it, but I also had to explain it to juniors. Great.

Now I’m an architect. And guess what? Triage is still there. Except now I also have to make sure the proposed solutions are consistent with the overall system architecture. Turns out this problem follows me wherever I go.

But something interesting happened over these years: AI agents actually became usable. And I started asking myself: can’t I delegate at least part of this work?

Jules Orchestrator
#

I built an architecture I called Jules Orchestrator. The name comes from Google’s AI agent that I use under the hood: Jules.

The idea is simple: when an issue comes in on GitHub, a webhook triggers the orchestrator which analyzes the context, passes everything to AI, and if the AI proposes a sensible solution, it implements it and opens a PR. If tests pass, the PR is ready for review.

Here’s the diagram:

graph TD
    A[User Report / Issue] -->|Webhook| B(Ingestion)
    B -->|Trigger| C{Analysis Module}
    C -->|Scan Codebase| D[Context Extraction]
    D -->|Prompts + Context| E[Jules Agent]
    E -->|Reasoning| F[Proposed Solution]
    F -->|Code Generation| G[Implementation]
    G -->|Run Tests| H{Verification}
    H -->|Pass| I[Create Pull Request]
    H -->|Fail| E
    I -->|Review| J[Developer Review]
    J -->|Approve & Merge| K[CI/CD Pipeline]
    K -->|Automatic Deploy| L[Production]
    L -->|Feedback Loop| A

How It Works in Practice
#

  1. Ingestion - An issue or bug report comes in, the webhook fires.
  2. Analysis - The devtriage module reads the report and scans the codebase to understand context.
  3. Agent Activation - Jules receives everything and starts reasoning. The interesting part is that it can understand dependencies between files and evaluate the impact of changes.
  4. Implementation - If it finds a solution, it generates the code.
  5. Verification - Tests run automatically.
  6. Pull Request - If tests pass, PR opened. Otherwise, it retries.

What I Learned
#

This stuff doesn’t replace the developer—at least not yet. But it freed up my time. The trivial bugs, the ones you already know how to fix but that steal half an hour each, are now handled by AI. I do PR reviews and focus on architectural problems, which are the ones that actually require my experience.

The other thing I noticed is that AI can also handle routine maintenance: library updates, small refactors, minor security fixes. Stuff I used to pile up in the backlog for months.

Final Thoughts
#

We’re just at the beginning of this story. Jules Orchestrator works well for Luciosoft, but every project is different. If you’re interested in experimenting, the code is on GitHub.

Oh, and if you’re thinking “but this makes developers useless”: no. It makes them more efficient. Which is different. At least as long as someone still needs to figure out what to build and why.