Building my first mobile application was both challenging and rewarding. As a tech intern learning mobile application development, I wanted to move beyond tutorials and create a project that could solve a real problem. That motivation led me to build DahveedCalc, a mobile application designed to help students calculate, track, and predict their academic performance.

The app allows students to calculate their GPA, monitor their CGPA, save academic records, and predict future academic outcomes based on expected grades. In this article, I will share how I built my first mobile application using React Native and Expo, the technologies I used, the challenges I encountered, and the lessons I learned along the way.

Before writing any code, I needed to decide which technologies to use for the project. I chose React Native because it allows developers to build mobile applications using JavaScript and React concepts while targeting both Android and iOS from a single codebase.

To simplify the development process, I used Expo, a framework built around React Native. Expo made it easier to set up the project, run the application, manage development tools, and test the app on an Android emulator.

For navigation, I used Expo Router, which helped me organise the different screens in the application. I also used Firebase for user authentication and Firestore for cloud data management. For locally storing academic records, I used AsyncStorage.