[SC]()

iOS. Apple. Indies. Plus Things.

Agentic Coding in Xcode 26.3 with Claude Code and Codex

// Written by Jordan Morgan // Feb 4th, 2026 // Read it in about 4 minutes // RE: A.I.

This post is brought to you by Clerk. Add secure, native iOS authentication in minutes with Clerk’s pre-built SwiftUI components.

I was filled with whimsy watching OpenAI announce their Codex app1 not even two days ago. But life comes at you fast. The very next day, Xcode 26.3 dropped with support for agentic coding.

As someone who is truly enjoying using agents to create software, I was ready to dive in. I’ve come to love using agents in Terminal, but I’m always up to try the shiny new thing. And if there’s something Apple does particularly well, it’s typically integrating new shiny things with a refined taste to them.

Here, I’ll share first impressions, and some important answers to questions I had. Also, I’ll be primarily chatting through the Codex lens.

The Critical Infrastructure

Ask three different people how they use agents, and somehow you’ll get sixteen different answers. Me? I rely on the “core pillars”:

  1. agents.md: Projects I use all have a lightweight agents.md or claude.md file. Critical to how I work.
  2. skills.md: The more nascent skills movement just keeps growing. Vercel, and its successful skills.sh initiative, has only strengthened it. I’ve come to use several skills, and not having those would be a quick stop for me.
  3. MCPs: The model context protocol is amazing to interface with services. When they were first announced, I thought of them as nothing more than an API. And, in some ways, that is true. But they aren’t APIs for you or me, they are for agents. Supabase’s MCP has saved me tons of time, “Query all of the basketball drills for this User ID”, “Do I have cascade deletes in place for X or Y”, the list goes on. They are a requirement for my agent use.

If Xcode’s integration couldn’t leverage any one of these, I would personally have no reason to use it. I nearly moved on altogether since I realized the star of the show, Apple’s own Xcode MCP implementation, is available for other agents to use:

# CC:
claude mcp add --transport stdio xcode -- xcrun mcpbridge

# Codex:
codex mcp add xcode -- xcrun mcpbridge

Still, the allure of keeping things “in house” is strong. And, Apple is only going to improve their offering. As long as my core pillars were usable, I’d try it out. At first, I thought that wasn’t the case (my skills weren’t showing, for example) but I’m happy to report that it can, and does, use your existing “core pillars” with a little pageantry from your end.

New Codex

Here’s what made it all click for me. If you already have Codex installed, think of Xcode’s Codex usage as an entirely fresh install. That makes complete sense when you zoom out and think about it (this Codex is literally for Apple development and nothing else). You can confirm this for yourself by viewing the config.toml for each installation:

Image 1
Image 2
My own config
Apple's config

Apple has honed in their config.toml to supercharge iOS development. Notes on Liquid Glass, call outs for Foundation Models — the list goes on. Though Apple blasts the doors off of their “big” stuff at W.W.D.C., you’d be crazy to think they aren’t paying attention. How we develop software is changing, and internally, it’s clear they are humming along with it. The fact that Xcode 26.3 exists, right now, is proof. They didn’t just cut a new branch once Codex’s macOS app shipped.

A few thoughts on the core pillars:

Skill files

In Apple’s documentation, they hint that each agentic option is customizable. But to what end, it’s not entirely clear:

Month of marketing gameplan.

However, opening that up reveals a lot:

Month of marketing gameplan.

A skills folder! I simply copied what I had in my existing ~/.codex/skills over there, and I could confirm that Xcode’s Codex could now see them:

Month of marketing gameplan.

MCPs

Since we know where the config.toml is at, moving over MCPs should not be a problem, either. Just add them in Apple’s config.toml and you’ll be good to go. What I’m not entirely sure about is how to kick authentication for some MCPs that may require it. For example, to get Supabase working in Codex, I’d run codex mcp login supabase — ran out of session. But, there is no “out of session” in this case. It may just work, but I’ve not tried it yet.

agents.md

There’s nothing to say here, it just works.

Odds and ends

So, how is the actual experience? Well, pretty nice! This is such a tiny thing, but in Terminal — removing a chunk of text sucks. I’m sure there is some keyboard shortcut I’m missing, or some other app I could use like iTerm or what have you, but not being able to use Command+A and then delete it hurts. In Xcode, that’s easily done because the input is not longer running through Terminal, it’s just an AppKit text entry control.

