My First React Native Expo Android App: KriCal
Building mobile apps is always exciting, especially when you get to create something useful from scratch. In this blog, I’ll walk you through how I built my very first React Native app using Expo — a calculator app named KriCal. I’ll share the entire development journey, including the code snippets, commands, and libraries I used.
Why React Native + Expo?
React Native lets you build cross-platform mobile apps using JavaScript and React. Expo makes this process easier by providing a managed workflow, so you don’t need to deal with native build tools directly.
Step 1: Setting Up the Environment
First, install Node.js (if you haven’t already) from nodejs.org
Next, install the Expo CLI globally:
Step 2: Create a New Expo Project
Create a new React Native project using Expo:
Command : expo init KriCal
Choose the blank (TypeScript or JavaScript) template (I used JavaScript for this project).
Navigate into the project folder:
Step 3: Run the App Locally
Start the development server:
This will open Expo Dev Tools in your browser. You can run the app on your phone via the Expo Go app (available on Android and iOS) by scanning the QR code.
Step 4: Our Folder Structure like this:
Step 5: Installing Dependencies
For my calculator app, I mainly used React Native’s built-in components. Here are the packages I installed:
- react-native-safe-area-context – To handle device safe areas (notches, status bars).
- expo-screen-orientation – To manage screen dimensions and orientation if needed.
Install them with:
(Optional: If you use other libraries like vector icons or gesture handlers, you can add those too.)
Step 6: Building the Calculator UI and Its all Operations
I designed a simple but responsive UI using SafeAreaView, View, Text, TouchableOpacity, and ScrollView components.
Here’s a snippet of the UI layout for the calculator display and buttons:
Here’s a snippet of the UI layout for the calculator display and buttons:
Step 7: Adding CSS Styling
This is the CSS style for the components used in this app :
Step 8: Created Basic Navbar
Step 9: Adding History Feature
One useful feature I added was saving calculation history so users can tap previous calculations and reuse them.
I used a state variable history (an array) and updated it whenever the user presses = with a valid result.
Example:
Then I displayed this history in a ScrollView, allowing tapping a history item to set it back in the input:
Step 10: Building APK using EAS Build
Expo Application Services (EAS) allows building Android and iOS binaries easily.
Installing EAS CLI
Logging into Expo
Configure your project for EAS build
Building Android APK
After the build finishes, Expo provides a public URL to download your APK.
Note: For iOS, you need an Apple Developer account, which is required to build iOS apps.
Final Thoughts
Building KriCal was a great learning experience. React Native + Expo made it straightforward to build, test, and deploy my app quickly. The app features a clean UI, history saving, and smooth usability with no unnecessary permissions, making it safe and lightweight.
If you want to try the app or check the source code, I’m happy to share it — just ask!
Even You Can Checkout this Calculator App APK by downloading it in your Android Phone:
here is the Link - Download Here
Follow me on :
Linkedin - Krishna Shrivastava
Portfolio - Krishna Shrivastava



