Written by the author, AI-editedAI-assisted, author-verified How this module was made
BabyTrack already contains Objective-C, Swift, UIKit, and SwiftUI code working together. That makes it a useful example of incremental modernization instead of a pretend all-or-nothing rewrite.
We will compare the boundaries, create a small phased plan, and push back when the AI recommends more work than the project needs.
So I’m going to write a prompt to do so within Xcode. I’m using Codex with the GPT 5.6 Terra model.
Analyze BabyTrack's Objective-C, Swift, UIKit, and SwiftUI boundaries. Compare practical incremental modernization options, how old and new code can coexist, and the main risks and validation needs. Cite files and do not generate converted code.
Fantastic. Let’s see the results. So we have a boundary map table. We then have practical incremental modernization options listed from one to five. Then we have coexistence guidance grounded in this codebase, some risks also in a list, as well as validation needs. Now, here is where I can check any unsupported claims, refute something, or tweak things back and forth with the AI agent to my needs.
I am looking for bounded options and real interoperability points. Objective-C and UIKit are not migration requirements by themselves.
Next, I want to build and challenge the sequence a little bit. So I’m going to write a prompt to have the AI agent help me with a small phased plan.
Turn the verified options into a small phased plan. Challenge unnecessary rewrites, unsafe ordering, and unsupported assumptions. For each phase, include its goal, scope, dependencies, interoperability, risks, and validation.
Fantastic. Here we have a plan with phases 0–4. Now, you can accept, reject, revise, or defer any of the recommendations. Remember, a useful plan explains why each phase exists and how we would validate it. If a proposed rewrite does not support a verified goal, I can remove it.
Next, I’m going to actually have it create the markdown file for this modernization plan. So I’m going to go ahead and write a prompt to do that, as well as to give it some additional instructions.
Create the complete Markdown for modernization-plan.md using the verified evidence and my decisions. Include the current state, migration approaches, phases, code to retain, risks, rejected or deferred ideas, open questions, and validation. Do not generate implementation code, and return only the Markdown file.
Fantastic. We can see that it created the modernization-plan.md file with everything that we asked it to. This is a high-level plan, not converted code, and no permission to rewrite the app.
This is a high-level modernization plan, not converted code and not permission to rewrite the app.
You now have a reviewed modernization plan grounded in BabyTrack’s real boundaries. Next, we will investigate whether the codebase is ready for one small feature change. I’ll see you in the next lesson. Bye for now.