My GitHub Copilot review: rebuilding an iOS keyboard extension for Android

Kelvin Graddick · 2 minute read ·     

I recently set out to rebuild an iOS keyboard extension I had developed using Swift, but this time for Android using Kotlin. Rather than do it all by hand, I decided to review GitHub Copilot (inside VSCode) combined with GPT-4.1 to see how well they could handle a real-world cross-platform porting task.

This wasn’t a greenfield project. Instead, it was a test of AI’s ability to understand and translate existing native code, something that requires more than just code generation. It requires real analysis and architectural thinking.

Below is my honest review based on hands-on usage.


🧪 Setup:

  • Project: React Native app with native keyboard extensions
  • Tools:
    • GitHub Copilot in VSCode
    • ChatGPT GPT-4.1 model as a “free” context-aware assistant
  • Goal: Re-implement my iOS Swift keyboard extension as an Android Kotlin keyboard

⚙️ GitHub Copilot in VSCode: smooth and productive

Integration & usability

  • Copilot is deeply integrated into VSCode, and it shows. Adding context, dragging files in, managing edits. It’s all seamless.
  • The UI/UX is fast, responsive, and easy to understand, which made staying in flow much easier.

Speed & efficiency

  • I was able to work 3–5x faster compared to my typical process. Copilot was particularly helpful when generating new files or boilerplate.
  • Code suggestions were smart most of the time, but still required frequent vetting.

🤖 GPT-4.1 Model Performance: smart, but not flawless

✅ What GPT-4.1 did well

  • Great initial understanding: It broke down my iOS Swift code, created a plan, and began producing Kotlin files with solid structure.
  • Functional results: After addressing a few compilation errors, the Android keyboard was working. A huge win for just minutes of prompting.
  • Handled ~75% of follow-ups: UI tweaks, logic changes, and bug fixes were usually solid.

❌ Where it struggled

  • Didn’t compile out of the gate: Common issue where GPT suggested code that looked right, but didn’t compile until I stepped in.
  • Occasional hallucinations: It sometimes invented classes, misread error messages, or misunderstood Android lifecycle nuances.
  • Slower for precise changes: When I needed fine-tuned control or niche Android-specific behaviors, it was faster to just do it myself.

⚖️ Key insight: AI is a great tool, but not a replacement (yet)

This experience reinforced a core truth about AI coding tools:

The more existing context a project has, the more likely AI is to get things wrong.

In a brand-new project, AI can take the reins more freely. But when porting from one platform to another, with custom logic and unique UI quirks, a skilled developer is still essential to guide, supervise, and clean up after the AI.

As a developer, I was able to:

  • Catch architectural mistakes before they snowballed
  • Prompt intelligently to recover from missteps
  • Understand and fix errors Copilot/GPT couldn’t resolve alone

🏁 Final verdict: GitHub Copilot + GPT-4.1 review scores

Category Rating
Integration/UI ⭐⭐⭐⭐⭐
Speed Boost ⭐⭐⭐⭐☆
Code Accuracy ⭐⭐⭐☆☆
Bug Handling ⭐⭐☆☆☆

Overall, AI is a powerful teammate, not an autonomous developer. Used correctly, it can accelerate your work, but it’s not ready to replace real engineers for non-trivial, production-ready codebases.


💬 Have you tried AI in your editor?

Have you used GitHub Copilot, Cursor, or the ChatGPT extension for VSCode? What did you build or rebuild?

Drop a comment below and share your experience 👇

And if this post helped you, please consider liking, sharing, or saving it to support more practical reviews like this.


🔗 Useful Links

Want to share this?