Six months ago, I would not have called myself an app developer.

I could design products. I could ship web apps. I could read native code well enough to be dangerous. But building a real iOS and Android app, end to end, felt like a different category altogether.

Today, I am confidently building a React Native app for iOS and Android.

Not as an experiment. Not as a prototype. As a real companion app for Joinride.cc, my hobby project.

That still feels slightly unreal.


The skill gap that used to be real

This is not a fake “anyone can do anything” story.

Six months ago, the gap was real.

React Native meant platform quirks, build pipelines, native modules, App Store rules, Android oddities, signing, provisioning, and debugging things that only break on one specific device at the worst possible time. None of that is conceptually hard, but the surface area is massive.

Traditionally, you cross that gap by spending months in documentation, Stack Overflow threads, broken builds, and trial and error. You earn it through repetition and frustration.

I did not do that.


What changed

Two tools became part of my daily workflow in a very real way.

GitHub Copilot. Claude.

Not as autocomplete toys. As collaborators.

I stopped thinking in terms of “I need to learn all of this first” and started thinking in terms of “I need to understand enough to ask the right questions.”

That shift matters.

I can describe intent clearly. I can reason about product behavior. I can spot bad UX, leaky abstractions, and brittle logic. What I lacked was speed and confidence in unfamiliar technical terrain.

AI filled that gap.

Not by hiding complexity, but by making it navigable.


Building the Joinride companion app

The app I am building is not ambitious by startup standards.

It is a focused companion app for Joinride.cc. Opinionated. Purposeful. Useful.

It uses React Native. It ships to iOS and Android. It talks to a real backend. It handles authentication, navigation, state, notifications, and all the small details that separate a prototype from a real product.

And I am not guessing my way through it.

I understand what I am building. I understand why things work. I also understand when they do not.

That is the difference.


The Matrix moment

There is a scene in The Matrix where Neo opens his eyes and calmly says:

“I know Kung-Fu.”

That scene is often misread as instant mastery.

It is not about becoming the best fighter. It is about removing the barrier between intent and execution.

That is exactly how this feels.

I did not suddenly become a senior mobile engineer. I did not absorb ten years of experience overnight.

But the wall is gone.

I can look at a feature and think: yes, I can build that. I know where to start. I know how to debug it. I know how to ship it.

That confidence is new.


What this means beyond mobile

This is not really a mobile development story.

It is a leverage story.

AI did not replace learning. It changed the order of operations. I learn while building, not before. I explore while shipping, not in isolation.

For side projects like Joinride, this is massive. Ideas are no longer blocked by missing specialists. Curiosity turns into real software much faster.

It also changes how I think about my own role.

I am still a product person. Still design-driven. Still opinionated about UX.

But the set of things I can personally execute just expanded. Significantly.


Closing thought

Six months ago, this app would have stayed a Figma file and a vague “maybe one day.”

Today, it is something people can actually install.

That difference is not talent.

It is leverage.

And once you feel it, you do not really go back.