HomeVideos

I put an AI-built app on my iPhone without publishing it

Now Playing

I put an AI-built app on my iPhone without publishing it

Transcript

177 segments

0:00

The most useful app on your phone might be one that no company would ever build.

0:05

For example, for me, I have a ritual.

0:08

Every night, I write down tomorrow's single priority and a fallback if the day goes wrong.

0:15

It's a paper ritual built around my rules and useful to just one person, me.

0:22

Until recently, this was too small to justify as an app.

0:27

Now, AI makes building native software easy, fast, and cheap enough for an audience of one.

0:34

Tonight, I'm starting with a blank Xcode project.

0:37

I'll use Codex to build and test it, and then I'll put it on my phone.

0:42

And I'm skipping the backend, hosting, TestFlight, and the App Store approvals and publishing process.

0:51

The app and its data will stay on my phone.

0:54

And tomorrow, I'll take it with me and see if I use it.

0:57

So I've started with an empty folder and Apple's standard Xcode template.

1:03

I haven't done anything else, and now I'm handing it to Codex.

1:07

Before Codex starts changing anything, I want it to look through the project.

1:13

Coming back to my paper card system, each paper card has two boxes.

1:18

The main move, the main thing to do tomorrow, goes on top, and the fallback

1:25

goes underneath if the day goes wrong.

1:28

So if I complete the main thing, I put an X in the box.

1:32

If the day is going hard, I put an X in a small box, and that's the whole system.

1:38

If you're making software for lots of people, you have to account for more use cases,

1:43

more situations, and support it for longer.

1:47

For this, I have one user and one job to think about, and I can keep the

1:53

app small and spend one evening on it.

1:56

People have always made little tools for themselves with spreadsheets, Shortcuts, Notion, web apps.

2:04

AI makes it easy and practical for me to do the same thing as a native app and put it on my phone.

2:12

And by the way, the paper card system works well too.

2:15

This is surprisingly a stack of one hundred paper cards.

2:20

Three of these, it's almost a year.

2:22

One Move app has five rules, and that's it.

2:25

At night, I write tomorrow's main move and a smaller fallback, and then the

2:31

next day, both show up on one screen.

2:36

I can complete either one or leave both alone, but I cannot change the words once the day starts.

2:44

A tap completes the day, and I can't undo it.

2:47

And there are no streaks and no history.

2:50

Everything is stored on the phone.

2:52

The read-only part matters to me.

2:55

I make the decision the night before and live with it the next day.

2:59

If I can edit it in the morning, the whole ritual falls apart, and I will

3:04

weasel out of the main thing to do today.

3:07

So that's the brief.

3:08

Codex has already checked the project, so I'm pasting the brief into Codex now.

3:14

This is for the first part of the app, and let's see how it does.

3:19

Okay, so the first part is done.

3:21

This is the main screen.

3:23

Nothing declared for today because I didn't set the goal yesterday.

3:27

We can set the goal for tomorrow, the main one and the fallback.

3:32

"Edit the video".

3:35

"Edit first 5 minutes".

3:39

So that part works.

3:41

Adding new goals for tomorrow, displaying the goals for today.

3:47

Now let's work on the completion part

3:54

Okay, completion probably works now, and the app is now in a state where the tasks for

4:00

today, the sample ones that were created, one of those is already completed, and one

4:08

of the rules was that I cannot undo that.

4:11

So let's ask Codex to launch the app in a state where the tasks for today are not completed

4:19

yet, and let's verify that completion works.

4:24

Okay, done.

4:25

Now that's the state where there are two tasks, and I can complete either one of them.

4:32

Let's complete the main one.

4:35

Done.

4:36

Okay, that works.

4:37

Let's verify that the state persists.

4:41

Let's kill the app.

4:43

Open again.

4:45

Everything works fine.

4:46

Now adding some more rules to improve the logic of the system based on my needs

4:57

Now that the functionality and the logic are in place, time to beautify it a little bit

5:09

Some slight changes, looking a little bit better now.

5:12

I don't love the X here and small x here, but polishing the app is not the main

5:20

point here, so I'm moving on and doing the last step, which is adding the icon.

5:28

The icon can also be generated in Codex, but I used ChatGPT web app for images, added

5:38

a simple prompt for it, got something on the first try that is fine for this purpose

5:48

Okay.

5:49

The icon is now wired up to my phone.

5:53

The app is there, the icon is there, the functionality is there, everything works.

6:00

But this, what I'm showing, is on a simulator.

6:05

It's time to put this app on my real phone.

6:08

Before I can put the app on my phone, the iPhone needs a signed development build.

6:15

So let's go back to Xcode, and actually, this is the first time that I'm actually

6:21

even seeing Xcode editor since we started, so I haven't written a single line of Swift.

6:29

So here I'm selecting my actual phone, which is connected to my computer.

6:40

I already have an Apple developer account because I have published an app on App

6:48

Store, so if you have that, then that's great, but a free Apple Account works too.

6:55

And Xcode still uses Apple's developer system to install the app, even though it's not publishing

7:04

it, so that's why these steps are necessary.

7:07

For this to work, the phone also needs to be in Developer Mode.

7:11

So if you go to settings and scroll all the way down, if you see developer

7:16

here, then Developer Mode is enabled.

7:19

This is my actual phone.

7:21

This is not a simulator anymore.

7:24

So if you don't see a developer here, then you can go to privacy and security, scroll down

