CODEX is a modern, responsive MVP web app that serves as an AI-powered chat assistant with file-based reasoning (RAG). Built with React Native and Expo, it provides a clean, minimal, and visually appealing interface for intelligent conversations.
- Clean, minimal interface inspired by modern chat applications
- Smooth animations and transitions
- Mobile-first responsive design
- Professional typography and spacing
- Splash Screen: Always shows on app launch with fade-in animation
- Onboarding: First-time setup for personalized experience
- Chat Interface: Main screen with ChatGPT-like interface
- Persistent Data: Remembers user and chat history
- Simulated AI responses with context awareness
- File upload support (PDF, TXT, CSV)
- RAG-enhanced responses when files are uploaded
- Loading states and typing indicators
- Upload and manage multiple files
- File metadata display (name, size, type)
- Enhanced AI responses based on uploaded content
- Secure local storage
- Node.js (v16 or higher)
- Expo CLI
- Android Studio (for Android development) or Xcode (for iOS)
-
Clone the repository
git clone <repository-url> cd codex
-
Install dependencies
bun install # or npm install -
Start the development server
# For online mode bun run start # For offline mode (recommended if network issues) EXPO_OFFLINE=1 bun run start
-
Run on devices
# Android bun run android # iOS bun run ios # Web bun run web
app/
├── _layout.tsx # Root layout with navigation setup
├── index.tsx # Splash screen with loading animation
├── onboarding.tsx # First-time user setup
└── chat.tsx # Main chat interface
components/ # Reusable UI components (if needed)
assets/ # Images and static assets
constants/ # App constants and themes
- Framework: React Native with Expo
- Navigation: Expo Router (file-based routing)
- Storage: AsyncStorage for local data persistence
- File Handling: react-native-document-picker
- Icons: Expo Vector Icons (Ionicons)
- Styling: React Native StyleSheet (modern design system)
- Primary:
#3B82F6(Blue-500) - Text Primary:
#111827(Gray-900) - Text Secondary:
#6B7280(Gray-500) - Background:
#FFFFFF(White) - Surface:
#F3F4F6(Gray-100) - Border:
#E5E7EB(Gray-200)
- Offline Mode: Use
EXPO_OFFLINE=1if experiencing network issues - Hot Reloading: Save files to see changes immediately
- Debugging: Use
console.logand React Developer Tools - Testing: Test on both iOS and Android for consistency
This project is licensed under the MIT License.