Skip to content

How to Set Up React Native Expo with No Coding Background: Complete Beginner's Guide

I wanted to build a mobile app, but I had zero coding background. Every tutorial I found assumed I knew something—anything—about development. They talked about “native builds,” “bundlers,” and “compilers” like these were everyday concepts. I got frustrated and almost quit.

Then I discovered Expo Go. It changed everything. Instead of spending days configuring build tools, I was running my first app within an hour. Here’s the exact setup that worked for me.

The Real Problem for Beginners

The barrier to entry for mobile development isn’t the code itself—it’s the infrastructure. Traditional React Native setup requires:

  • Android Studio (5+ GB download)
  • Xcode (Mac only, 10+ GB)
  • JDK configuration
  • Environment variable management
  • Native build toolchains

For someone who doesn’t know what a “PATH variable” is, this is overwhelming. I spent my first week just trying to get the Android emulator to work. I never even got to write code.

Expo Go eliminates all of this. You install one app on your phone, scan a QR code, and see your changes instantly. It’s like having a development environment in your pocket.

What You Actually Need

I’ll be direct. You need three things:

  1. Node.js - This runs JavaScript outside a browser. It’s the foundation.
  2. A terminal - Already on your Mac (Terminal.app) or Windows (PowerShell/CMD).
  3. Expo Go app - Free download from App Store or Play Store.

That’s it. No Android Studio. No Xcode (yet). No environment variables to configure.

Step 1: Install Node.js

Node.js is the runtime that executes JavaScript code. Without it, nothing else works.

I went to nodejs.org and downloaded the LTS version. LTS means “Long Term Support”—it’s the stable version recommended for most users.

After installation, I opened my terminal and ran:

Check Node.js installation
node --version

I saw v20.11.0 (your version might be different). If you see a “command not found” error, restart your terminal and try again. If it still doesn’t work, the installation didn’t complete correctly.

Also check npm (Node’s package manager):

Check npm installation
npm --version

I got 10.2.4. npm comes bundled with Node.js, so this should work automatically.

Common Installation Issues

On macOS: If you have Homebrew installed, you can also use:

Install Node.js via Homebrew
brew install node

On Windows: The installer from nodejs.org works fine. Make sure to check “Add to PATH” during installation.

Permission errors: If you get “EACCES” errors later when installing packages, don’t use sudo. Instead, configure npm to use a different directory. But cross that bridge when you come to it—I didn’t need to.

Step 2: Create Your First Expo Project

Now comes the exciting part. I created a new project with one command:

Create new Expo project
npx create-expo-app my-first-app

npx is a tool that comes with npm. It runs packages without installing them globally. I didn’t need to run npm install -g create-expo-app first—npx handles everything.

The command downloaded a template and set up the project structure. It took about two minutes on my internet connection. When it finished, I saw:

Terminal output after project creation
✅ Your project is ready!
To run your project, navigate to the directory and run:
cd my-first-app
npx expo start

I navigated into the project:

Navigate to project directory
cd my-first-app

Step 3: Start the Development Server

Inside the project directory, I ran:

Start Expo development server
npx expo start

A QR code appeared in my terminal, along with some options:

Expo CLI output with QR code
› Press a │ open Android
› Press i │ open iOS simulator
› Press w │ open web
› Press r │ reload app
› Press m │ toggle menu
› Press j │ open DevTools
› Press ? │ show all commands
[QR CODE HERE]

The server was running. Now I needed to see the app on my phone.

Step 4: Run the App on Your Phone

I had Expo Go already installed on my iPhone from the App Store. (Android users can get it from the Play Store.)

Here’s what I did:

  1. Opened the Expo Go app on my phone
  2. Scanned the QR code shown in my terminal (on iPhone, I used the Camera app)
  3. The app loaded

I saw a blank white screen with some text that said “Open up App.js to start working on your app!”

It worked. My first mobile app was running. I hadn’t written a single line of code yet, but I had a working development environment.

Making Changes and Seeing Them Instantly

The real magic of Expo Go is hot reloading. I opened the App.js file in my project folder with any text editor. I changed the text to:

App.js
import { StatusBar } from 'expo-status-bar';
import { StyleSheet, Text, View } from 'react-native';
export default function App() {
return (
<View style={styles.container}>
<Text>Hello, world! This is my first app!</Text>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});

I saved the file. Within seconds, my phone showed the new text. No rebuild. No refresh. It just updated.

This immediate feedback loop is what makes Expo Go so powerful for beginners. I could experiment, make mistakes, and see results instantly.

What About Mac Users and iOS Development?

If you’re on a Mac and want to eventually publish to the App Store, you’ll need Xcode. But here’s the key insight: you don’t need Xcode to learn React Native.

Stay in Expo Go as long as possible. I spent two months building entire apps in Expo Go before I ever opened Xcode. By the time I needed native builds, I was comfortable with React Native itself.

When you’re ready for Xcode, install it from the Mac App Store. It’s a large download (over 10 GB), so start it before you go to bed. Once installed, you can run:

Run on iOS Simulator (Mac only)
npx expo start
# Then press 'i' in the terminal

Expo will open the iOS Simulator automatically.

What About Android?

Android users have two options:

  1. Use Expo Go on a physical device (recommended for beginners)
  2. Use an Android emulator

For the emulator, you’d need Android Studio. But again, I recommend staying with Expo Go on your phone for as long as possible. The emulator adds complexity that beginners don’t need.

Common Mistakes I Made

Mistake 1: Trying to configure too much

I spent my first day trying to set up ESLint, Prettier, and TypeScript before I’d written my first component. Don’t do this. The Expo template works out of the box. Configure tools later, when you understand what problems they solve.

Mistake 2: Not reading error messages

When something failed, I panicked. I’d paste errors into Google without reading them first. Most errors tell you exactly what’s wrong. Take 30 seconds to actually read the message.

Mistake 3: Skipping Node.js version requirements

Some tutorials recommended specific Node.js versions. I tried to use a version manager (nvm) before I understood why it mattered. For beginners, just use the LTS version from nodejs.org. It works.

Getting Help When Stuck

The Expo documentation is genuinely good. I found answers at docs.expo.dev for most of my questions.

If you’re using AI assistance (like Claude), be specific about your setup:

  • “I’m on macOS Sonoma with Node.js 20.11.0”
  • “I’m using Expo Go on an iPhone 14 running iOS 17”
  • “I created my project with create-expo-app”

The more context you provide, the better help you’ll receive.

When to Leave Expo Go

Expo Go covers most use cases, but you’ll eventually hit its limits. You’ll know it’s time to move to a “development build” when you need:

  • Custom native code
  • Libraries that require native compilation
  • Specific device features not available in Expo Go

The Expo team has made this transition smooth. You can run:

Create development build
npx expo prebuild

This generates the native iOS and Android projects. But don’t rush this step. Stay in Expo Go until you have a real reason to leave.

Summary

My setup process boiled down to:

  1. Install Node.js from nodejs.org
  2. Run npx create-expo-app my-first-app
  3. Run npx expo start inside the project
  4. Scan QR code with Expo Go app on my phone
  5. Edit App.js and see changes instantly

Total time: under 30 minutes. Zero coding background required. No Android Studio. No Xcode (at first). No environment variable headaches.

Expo Go is the path I wish I’d found on day one. Instead, I wasted a week on complex setups that taught me nothing about building apps. If you’re starting from zero like I was, trust me: this is the way.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments