A React Native recreation of the X (formerly Twitter) mobile interface. It walks through the onboarding flow — welcome, sign in, password reset, registration — and lands in a five-tab app with Home, Explore, Grok, Notifications and Messages, plus profile, post detail, bookmarks and chat screens.
The UI copy is Turkish, the code and documentation are English. Dark and light themes come from a single token layer. This is an educational interface study: the only X brand artwork is one supplied logo image, and no asset is taken from the X apps.
- Onboarding with sign in, password reset and registration through a native date picker
- Home timeline with post cards, likes, reposts, bookmarks and a floating composer
- Post detail with a reply composer and the replies stored in app state
- Composer with text limits and photo selection from the device gallery
- Profile and edit-profile screens with editable name, bio, location and avatar
- Explore with search, category tabs, headlines and trends
- Grok prompt suggestions with an in-memory conversation history
- Notifications, a searchable inbox and a per-conversation chat screen
- Drawer with profile stats and a light/dark switch that persists across launches
| Home | Explore | Profile | Compose |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
More screens live in docs/screenshots.
| Platform | Tooling |
|---|---|
| Both | Node.js 22 or newer with npm |
| iOS | Xcode 16.1+ and CocoaPods 1.13+ |
| Android | JDK 17+ and the Android SDK (platform 37, build-tools 37, NDK 27.1.12297006) |
npm installThe install also applies the fix stored in patches/ through patch-package. It is
required: without it the native builds fail on React Native 0.87.
cd ios && pod install && cd ..
npm run iosThe project targets iOS 15.1 and adopts the UIScene lifecycle, which iOS 26 and newer
require.
Gradle needs a JDK 17 or newer on JAVA_HOME. Android Studio already ships a compatible
one:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
npm run androidnpm test
npm run lintREADME.md is the landing page. Architecture, design system, data layer, assets and native
notes live in PROJECT.md.
Released under the MIT License. Third-party assets and their licences are listed in THIRD_PARTY_NOTICES.md. The X name and mark belong to their respective owners; this project is not affiliated with or endorsed by them.



