And Now I’ve Vibe Coded a Native Android Markdown App ⭐

And Now I've Vibe Coded a Native Android Markdown App

Emboldened by Google’s AI Studio announcements at Google I/O on Tuesday, I created a Markdown editor. A web app-based Markdown editor, as it turns out, though my original goal was to create a native Android app, as per the announcement. Regardless, the quality of the resulting app is impressive, and the speed at which it came together is breathtaking.

But, again, I meant to create an Android app. I’d just started experimenting again with Kotlin and Jetpack Compose, now the preferred method for creating new Android apps. And so I was curious about building something quickly with Google AI Studio and then exporting that project to Android Studio so I could work on the app code in a more traditional manner.

But as I wrote at the time, it wasn’t clear when this happened whether I was simply missing something (always a possibility) or whether this new AI Studio feature, the ability to create native Android apps, was just not available immediately (also a possibility). And so last night, after returning home from dinner and zoning out in front of the TV like a good American for a bit, my mind wandered, and I opened a laptop and revisited Google AI Studio.

When what to my wondering eyes should appear but a new button, “Build an Android app.” Oh dear.

So I went back to the well, what the heck. Starting with the following prompt:

I would like a native Android desktop app that looks and works like the Markdown editor app Typora. It should include the ability to open and save files, use a WYSIWYG editing view by default, and support all the normal keyboard shortcuts as per a word processor. The design should be minimalist, with no sidebar. It’s just an editor, not a file manager.

This time, Gemini 3.5 Flash ran for quite a while–542 seconds, or almost 10 minutes–during which it kept me up-to-date on how busy it was before providing a nice report about what it had accomplished.

Looking over this lengthy report, I saw one thing I didn’t want, it had assigned the Ctrl + K keyboard shortcut to “Monospace code wrapper” and not “Insert hyperlink” as I prefer. And so I prompted it with this:

It also needs a way to add hyperlinks, and with the Ctrl + k keyboard shortcut

And, thanks to a pop-up suggestion during this process, with this (which Gemini wrote for me):

Add a theme customization feature to the Typora-like Markdown editor. Include a few pre-built minimalist themes (e.g., light, dark, sepia). Also, provide the functionality for users to define their own custom themes by selecting colors for background, text, headings, and links. Ensure themes are easily switchable.

These changes took 219 and 292 seconds, respectively, and I got a second lengthy report describing what it had done. It concluded with, “Both features have been compiled, optimized, and verified with zero errors, keeping the interface minimalist, focused, and distraction-free!”

Ignoring that exclamation point, I watched as Google AI Studio spun up an Android virtual device in the preview pane and then displayed this app as it would look on a typical phone. As with the web-based apps I previously created so long ago (OK, it was Tuesday), this preview is interactive. So I could “use” the app there to make sure it looked and worked OK. Which it did in both cases, though I would obviously continue fine-tuning this at some point.

First, however, I wanted to realize another part of Tuesday’s AI Studio announcement: I wanted to install this app on a physical phone, starting with the Pixel 10 Pro XL. To accomplish that, there’s a handy “Install” button in the upper right of AI Studio. When clicked, it explains what you need to do on your device to let this work.

I had already done all this–as noted, I’ve started experimenting with Kotlin, Jetpack Compose, and Android Studio already–and so I just clicked “Install via USB,” OK’d a prompt on my phone, and waited about a minute for the app to transfer from Google’s datacenter to my device. And then it just appeared like any other app.

Incredible. But also just one of the things I wanted to test.

If you’re familiar with mobile app development at all, or with Android app development specifically, you know that Google, in this case, provides a nearly infinite selection of virtual devices through its Android emulator in Android Studio. This lets you test apps on different device form factors, Android versions, SDK levels, and whatever else. But the device emulator in AI Studio appears to be just a phone, with no other choices. For example, I can’t switch the device emulator to be a Pixel Tablet or some other desktop-type device.

My guess is that we’re seeing a 1.0 version of this functionality and that AI Studio will improve in that regard. But there are two ways to test this or any other AI Studio-created apps on a different device. You could install it directly to that device, as I had already done on a normal phone, or you could export/copy this project to Android Studio.

I started with a physical device: I connected my Pixel 10 Pro Fold to the laptop via USB–and, yes, I had already enabled the developer features on that device, too–OK’d the USB debugging prompt on the device, and let AI Studio install the app. As before, this took a solid minute, maybe a bit more. But when it was done, there it was. Filling the larger Fold’s display.

This is a thing of beauty. It’s pretty much exactly what I was looking for in this type of app.

But I was also curious about the Android Studio bit. I can see the code that Gemini created in AI Studio, of course, and I could use that as the basis for a new Android Studio-based project, manually copying over code as I went. The Google announcement specifically says that you can “send the app to Android Studio for any further development.” Later, it says you can do this by “downloading a ZIP file or exporting it directly to GitHub.”

I had saved the previous Markdown editor (web app-based) AI Studio project to GitHub, so that seemed like the obvious choice. When you click “Share” in AI Studio, you get a set of choices, one of which is GitHub. I’d already connected my GitHub account, so I just chose a name and allowed AI Studio to create a new repository for this project.

With that done, I visited the project’s page in GitHub, copied its URL for cloning, and then started up Android Studio. As with Visual Studio, it has a “Clone repository” option on its start screen, so I chose that, copied in the URL, and chose a location to save it locally in the laptop’s file system. And then the project opened in Android Studio as expected.

That README file explains what you have to do to get this to work with Android Studio, though I followed the steps and never did get it to compile or run. Part of the problem is that the fifth task in that list is unclear. That line does not appear in build.gradle.kts, but there are also multiple versions of the file in subfolders, and changing them didn’t do anything. It won’t compile.

Looking at AI Studio again, I didn’t see a way to save the project as a ZIP file so I could try this locally (without going through GitHub). I can share the app, but there’s no clear “download the code as a ZIP” option or whatever.

I will need to experiment with this more. Perhaps I will try a simpler app first. Or perhaps I can just create an Android app project in Android Studio and then pull the code from this app over. It’s early days here, I don’t know. My inexperience with Android Studio, Kotlin, and Jetpack Compose is obviously a huge blocker, and this all happened so quickly.

But still. This is incredibly exciting. It’s clear that this can and will work at some point. And even in its current form, this app is usable and full-featured. As per yesterday’s write-up, it’s magic. I can’t make this app available publicly because it includes my secret Google API key, but sharing to Google Play Store–i.e. publishing the app–is coming soon, Google says.

Soon. Incredible.

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Thurrott