Me: I’m not a developer, I cannot code a prototype…
Member of the Patent Review Board: You don’t need a functional prototype and you don't have to be a developer. But you need to be able to describe your invention in such a way that an Engineer can build it or a Developer can code it.
Hey everyone! I recently decided to try my hand at "vibecoding" – which is a fancy new way of saying I asked Atlassian's Rovo to build a Forge app for me while I sat back, drank coffee, and occasionally pointed out when things were broken.
My grand vision? A simple word count macro for Confluence.
I may be an inventor but I’m by no means a coding developer, so my strategy was basically to throw vague prompts at the AI and see what happened. Here is a log of my journey, wherein Rovo does all the heavy lifting and I play the role of a slightly demanding end-user.
Me: "I want to build a word count Confluence app."
Rovo: [Generates a flurry of code]
Me: "The app says 'NO data available' despite the fact there’s a giant chunk of text right there on the page."
Rovo: Calmly figures out that it was looking for the page ID in the wrong place. It correctly repoints to context.extension.content.id. It also realizes the macro was crashing because I hadn't explicitly saved a configuration yet, so it graciously added sensible defaults so the app would work immediately upon insertion.
Me: "Another problem. Now it's throwing an error: Failed to fetch word count statistics: Authentication Required."
Rovo: Realizes it was trying to use user-level credentials, which require extra permissions I hadn't set up. It casually switches to app-level credentials to work with the read:confluence-content.all scope. Crisis averted.
Me: "Nope, still broken. Error 401 - Unauthorized; scope does not match."
Rovo: Patiently explains the difference between classic scopes and granular scopes. It turns out the endpoint for fetching page content requires the granular read:content-details:confluence scope. Rovo rewrites the manifest for me and reminds me to accept the new permissions on republish. I nod at my screen as if I knew that all along.
Me: "Actually, remove the 'Estimated Read Time' field entirely. I changed my mind."
Rovo: Without a single digital sigh, it completely purges the Reading Time checkbox, the words-per-minute input from the config panel, and all the backend calculation logic. It then casually drops: "All 49 tests are passing." Show-off.
In the end, I now have a fully functioning Word Count, Character Count, and Paragraph Count macro. My technical contribution consisted almost entirely of copy-pasting error messages and moving the goalposts on the UI. Rovo handled the Forge context objects, the API credential scopes, and the unit tests.
If vibecoding means I get to play the role of a slightly annoying product manager while Rovo writes the code, I think I've finally found my true calling.
Has anyone else tried building apps this way yet? I'd love to hear if your AI partner was as patient as mine!
This text is an AI dramatization. I fed the brief log to AI, set sarcasm to 6 (out of 10) and asked for a mildly self-deprecating tone :)
The opening quote (dialogue) is real. And it’s probably the best advice I've gotten since I entered the IT world full time in 2012.
Kris Klima _K15t_
1 comment