Oh, and it’s pretty! Apple has leaned into a bit of a bolder text for prompt creation, and the colorful “ribbon”, synonymous with Apple Intelligence, is always a joy to look at. It’s also so beautifully native. Codex’s app, while packed full of goodies, just feels…a little ugh, ya know? This surprised me, since their flagship ChatGPT is native and feels incredible to use (complete with Liquid Glass on Tahoe).

But there are no free lunches in life. Another Codex installation, another agent to use, another spot you have to maintain skills and MCPs. Surely, the developers behind these agentic tool chains will adopt an open standard so we don’t have to worry about this. In fact, this has already been proposed by OpenAI developers for skills at least (I lost the tweet, but it’s out there). We don’t know which model will “win”, or if one ever will.

Personally, I find the competition necessary and good for their target market, developers. I personally hope none of them win and keep pushing each other to be better. But, open standards to control all of the core pillars would welcome. When I update one skill, I now update it in three different places.

Wrapping up

This is a fantastic start for Xcode. If you’re later to the Claude Code or Codex scene, this is a wonderful place to start. There’s simply no going back once you learn how to use these tools. Ideas that you wanted to hack on become doable, those dusty side project folders come alive a bit more, and you get ideas out of your head much faster. These are all good things.

Plus, it makes you wonder what Apple will have for us at this year’s W.W.D.C. — this release is the kind of thing you typically see there. Maybe they felt they had to respond earlier? Maybe it was just ready to go? Maybe they have #EvenMoreCoolThings coming? I dunno, but I’m eager to see.

It’s all moving quickly. All the way back in 2020, Mattt sort of saw some of this coming. It’s fun to read that post back, and see how so much of it is happening today. What a time to build!

Until next time ✌️

  1. Kind of odd that it’s Electron though, yeah? The ChatGPT flagship app is native, and it feels fantastic in comparison. 

···

Pay What You Want for The Best-in-Class iOS App Book Series

// Written by Jordan Morgan // Jan 28th, 2026 // Read it in about 1 minutes // RE: The Indie Dev Diaries

This post is brought to you by Clerk. Add secure, native iOS authentication in minutes with Clerk’s pre-built SwiftUI components.

First, let me get straight to it:

The Best-in-Class iOS App Book Series is now pay what you want! Pick it up for a minimum of $10 to…whatever you want. Live now!

So, Why?

I debuted this book series many years ago now, back in 2021!

I had just sold my first somewhat successful app, and figured I’d set out to do what I always wanted to do: write a book series of all that I knew about making iOS apps. The craft, the APIs, the design, the “don’t sleep on this little tweak” kind of stuff.

And, so, I did — though it was a bit grueling.

It took over two and a half years, and I released updates every two weeks during that time. But, like I would imagine those who finished a PhD or something, I was (and still am) extremely proud of the effort even though the effort basically swallowed me whole. I wrote over a thousand pages, hundreds of code samples, just as many image assets, kept the mailing list informed of progress, the whole gig. And since then, I’ve kept it up to date with free content drops.

What I couldn’t have imagined, at the time, was where we are today. Right now. The way we learn and do things, and most importantly — develop software, is changing at an unprecedented pace. AI and LLMs are changing our industry in real time. While there is certainly a place for books, YouTube tutorials, and similar content (I don’t think anybody wants those to go away) - I think the desire for a giant reference like mine is reducing a bit.

And that’s okay, but I also want to be realistic about things. And so, with updates slowing, I want to make it’s accessible to anyone who might want it.

What’s Next?

I’ve also had several ideas floating around on what I could do with this content. With five, giant books full of iOS wisdom, plugging it into an LLM, custom GPT, maybe even an MCP, or putting it online digitally to highlight things, even edit it, etc — that could be fun. By far, the largest pain point is updating this thing. It takes hours to do for several reasons. An online-first home for it, with the option to download it still as it is today, would make the barrier to entry for updates much, much more doable for me.

I’m not really sure what I’ll do with it, but with over 100 updates since 2021, I’ve given this project a lot of me. I’m proud of it, and I’m also happy that whoever wanted it but couldn’t afford it, can do so now.

Until next time ✌️

···

The Shift

// Written by Jordan Morgan // Jan 18th, 2026 // Read it in about 1 minutes // RE: A.I.

