Screenshot welcome page to Chat App

Chat App

A Case Study in Cross-Platform Mobile Development

What to be done?

The objective of this project was to build a cross-platform mobile chat application for iOS and Android. As the sole developer, I was responsible for the entire build...

My Role

Sole Developer

Responsible for mobile UI/UX, Firebase integration, and native feature access.

Duration

~6 Weeks

(April 2025 – May 2025)

Tech Stack

  • React Native
  • Expo
  • Google Firebase (Firestore)
  • Google Firebase (Authentication)
  • GiftedChat
  • React Navigation

The Process & Challenges

Building a mobile app presented a new set of challenges, from managing a real-time data flow to accessing native device features like the camera and GPS.

Challenge 1: Backend: Implementing Real-Time Data Flow

Problem: A chat app's core requirement is real-time communication...

Solution: I integrated Google Firebase as the backend-as-a-service (BaaS)...

Visual Proof: Real-Time Firestore Listener

Screenshot of the onSnapshot code from Firebase

Challenge 2: UI/UX: Building a Native Chat Interface

Problem: Building a chat UI from scratch (bubbles, input fields, avatars) is complex...

Solution: To create a professional and functional chat interface, I implemented the GiftedChat library...

Visual Proof: App Navigation & UI

Screenshot of the Welcome Screen
Screenshot of the GiftedChat UI

Challenge 3: Device Integration: Accessing Native Features

Problem: The app needed to go beyond text and access native device features like the camera, photo library, and location services.

Solution: Using Expo's APIs, I integrated functionality to request user permissions for device features...

Visual Proof: Native Feature Integration

Screenshot of the chat input showing camera, photo, and location buttons

The Final Solution

The result is a fully functional, cross-platform mobile chat application. It provides real-time, authenticated messaging, along with image and location sharing.

Chat App user flow demonstration

Key Learnings & Future Steps

Key Learnings

This project was my introduction to mobile development and the power of React Native.

Future Steps

The next steps are to scale the app's features:

  • Implement multiple chat rooms
  • Add user "typing..." indicators
  • Store images in Firebase Storage for performance
  • Add "online/offline" presence status

View the Project