TL;DR: The commodification of app development is here, thanks to Gemini and its peers. Everybody can be an app developer now, with a little bit of patience.
The question
It all began with a typical search query on a weekend. I wanted to know the tourist attractions in Toronto that would be open on Canada Day. I asked Google and it delivered some useful links as usual.
But this is 2025 and I have certainly not lived under a rock the past couple of years. I am now a very spoilt answer seeker who does not have the patience to parse through several websites and accumulate all the data that I need. So, I switched over to Gemini with a quest for the perfect day tripping strategy.
I already knew that visiting 3 attractions in Toronto on Canada Day can get quite hectic. So, I typed in the following prompt, selected Gemini 2.5 Pro as the model, and chose the Deep Research option to set things off:

All the popular LLM chat providers now provide a Deep Research option and I had experimented with a few of them, including Gemini. But my objective for this attempt was to validate (in my own primitive way) if the Deep Research option was indeed deep research with context sensitivity. Can these generative AI services be reliable digital partners in a rather mundane and low risk setting?
The plan by Gemini
Toronto attracts large crowds during the summer, but it goes up a notch on Canada Day owing to celebrations and festivals. There are significant road closures and entire blocks are sometimes off limits for vehicles. I wanted to check if Gemini would consider all of this. Of course, I wanted to ensure that I did my bit in setting expectations for the model by explicitly calling out the need to consider various factors. I’m aware that the latest models are quite smart and it might not have needed that, but it seems counterproductive to be vague with generative AI.
Gemini then came up with the following research plan:

Step No. 5 caught my eye right away. While it might not seem special to an AI veteran, the fact that AI realized that I needed to eat between my visit to the ROM (Royal Ontario Museum) and other attractions is amazing. Note that I was scheduled to visit ROM at 11 AM and if we conservatively assume a 1.5 hour speed run through the museum, that still puts my exit time within typical lunch hours. It also decided to find lunch spots in the area between the ROM and other attractions to save time.
I liked this plan and approved it. Gemini apparently researched close to 200 websites and it came up with a report, as seen in the snapshot below:

It seemed funny to me that visiting Toronto during Canada Day was akin to a ‘mission’ and Gemini felt the need to call it this report a mission briefing, but I was happy to play along. The report itself was quite verbose, stretching to 2943 words (!) with a few data tables thrown into the mix:

I had not asked for the overall budget for this day trip, but perhaps this is a pretty common ask by other users and Gemini gave me a cost breakdown for each phase of the trip:

Note that it calls out the anticipated ‘Free’ admission to the Royal Ontario Museum on Canada Day in both the tables above. It was only recently announced that entry to the ROM was free on Canada Day, so I was impressed that Gemini was able to pull the latest sources and find this detail.
It was also able to find some interesting details that I did not bother to gather in my own research like the discount offered at Ripley’s Aquarium if visiting after 5 PM. The report also had coupon codes for parking garages near ROM, although I have not tested if they actually work:

The output
This was all pretty impressive, but I must admit that I skimmed over many paragraphs, although they had delightful sub-headings like ‘The Park Once Doctrine’, ‘Culinary Interludes: Strategic Refueling’ and ‘The Extraction: Navigating the Homeward Journey’.
I admit that I had asked Gemini for a comprehensive report, but a three thousand word essay was a little out of my range, especially for a question about a day trip. So, I asked Gemini if I could have a visual tool to make sense of all that information and actually use it on the day of the trip:

Here’s what it came up with:

This is a Gemini feature known as Canvas (also available on other LLM chat providers under different names) and it can generate Single Page Applications (SPAs) on the fly.
Itching to see how far I could take this app, I put on a product manager’s hat and got into the trendy ‘vibe coding’ mode.
I asked for the following:
- Real time transit info or at least links to websites that could highlight the ETA between attractions.
- A checklist type interface with a What’s Next panel so that I could check one attraction off my list and have the details for the next one show up.
It needed a few iterations to get some of the UI modals and broken URLs fully fixed (except one), but it ultimately did produce a pretty useful page.
I then asked for a list of features that it thought could enhance the page, and it gave some really good options: live weather integration, ‘crowd meter’ estimates, ‘time to leave’ alerts, photo & note journal, and a shareable summary of the trip.
The personalized app
A few iterations and bug fixes later, this was the end product:

I chose to skip some of the suggested features and added updated instructions for others, but I had a working app that seemed like a pretty personalized and useful tool for travel. I could access all the important URLs for real time transit and weather information, mark items as completed and look up the next one on my list.
Additionally, I could take notes and attach photos for each attraction on my list, as part of a ‘Memory Lane’ feature. I could then export and share this ‘digital scrapbook’ with my travelers in a variety of digital formats (PDF, PNG etc):

I had spent an hour and a half by this point, but it felt worthy for a tool that provides such level of personalization. All without writing a single line of code, and just ‘vibing’ along.
The chinks in the armor and future state
The entire experience left me extremely impressed. I started out wanting to know a specific set of information and ended up with a personalized travel app that I could use on my phone.
So, does this mean that the AI critics are right and all of us as software developers are now doomed?
Surely, if people can ask Gemini and other models to build their own personalized apps on the fly, what would compel them to hire teams of people and grant them a budget and timeline?
I think there is a lot of nuance that is sometimes lost in the screaming headlines.
For one, this is not production grade enterprise software. And yes, it is true that I did not write a single line of code. But at one point, Gemini ran into a death loop over a simple syntax error within the Javascript code and I had to fix that manually. Based on my other experiences using agentic AI assistants for programming work, there are indeed situations where a human has to read the AI-generated code and manually fix things. AI Agents and LLMs are smarter and faster than most of us, but the utility of a human coder is still not nothing.
Of course, in a few years, all of this could change, and a one-shot prompting strategy might be good enough to build entire app stacks. Or, even more incredibly, maybe agent-to-agent interaction will eliminate the need for apps altogether.
However, I think most people agree that a human in the loop is always a good strategy, regardless of the future advancements in these systems. For instance, modern aviation tech has given us auto-pilot, but we still rely on a trained pilot with critical judgement skills to bring us home safely.
The conclusion
I would highly encourage others to try a similar experiment and see how the latest cutting edge technology can add value to your day to day needs. The tech industry usually likes to portray every new thing as the next Industrial revolution and AI hype train has long left the station, but there is a real chance that AI will stick around and reshape the way that our societies and lives function, in ways that are both good and bad.
We might not be able to beat the beast, but we should at least know enough about it to survive.
PS: If you’re interested in interacting with the web app noted in the above post, you can find it here.