This post is brought to you by Clerk. Add secure, native iOS authentication in minutes with Clerk’s pre-built SwiftUI components.

It’s 2026 (in case you didn’t notice). Where have my traditional “Here’s what I did last year, here’s what I wanna do this year!” posts gone? I was able to achieve nearly all my goals in 2025 (the first time that’s happened), and I just sold Elite Soccer Club to a friend, and I’ve got huge plans for 2026!

Why haven’t I written about any of it yet?

Well, because as a once ancient tweet once said, everything just happens so much. And in our industry, I don’t think I’ve ever witnessed so much happening.

I’ve known AI was helpful and it’s been a daily driver for me for some time now (ever the early adopter). But after seeing good ol’ Steipete and Thomas share more and more about their adventures, I started to dig in some more.

Skills, rules, plugins, MCPs, different models — I went in. And, coming out the other side, I’m not entirely certain what to think anymore. Excitement? Nervous? Pumped? All of it?

It’s all different now, but I do know that if you were already an engineer with experience before this AI boom, there has never been a better time in human history to build stuff.

If you knew a little about a tech stack? Well, now you know a lot.

I’ve been wondering what I am now with AI specifically. How would I describe myself? I don’t fancy myself as a vibe coder, I think we’ve attached a pejorative mindset to that term — one that won’t be shaken anytime soon. I think “Agentic Engineering” fits? Someone who knows what these things can do, and equally as important — how they could bring your house down if you don’t pay attention.

At work, I’ve been committing more code to our monorepo, our marketing site, cruising through Next.JS and Astro codebases, all the while doing a bunch of other stuff. And, it’s simply because…now I can.

Not even a year ago, Xcode stayed open while I cherry picked work over to chatGPT. Now, I have four terminals open - managing my little LLM minions to do my bidding. Sometimes, it feels like I code review for a living. But, I’m enjoying it?

My role has even been…impacted…if that’s the best word?, by AI. Developers are watching less YouTube tutorials and are relying on MCP servers for docs. The world is absolutely changing, and it is mind-boggling to be in it while it’s happening.

Wrapping Up

When your industry shifts seemingly overnight, where does that put you? You either change with it, or open a coffee bar (Dude, I would love to open a coffee bar by the way).

I think we’re all a bit on edge, to some degree. The thought that, eventually, anybody will be able to make an app is exciting and a bit scary.

The barrier used to be building, and that barrier is diminishing. That means, logically, that the best idea, and its execution, its design and UX, how well it solves the problem - those will win more and more. That’s kinda, sorta, mostly true today, but the build aspect is still there right now. You could have the best taste, ideas on superior execution - but you might not be able to build the thing right now. That will change.

As such, where does that leave us?

I can’t say, but I do know that this is true, right now:

  • If you know how to code, then you are an absolute machine now. You can find the dumb stuff AI does, and you don’t treat it as a loose cannon. You guide it with tact, thinking, poise and a plan. It’s a force multiplier, not fertile ground for bugs.
  • If you can design and code? Well, the world is yours…for now. All of these things will become more accessible in due time.

In short? Go build, and do it now! We’ve got a major head start.

Until next time ✌️

···

A Month of Marketing: A Recap

// Written by Jordan Morgan // Dec 17th, 2025 // Read it in about 2 minutes // RE: The Indie Dev Diaries

This post is brought to you by Clerk. Add secure, native iOS authentication in minutes with Clerk’s pre-built SwiftUI components.

Xcode is how you build a better product, marketing is how you build revenue - never vice-versa. That’s one thing I’ve learned over my previous month or marketing. So, what happened?

Starting Numbers

Subscribers: 1,988
MRR: $7,633
Trials: 175

Ending Numbers

Subscribers: 2,220
MRR: $8,775
Trials: 193

So, looks good, right? Well, yeah. But also, I didn’t really do much of anything that I planned to do over the month 😅. The idea was to spend an inordinate of time posting things, engaging the community, writing blogs, and other similar growth stuff.

Elite Hoops is in-season, so I can just leave it alone right now and it’ll (thankfully!) grow. However, life happened over that month. Not to get too T.M.I., but I started seeing a therapist to help me work through some personal things, and that has been both incredibly helpful (good 😌!) and mentally exhausting (blah 😖!).

