A WhatsApp clone built with React Native and Expo, featuring real-time chat, authentication, and a clean user interface.
- User authentication with phone number (via Clerk)
- Real-time chat messaging
- Call logs and community sections
- Responsive UI for various screen sizes
- Built with Expo Router for seamless navigation
- React Native
- Expo
- Expo Router
- Clerk (for authentication)
- Gifted Chat (for chat UI)
- date-fns
- react-native-reanimated
- react-native-gesture-handler
- react-native-safe-area-context
- react-native-screens
Here are some visual demonstrations of the application's features:
| Chats | Calls | Updates |
|---|---|---|
![]() |
![]() |
![]() |
-
Authentication Screen: The initial screen where users enter their phone number to authenticate.

-
Chat List: Displays a list of active conversations, showing recent messages and contact information.

-
Individual Chat View: The interface for sending and receiving messages within a specific conversation.

-
Settings Page: Provides options for users to customize their application experience.

-
Other Screens:
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/whatsapp-clone.git cd whatsapp-clone -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory and add your Clerk publishable key:EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=YOUR_CLERK_PUBLISHABLE_KEYReplace
YOUR_CLERK_PUBLISHABLE_KEYwith your actual Clerk publishable key. -
Run the application:
npm start
This will open the Expo Dev Tools in your browser. You can then choose to run the app on:
- An Android emulator/device (
a) - An iOS simulator/device (
i) - A web browser (
w)
- An Android emulator/device (
- Authentication: Upon launching the app, you will be prompted to enter your phone number for authentication.
- Navigation: Use the bottom tabs to navigate between Chats, Calls, and Updates.
- New Chat: Click the new chat icon to start a new conversation.
Contributions are welcome! Please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.







