My experiences with AI-assisted Android porting of iOS apps

 What's up everybody? Welcome to another episode of the UIBuzz podcast. I am your host, as always, Peter Witham. You can find me and this podcast and so much more at PeterWitham.com. So here we are. We started 2026, and I am very close to already achieving one of my goals this year, which is to convert my apps to Android.

And I'm gonna speak a little bit about that here. So if this is something that doesn't interest you, skip onto the next episode. However, for the rest of you, I have two apps. I have a Job Finder Tracker app and a sub radar app on iOS and. Folks are always asking me, Hey, is this available on Android? When's this gonna come out on Android?

And so on. And as you all know from previous episodes, iOS has really been my base of operations as far as programming and, the Swift language and all of that history that I have. But I also recognize that, yeah, I do need to make Android versions of these apps because people are asking for them.

This is always a good sign, right? And you should pay attention to that. But at the same time, Kotlin or whatever it may be for Android. It's not my thing and I don't really want to spend a lot of time learning it and then building apps, that's gonna take a lot of time to market and it's something that I don't have a lot of time for in the sense of I just don't have a lot of free time anyway.

Outside of the day job. So I thought, okay, we're gonna do this in my way and we're going to use ai, which I've spoken about before. As you all know, I have a very good time using Claude code. And so I thought between myself a good Android developer friend of mine shout out to you.

You know who you are, and Claude Code, we can figure out how to convert these apps. So that's what I did. And interestingly. It was funny. Did this somewhat on a live stream and somewhat on a sort of private stream because we really didn't know how it was gonna go and it worked out really well.

So what I did was I took my job Finder Tracker app, which is available on iOS right now. You can go to PeterWitham.com slash jft and you will find it there. And it uses some core data, some, basically some storage mechanisms, some cloud storage for syncing and those kind of things.

And I thought to myself, all right, let's do this. So we started by saying, Hey, clawed code AI engine of your choice. Go look at the source code for my iOS project, figure out what I'm doing there, what technologies I'm using, what features I'm using, and how I planned and architected that product, which I built.

By hand, no AI in there at all, and come up with a plan on how we can do this on Android. So it went away for a while, quite a while actually, which was a good sign and thought about it. And came back and said, here's the plan. And it's a five phased approach, as it were. And the first one was, build out the data structures, build out the database, right?

Replace core data, Swift data with something else in which, in this case I told it use room because this is what my Android friend recommended and I trust what they tell me. And so it came up and said, okay, here's the models. This is what I think the data structures look like and everything else.

For phase two it said, we're gonna build the UI to interact with these models. Things like adding basic CRUD operations. And then for phase three, we're gonna add in the other features that you've got in there, which is calendar. And local notifications along with some of the more fancy editing tools.

And then phase four will be all about, setting up things like potentially syncing 'cause I did specify, look, I want to do this as local storage on Android first to get it to market. And then we'll expand it later on. And then for the final phase, there was also the testing of course, and some of the more refined features like importing PDF files and converting those to text to be, or rich text, I should say, to be stored in the application so that you can share your resume with folks and so on.

And so it had this five phased approach, and we went through, we made some changes because there were some things we weren't overly keen on and some of the decisions that it had made, but. For the most part, I would say about 90% it had figured out what I'd done in the iOS project and come up with a reasonable plan to convert it to Android.

So I let it loose and it's go for it. Do me phase one, right? And it did phase one, it did not build, but that was, I would say, partially my fault because I did not specify. Android API levels and things like, watch out for stuff that's been deprecated, all those kind of things.

But it was very easy fix, right? And a lot of those manual fixes that we made of course the AI saw it and was like, ah, yeah, alright, we're good. And it also more importantly, updated the documentation for the plan and everything else. So once we'd done that, it built. And data structures were fine.