Regardless, I was able to do two impactful things:

  • I worked with EVO Marketing and they did fantastic work. You can check them out here. Not a sponsored post or anything, I just feel it was money well spent.
  • I shipped a lead gen tool called The Thompson Twin project. It’s live right here.

EVO

EVO did a few things with me, and after reaching a price I felt good about — we all hopped into a shared Slack channel and went to work. This was my first time using a marketing agency, and I was pleasantly surprised. A few Superwall clients had used them for much larger projects, so I was initially thinking that indies probably weren’t their ideal customer. But, it worked out, and here’s what they did:

  • They made a banger Notion doc that summarized Elite Hoops as a product better than I could! I’ve been working on Elite Hoops since October 2023, and it’s insane seeing someone else whose mind works differently be able to articulate what you couldn’t (at least, articulate well). Who is my ICP? What kind of marketing speaks to them? How can you reach them?
  • They made 20 video creatives for me.
  • They taught me how to run paid ads.
  • And, more importantly, they showed me how my current Meta campaign setup is, well, just very, very unoptimized.
  • What’s my cost per install? Which ad works the best? LTV? When I was asked this stuff I just waved my hands and said I go on vibes bro.
  • And while vibes got me to $9k MRR, it’s time to buckle up a bit more.

Here’s a preview of their Notion package:

Notion over Elite Hoops.

Darren, Christian, and co. were great to work with and I’d recommend them to anyone trying to get things to the next level. A positive realization I had working through things with them was that I have clear traction, and people are converting. I just need to get the message out more to take things to that $40k MRR range.

Takeaway: Having someone who does marketing as a job, and breathes it like you do development, is like…kind of a life hack for indies? It seems so obvious, but I have a recalcitrant view on marketing. I don’t enjoy it, but I know it’s vital. They did the things I just don’t want to do.

let concatenatedThoughts = """

Also, you either die an indie, or live long enough to install the Facebook SDK to get install attribution. So it goes!

"""

The Thompson Twins Project

Next, I shipped the Thompson Twins project: The Thompson Twins project on Elite Hoops.

If you aren’t familiar with Amen and Asur Thompson, they are twin guards in the NBA who allegedly did this insane workout growing up. So, I thought it would be fun to codify it, and put it in Elite Hoops. It turned out looking like this:

  • A web component, linked above.
  • You give me an email, I give you the workout.
  • Because the workout is insane, I decided to split it up into a 7 day progression - getting closer to the full routine each day.
  • The .pdf turned out nice, I just designed it all in Sketch.
  • And, it’s in the iOS app too (app review pending).

I haven’t started marketing this yet, but the email blast and socials will go out soon. The idea is to try and tap into some virality and bring people into the Elite Hoops ecosystem.

Takeaway: These little free tools as a marketing vehicle have worked well for me in the past. Plus. I just love working with next.js - it’s fun! It’s good to have fun, but time will tell if this was worth it or not.

Now What?

The last month was a learning lesson. Thankfully, I spent money on people to help me grow Elite Hoops. Those paid ads are about to start running next week, so that’ll be exciting to see how it plays out. Going forward, I’m going to try and just do a simple “Mon/Tue” marketing flow, then development on the other days. It may seem rigid, but for me, it simply reminds me to do it.

And, there’s plenty to do:

Craft doc over marketing ideas for Elite Hoops.

Until next time ✌️

···

A Month of Marketing for Elite Hoops

// Written by Jordan Morgan // Nov 4th, 2025 // Updated Dec 4th, 2025 // Read it in about 2 minutes // RE: The Indie Dev Diaries

This post is brought to you by Clerk. Add secure, native iOS authentication in minutes with Clerk’s pre-built SwiftUI components.

I’ll keep it short — I’m going to focus on doing a month straight of marketing for Elite Hoops. Xcode will only open if it helps me market something. I’ll try to update this post for the next 30 days on what I’ve tried. Check back each day to see what I’m up to. Think of this post as a live journal.

Wednesday, November 5th

  • Researched existing social formats to discover videos I could make for paid ads.
  • I found about four or five that I think I could turn around fairly quick.
  • One question I have on these - do I go with boosted posts, or actual paid ads?
  • I’m also looking at blog posts that are evergreen to help with SEO efforts, the Elite Hoops website will be critical moving forward.

