JavaScript, Programming, Software Development
Just Ship It

I Built a Mobile App with Zero React Native Experience (and Shipped It)

A few months ago, I set a personal goal: build and launch a mobile app using React Native.

I had never touched React Native before. I just wanted to learn something new. I picked an idea that was small and simple enough to execute, and I went for it.

I had built a mobile app before—about 10 years ago using Java—but this was different. I wanted to get a stronger grip on TypeScript, improve my understanding of JavaScript, and actually ship something. No tutorials. No half-finished side projects. Just launch.

What surprised me most? The process wasn’t as intimidating as I expected. The learning curve was real, but manageable. I leaned on AI a few times to help clarify things, especially when types got tricky. I reminded myself: I always figure things out.

There were a few key breakthrough moments:

  • Getting the date picker working seamlessly on both Android and iOS.
  • Debugging a frustrating issue where text meant to be vertical wasn’t rendering correctly on load.
  • Discovering the legend app state library, which helped me better understand stores in Vue.

The hardest part? Building the app for deployment without paying. That part nearly broke me. I thought out of all things, that would be the easiest. If you use their service, it’s easy and straightforward which is what I ended up doing.

It took me about three months, start to finish. I didn’t obsess over perfect architecture or pristine code. The types were a bit messy. My main component could’ve been broken into smaller pieces. But I shipped it. That was the win.

I ended up launching the app, BJJ Belt Log, on the App Store. It helps track your belt progress.

There are a lot of parallels to training in Brazilian Jiu-Jitsu. In BJJ, when you’re tired, your body tells you to quit. But you learn to push through. You develop grit. Same applies here. There were many nights when I wanted to do something else or play video games, but I continued to push.

If you wait until everything’s perfect, you’ll never launch. You just have to start, and keep going.

So here’s my advice:

  • Be curious.
  • Try something new.
  • Don’t wait until the time is right.
  • Ship, even if it’s not perfect.

It was a great experience. I learned a lot. And I’d do it again.

If you’ve been on the fence about building something—web, mobile, whatever—just go for it. You’ll surprise yourself.

Share this Story
Load More Related Articles
Load More By Nick Escobedo
Load More In JavaScript

Check Also

Why Definition of Ready Protects a Dev Team and the Role of an Engineering Manager

When a dev team is stuck, blocked, or forced to carry tickets into the next sprint, tickets that aren’t ready are often to blame. One of the biggest hidden productivity drains is work that sounds ready but isn’t. Protecting a team’s time means protecting the work that comes in, not just how the work gets done.