I recently attempted to build a JIRA app. The goal was to get specific insights from completed sprints, as the default JIRA reports did not provide the data I needed.
The development process stopped early. The issue was not with the application’s logic. I could not deploy the app successfully. If the app did deploy, it would not load. This initial setup and deployment phase became the primary challenge.
Experience vibe coding with Gemini 2.5 Pro, ChatGPT (free tier), CoPilot within Github Workspace
1. A Single LLM Can Lead to Repetitive Failures
Initially, I used one LLM for guidance. The model would suggest a fix. When that fix failed, it would offer a slightly different, but fundamentally similar, solution. This created a frustrating loop of error, fix, and new error, with no real progress. The model did not seem to learn from the repeated failures within our conversation.
2. Using Multiple LLMs Provided a Breakthrough
After many failed attempts, I turned other LLMs, including ChatGPT and CoPilot. This change helped me make progress. Different models approached the problem from different angles. This diversity of suggestions helped to finally identify and resolve the deployment issue, allowing the app to load. But the struggle is in providing context again (I guess some of the tools solve for this problem of switching models within the same context)
3. LLMs Can Struggle with Large Contexts
I observed that as a chat session becomes longer, the LLM is more likely to repeat itself. It seems to lose track of the full history of what has already been tried. To move forward, it was sometimes necessary to stop and demand a more fundamental solution.
4. Superficial Problem Solving
A common behavior was the LLM’s tendency to apply surface-level fixes. For example, instead of solving an underlying error, it would wrap the failing code in an if/else block to simply catch the error and display a message. This suppressed the immediate problem but did not solve it, often leading to other issues later on.
In conclusion, while I have not yet finished the app, it was learning experience. Currently at least it seems like the barrier in platform-specific development is often the environment and deployment, not the code itself. For complex technical problems, relying on a single LLM can be inefficient. Using multiple models provides a better chance of finding a correct solution.
Note: Drafted and Refine with help of Gemini 2.5 Pro