Thursday, November 6th

  • One ephinany I had — my app is seasonal, and its season right now. So during my seasonal months, I need to triple down on marketing, and in the off-season I should triple down on feature development. I think not crossing those wires is smart.
  • I have a meeting with a marketing agency Friday, exicted to see what that brings.
  • One idea I have is to piggyback off of viral workouts that NBA stars used to do, maybe I could build those into Elite Hoops somehow.

Friday, November 7th

  • Hired a marketing agency, a 30 day agreement. I’m excited about this - it takes the load off of me for creating content. They’re going to do it.
  • That also means I’m a bit free to do other stuff, should it be content marketing? Blogs? Plays on YouTube? Where should I go?
  • I’m excited about that viral NBA workout idea I had, that’s pulling me in — so I’m going to explore that starting tomorrow.

Saturday, November 8th

  • Absolutely nothing, I was at kid’s sporting events all day.

Sunday, November 9th

  • And nothing again, I watched football all day and it was great.

Monday, November 10th

  • The marketing agency I’m working with is going to produce 20 videos for me, so content wise I’ll be posting those.
  • Since that frees me up, I’m going with this “Thompson Twins” workout idea.
  • That’ll include a blog post, another “free tool” I think on the Elite Hoops’ website, and I need to add the drills to the app itself.
  • Then, I’m thinking an email marketing campaign, along with reels I have around this to promote. This is lead-gen, since it’ll be free.

Also, here’s how I’m kind of thinking about these 30 days in terms of marketing:

Month of marketing gameplan.

Tuesday, November 11th

  • I’ve got the “Thompson Twins Workout” idea all fleshed out now. It’s a free tool on the website, and a template workout in the app.
  • The website version will actually be a bit more fleshed out, the workout is insane. So I have a 7 day plan .pdf to work up to it (email gated).
  • First up, I need to make the actual .pdf…and this is killing me. It’s soul crushing work making it myself, I would be faster doing it in SwiftUI.

Wednesday, November 12th

  • I added some more quotes to the basketball quotes post.
  • I’m slogging through this .pdf…I hate working on it and I have no idea why. I think because it’s hard for me to make it pretty, easily.
  • But, it has to be done because the rest of the project hinges on it.

Thursday, November 13th

  • If you were wondering, I still hate this .pdf.
  • BUT also, I nailed down the design, and I’m almost done with it! It’s seven pages, so even though I had the content, I needed the design to, well, perfect. It’s the centerpiece of the whole package.
  • The marketing agency has nailed down formats and creators, so that should start bearing fruit soon.

The .pdf final design for the Thompson Twins project.

Friday, November 14th

  • Game planned with my marketing agency, we should have videos next week.
  • I updated some blog posts which are starting to rank and drive good SEO results.
  • I had to rework some of the workouts for the Thompson Twins workout, but I’m happy with it now.

Saturday, November 15th

  • Did nothing!

Sunday, November 16th

  • And then I did nothing again!

Monday, November 17th

  • Everyone, an announcement: I HAVE FINISHED THE .pdf! What a battle, seven whole pages. But it turned out nice, and I had to nail it.
  • Met with the marketing agency, reviewed formats — we’re ready to record!
  • Started in on the web dev side of things, which shouldn’t take too long to finish. Famous last words, I guess.

Tuesday, November 18th

  • I put together the other assets for the landing page. Now just getting everything in place, and getting the design to look right.
  • The copy is…not great, currently. I really need to sell this a bit better, so I’m working through that.
  • Marketing agency has been great, they delivered a massive game plan on copy, types of videos, my ICP, just tons of stuff.

Wednesday, November 19th - November29th

  • Well, not to get too personal, but…life stuff happened recently. I had to put things down since I had zero mental energy lately.
  • But, the marketing agency is paying off! They’ve delivered over ten video ads, with copy, targeting advice and more for me to try.
  • Next, they are delivering UGC content.
  • Now that I’m back in the saddle, I’ve picked up The Thompson Twins project. Today, I’m getting the landing page design finished.

Sunday, November 30th

  • The Thompson Twins project is live! Check it out here!
  • Tomorrow, I meet with the marketing agency about posting strategies for the content they’ve made me.

Monday, December 1st - December 4th

  • Wrapping up! The marketing agency and I had a wrap up call.
  • I have clear next steps to try in terms of ads.
  • And we’re done! Look for a wrap up post coming tomorrow.

Until next time ✌️

···