So we let it go ahead and do phase two, which is build basic UI structure for this right basic crada operation. Gimme a list, gimme an ad, gimme an edit, gimme a delete. Those kind of things. And it nailed that part. We said to it, follow standard, best practices, material and so on.

It did that. We asked for material three. Don't feel that we really necessarily got all of that, but we certainly got a workable application and this was great at this point. It could run on devices. We were running in simulators, running it on devices. Everything was working beautifully.

Fantastic. And this was within the space of maybe. I think it was about three, three and a half hours, something like that. Certainly a lot more speedy than if I had done this by hand, even if I knew how to write Kotlin. And certainly, again, a lot quicker than when I wrote the Swift iOS version.

So this is great. And again it's following what I had done previously. So it's not just trusting ai it's basically using AI to convert code. At the end of the day, right from one platform to another. Now I am using the plan here is to use Kotlin multi-platform at the end, just so everybody knows for some future ideas and.

At this point, I was like, okay, so this is now all working. So we let that run. I continued to work on the local, push notifications, and that also worked fantastically well. Had to do a lot of manual tweaking there because I wanted to work a particular way. I wanted the user to be able to specify, Hey, remind me x.

Number of days or every x number of days about this job, go back and look at it and update it. And that I also wanted that to be editable deletable and so on. So there was a lot of manual tweaking in there to make that work. But again, the key was use AI tools to do the base conversion and then expect a lot of, manual input to refine the project. So this was all going according to plan, right? So that's where it's at right now. Still got a couple more phases to go, but right now I have a workable application and it works. Beautifully. It really does. Even on my very old test Android tablet, which is all I have available, it's very old.

It's very slow, which makes it perfect for testing and this is great. Everything is going according to plan. So we're putting it in the testing phase at the moment but ultimately within a few hours. Certainly you could say within a work period of less than 12 hours. I've gone from nothing to having a fully working Android version except for some features like the resume and PDF stuff, but enough that I can give it to some testers to try it out and give me feedback.

So this is going really well. Very happy with this, and I thought I would share that in this episode because it also told me. This is great. I can use a similar approach for my sub radar app, which you can find at Sub Radar app if you're curious to make a Android version of that as well. And this is perhaps the way that I get into making my own personal Android apps without having to, spend months learning how to code.

I can basically take apps that I know. How they work and learn from that code base as I change it to make it work the way that I want it to, and also to learn how things work on Android, right? That's the goal here as a side side check box, if you like of me doing these apps whilst getting them to market.

So I wanted to share that in this episode as that's been my experience with this. Let me be clear, right? There is no AI by itself would not have got this right. Simple as that. But because I was able to feed it a project that I had handcrafted, it got me most of the way there. And that's the takeaway I want you to have here.

The other takeaway is I'd love for you to go check out the apps of course, but this is how. I can get my apps on Android and going forward, of course, any new apps that I build, I will just automatically have for both platforms. Which Okay, gives me options again on technologies and so on.

But I wanted to start the year with this and. Did not expect it to go for this fast or work this effectively, but this is a promising start to one of my goals this year, which is to become more platform independent with my own personal projects and the apps that I put out there because. Without getting into it, various platforms, right?

They have their good times, their bad times, and so on. And as developers, as you've heard me say before, and as more importantly as people that make and ship things for users, we need to make sure we stay as flexible as possible as far as going with the trends and being able to embrace. What our users need regardless of what the platform is.

So that's it folks. That's what I got. If you would like to talk about this or anything like that, or you have thoughts. By all means, reach out to me PeterWitham.com. And if you'd be so kind as to leave a review for this podcast, I would greatly appreciate that as well. I am trying to grow this podcast since I stopped doing the compiler Swift one, and I am expecting to do some more game development episodes soon because I am still heavily working on my games, along with some other thoughts on that.

So expect more episodes for those. But I wanted to put this app one out there. That's it folks. Have a great one and I will speak to you next time.

My experiences with AI-assisted Android porting of iOS apps
Broadcast by