7:38

And in the security section, you can see Developer Mode.

7:43

You need to turn it on, restart the phone, confirm with your passcode, and

7:48

then you have Developer Mode enabled.

7:51

Okay, time to put this app on my phone.

7:55

So I'm switching to Xcode, making sure that my physical device, physical phone

8:04

is selected, and I press Command-R.

8:12

And we have a failure.

8:13

It says build failed.

8:14

Let's see why.

8:16

Signing requires a development team.

8:20

This is one of the failure modes, and I wanted to show this so that if someone

8:26

also sees that, you know what to do.

8:30

So I do have a developer account, and I select it here.

8:36

So now the team is selected, and I can proceed to, again, building this with Command-R.

8:48

Now the build succeeded.

8:50

Attaching to One Move on my phone, and the app is on my phone right here, right now.

8:57

This is what I see on the screen.

8:59

This is no longer the test build, and it's not a debug session, so there are no test tasks

9:07

for today because I didn't set them yesterday.

9:10

But I can set the tasks for tomorrow.

9:13

Edit video, edit first part, save for tomorrow, and that's it.

9:21

It's on my phone.

9:23

I will see those tasks tomorrow, and I will be able to cross them off, mark as completed,

9:32

and set the tasks for the next day, replacing exactly the functionality of my paper cards.

9:39

So the app's functionality is ready.

9:42

It's on my phone, and I can use it.

9:45

So I started with an empty folder and empty repository

9:52

Now the whole code is here, and seven prompts later, the app is on my phone.

10:00

That's the whole build.

10:01

To try this for yourself, you need an Apple Account.

10:05

Xcode uses it to sign and install the app.

10:10

You don't need TestFlight or an App Store release.

10:14

I'm using a paid Developer Team from when I shipped apps. A free Personal Team works too,

10:23

[Correction: A free Personal Team supports up to 10 App IDs

10:30

and three test devices per platform.

10:33

Those registrations and provisioning profiles expire after seven days.]

10:36

And my app, One Move, stores everything locally.

10:39

There's no server or account to manage, and the phone still does need a developer

10:46

mode, and the build has to stay signed.

10:51

These are the only requirements.

10:54

Will I stop using the paper cards?

10:56

Probably not.

10:57

I like writing them.

10:59

I like seeing the stack on my desk.

11:02

I like that they are tangible.

11:04

The app is more for the times when I don't have the card with me, but it's also more a

11:11

proof of concept to show how quick and easy it is to write an app, any app you want.

11:18

This was just a simple example.

11:20

And Apple has allowed development installs for years, but I don't know Swift, and I

11:28

wrote my previous apps with Expo so that I could launch it on iOS and on Android.

11:36

So I never wrote Swift, so I couldn't put it, uh, as a development build on my phone.

11:43

Now, AI cut down this time and work enough that I can justify doing that just for

11:49

myself, just after working fifteen minutes on the app or half an hour, however long.

11:56

And the app now works on my phone natively, and this is all that I needed from it.

12:02

The code and prompts are all public.

12:03

You can review those, and especially prompts if you want some inspiration on how to phrase them.

12:11

If I wanted to share this app with other people, then it would turn into a big project.

12:17

I'd need accounts, I'd need a sync, I'd need a server where to put all the data, I would

12:24

need to manage and care about security, and I would have to maintain all of that.

12:33

I'm happy to keep all of that on my phone and not worry about any of

12:38

servers, maintenance, or security.

12:40

And I kept track of the build.

12:42

So the recorded session took me two hours.

12:46

Before that, I spent one hour in preparation, and I didn't even do a dry run.

12:53

I wanted to do it live so that I'm doing it the first time, and if I'm seeing errors, I'm

13:01

showing what the errors are and how to fix them.

13:04

For this session, I used seven prompts. Two were just to harden the logic.

13:10

One was just to create the icon.

13:14

I just wanted to show step by step instead of, uh, having one huge prompt, which

13:20

would also be possible, but that's not the case to build the app in one prompt.

13:24

During the build session, it needed one manual intervention when I had to choose my Apple

13:34

developer account, and that's about it, and I haven't written a single line of Swift.

13:41

As for the cost, it didn't cost me anything beyond the subscriptions that I already have.

13:48

So one for Codex and my Apple developer account, which is a yearly payment.

13:57

I already had that.

13:58

I didn't need to pay anything on top of that.

14:01

So this is the main message.

14:04

Now it's so cheap and so fast to put the app on your phone that you can do it with a few prompts.

14:17

You don't need to worry about TestFlight, about publishing, about reviews, about App

14:26

Store, and about ratings and about other users.

14:32

It's just you, your Codex or Claude Code, your phone and your app.

14:38

That's it.

14:39

So what would you make for yourself?

14:41

Maybe it's a recurring rule or a workaround or some tiny thing you currently keep in a spreadsheet.

14:49

Then just go and build it with a few prompts and a Codex or Claude Code.

14:56

Then go and put it on your phone and just build it for the most important user base of one: you.

Interactive Summary

The video demonstrates how AI tools like Codex enable individuals to build, test, and install personalized native iOS applications without prior knowledge of Swift or complex development processes. The creator builds a 'One Move' app—a daily task management tool—entirely through AI prompts, skipping traditional app publishing requirements to focus on creating a utility for an 'audience of one.'

Suggested questions

4 ready-made prompts