Skip to content

Eul45/EyuXBeta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EyuX: The Supercharged AI Chat Experience

EyuX Logo



A feature-rich, multi-personality AI chat and productivity app built with React Native & Expo.

Stars Forks License


EyuX Web Demo

EyuX is more than just a chatbot. It's a versatile mobile and web companion designed to be your assistant, entertainer, and productivity partner. Powered by Google's Gemini models, it features dynamic AI personalities, live web search, AI image generation, interactive code execution, long-term memory, and extensive customization options, all wrapped in a sleek, animated, and user-friendly interface.


πŸ—οΈ Project Structure & Architecture

Below is the current project structure, designed for clarity, scalability, and ease of navigation:

EYUXBETA
β”œβ”€β”€ app
β”‚   └── (tabs)
|       β”œβ”€β”€ index.tsx             // NOW: A clean entry point that renders the main App component.
β”‚       └── storybook.tsx
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ api                       // For all external API call logic.
β”‚   β”‚   β”œβ”€β”€ geminiService.ts
β”‚   β”‚   └── tavilyService.ts
β”‚   |
β”‚   β”œβ”€β”€ components                // Reusable UI components.
β”‚   β”‚   β”œβ”€β”€ animated              // Purely aesthetic animated components.
β”‚   β”‚   β”‚   β”œβ”€β”€ AnimatedBackground.tsx
β”‚   β”‚   β”‚   └── StarryBackground.tsx
|   |   |──  AgenticIDE.tsx        // Interactive Code Editor & Previewer
|   |   |── DrawingCanvasModal.tsx // Sketching tool
|   |   |── FlashcardGenerator.tsx // UI for generating cards
|   |   |── FlashcardViewer.tsx   // Interactive Flip-card viewer
|   |   |── MermaidViewer.tsx     // Diagram renderer
|   |   |── SideImageViewer.tsx   // Desktop-specific split-view image viewer
|   |   |── TrialBanner.tsx       // Trial system UI
|   |   |── PythonCell.tsx        // Executes Python codes
β”‚   β”‚   β”œβ”€β”€ chat                  // Components specific to the chat screen.
β”‚   β”‚   β”‚   β”œβ”€β”€ ActiveModeIndicator.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ AnimatedChatTitle.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatInput.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ImageGenerationPlaceholder.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ MessageItem.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ SpeechControlToast.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ TypingIndicator.tsx
β”‚   β”‚   β”‚   └── WebSearchLoader.tsx
β”‚   β”‚   β”œβ”€β”€ common                // Generic components used across the app.
β”‚   β”‚   β”‚   β”œβ”€β”€ CodeBlock.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ EyuxLogo.tsx
β”‚   β”‚   β”‚   └── GoSuperEyuxButton.tsx
β”‚   β”‚   β”œβ”€β”€ modals                // All modal components.
β”‚   β”‚   β”‚   β”œβ”€β”€ ApiKeyPromptModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ChatOptionsMenu.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CodeCanvas.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ FoldersScreen.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ GuidanceModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ImageViewerModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ MemoriesModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ MoveToFolderModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ RenameModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ SchedulesModal.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ SelectionModal.tsx
β”‚   β”‚   β”‚   └── SuperEyuXScreen.tsx
β”‚   β”‚   └── navigation            // Components related to navigation (like the drawer).
β”‚   β”‚       └── Drawer.tsx
β”‚   β”œβ”€β”€ constants                 // All application constants.
β”‚   β”‚   β”œβ”€β”€ api.ts
β”‚   β”‚   β”œβ”€β”€ app.ts
β”‚   β”‚   β”œβ”€β”€ personalities.ts
|   |   β”œβ”€β”€ flashcard.ts 
β”‚   β”‚   └── storage.ts
β”‚   β”œβ”€β”€ contexts                  // For React Context providers.
β”‚   β”‚   └── ToastContext.tsx
β”‚   β”œβ”€β”€ hooks                     // Custom React hooks.
β”‚   β”‚   β”œβ”€β”€ useNavigationBarStyler.ts
β”‚   β”‚   └── usePrevious.ts
β”‚   β”œβ”€β”€ screens                   // Top-level screen components.
β”‚   β”‚   β”œβ”€β”€ ApiKeySetupScreen.tsx
β”‚   β”‚   β”œβ”€β”€ ChatScreen.tsx
β”‚   β”‚   β”œβ”€β”€ OnboardingScreen.tsx
β”‚   β”‚   └── SettingsNavigator.tsx   // A new component to manage settings navigation.
β”‚   β”œβ”€β”€ services                  // Services for managing device features.
β”‚   β”‚   β”œβ”€β”€ fileService.ts
β”‚   β”‚   β”œβ”€β”€ notificationService.ts
β”‚   β”‚   └── storageService.ts
β”‚   β”œβ”€β”€ types                     // Centralized TypeScript types and interfaces.
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ utils                     // Helper functions.
β”‚   β”‚   β”œβ”€β”€ systemInstructions.ts
|   |   β”œβ”€β”€ TrialBanner.tsx       // Trial system UI
|   |   β”œβ”€β”€ webNotifications.ts   // Web-specific push notification handler
|   |   β”œβ”€β”€
β”‚   └── App.tsx                   // The main application component (formerly AppContent).
β”œβ”€β”€ assets                    // Stays as is (fonts, images).
β”œβ”€β”€ package.json
└── ... (other root config files)

πŸ”’ Security & Data Flow Overview

EyuX Architecture Diagram

πŸ–ΌοΈ Feature Overview

πŸ–₯️ Desktop & Web Experience

EyuX on the web utilizes the full screen real estate for a powerful dashboard experience.

Split-View Image Preview Multi-Thread Tree Visualization
Split View
Clicking an image opens it in a dedicated sidebar without blocking the chat history.
Tree View
Visualize complex conversation paths and navigate branches like a node graph.

πŸ› οΈ Developer & Study Tools

Agentic IDE (Code Canvas) Interactive Flashcards and more
Code Canvas
Edit and Run HTML/CSS/JS code generated by the AI in a live sandbox.
Flashcards
Turn conversation topics into study decks with flip animations.

🧠 Mermaid Diagram Visualization

Mermaid Diagram Rendering
Mermaid Diagram
Generate and visualize flowcharts, sequence diagrams, and system architectures directly from Mermaid syntax.

🐍 Python Data Analysis (Client-Side)

In-Browser Python Engine
Python Data Analysis
Powered by Pyodide (WASM). Executes Python code, calculates math/stats with NumPy/Pandas, and renders Matplotlib charts directly in the chat interface without a backend.

EcodeX Multi-File Agentic IDE

Agentic EcodeX (separate)
Code Canvas
Build & Edit any code file + Run HTML/CSS/JS code generated by the AI in a live sandbox.
Flashcards
Create multi-file projects (HTML/CSS/JS/Python/TSX), review streaming diffs, and export.

πŸ“± Mobile app & Interactive UI

Optimized for touch, haptics, and quick interactions on Android.

Data Visualization Live Web Search Polls & Interaction
Data Charts

Native rendering of Bar, Line, and Pie charts for data analysis.
Web Search

Real-time browsing with cited sources, summaries, and deep links.
Interactive Polls

Interactive widgets and polls for instant decision making.

✨ Features Showcase

EyuX is packed with features that create a truly interactive and intelligent chat experience.


🧠 Core AI Capabilities

  • πŸ€– Dynamic Personalities: Instantly switch the AI's personaβ€”from a helpful Assistant to a chaotic Storyteller, a witty Gen Z, or even an Unhinged AI.
  • 🌐 Live Web Search: The AI automatically detects when it needs fresh information and uses the Tavily API to search the web for real-time events, news, and data.
  • 🎨 AI Image Generation: Generate images directly in the chat by describing what you want to see using the /imagine command.
  • 🌿 Multi-Thread Branching: Visualize your conversation as a tree! Branch off from any message to explore different outcomes without losing the original context.
  • πŸ•΅οΈβ€β™‚οΈ Agent Mode: Capable of executing multi-step complex tasks (e.g., "Research X, summarize it in a table, and save it to a folder").
  • πŸ’Ύ Intelligent Memory: EyuX remembers key facts you share, creating a continuous, personalized conversation. You can also manage these memories manually.
  • ⏰ Effortless Reminders: Set reminders using natural language (e.g., "remind me to check the oven in 10 minutes"), and EyuX will schedule a device notification.
  • πŸ”„ Multi-Model Support: Switch between different Google Gemini models (e.g., Flash 2.0, Flash 2.5) right from the sidebar to balance speed and power.
  • **πŸ”„ Google Drive Cloud Sync: (Web Beta) ** seamless backup and sync of your history across devices using your Google Drive.

πŸŽ“ Study & Developer Tools

  • ⚑ Interactive Flashcards: Automatically generate study flashcards from any conversation and review them in a flip-card interface.
  • πŸ“Š Data Visualization: Renders interactive Line, Bar, and Pie charts directly from data provided by the AI.
  • πŸ§œβ€β™€οΈ Mermaid Diagrams: Renders complex flowcharts, sequence diagrams, and mind maps from text descriptions using Mermaid.js syntax.
  • πŸ’» Agentic IDE: An interactive coding canvas to edit, run, and preview HTML/CSS/JS code generated by the AI.
  • πŸ“ LaTeX Math Support: Beautiful rendering of complex mathematical equations.

πŸ“± User Experience & Interface

  • 🎨 Rich Message Rendering: Full Markdown support for text formatting, plus beautifully rendered code blocks with syntax highlighting and a one-click copy button.
  • πŸ–ΌοΈ Interactive Code Canvas: When the AI provides web code (HTML/CSS/JS), you can open it in an interactive canvas to edit and run it live in a WebView.
  • πŸ“Ž Versatile Attachments: Enhance your prompts by attaching images from your gallery, taking a photo, or uploading documents.
  • πŸ—£οΈ Text-to-Speech: Have the AI's responses read aloud with an intuitive speech control bar that shows progress.
  • πŸ’… Deep Customization: Full Dark & Light Mode support. Personalize chat bubble colors for both you and the AI.
  • ✨ Rich Animations: The UI is full of smooth, delightful animations, from the "Super EyuX" screen transition to the animated chat titles and starry backgrounds.

πŸ—‚οΈ Organization & Data Management

  • πŸ—‚οΈ Chat Folders: Organize your conversations into custom folders.
  • πŸ€– Automatic Organization: Let the AI automatically categorize new chats into the most relevant folder.
  • πŸ’Ύ Full Backup & Restore: Export all your chats, folders, settings, and memories to a single JSON file and import it on any device.
  • πŸ”‘ Secure API Key Management: Easily add and update your API keys in a dedicated settings screen.

πŸ› οΈ Tech Stack

  • Framework: React Native with Expo
  • AI: Google Generative AI (Gemini) & Tavily AI for Web Search
  • State Management: React Hooks (useState, useContext, useCallback)
  • Animations: React Native Reanimated
  • Local Storage: AsyncStorage (Local) & Google Drive API (Cloud)
  • Graphics/Charts: react-native-svg, react-native-chart-kit
  • UI Components: @expo/vector-icons, react-native-markdown-display, react-native-webview
  • Math/Diagrams: react-katex, react-native-webview (for Mermaid/HTML)

🀝 Project Status & Collaboration

This project is actively developed and used in production.
The core source code is not open-source, as it’s part of a live product and ongoing development.

You can still contribute by:

  • Reporting bugs or issues
  • Suggesting new features or improvements
  • Giving UX, performance, or scalability feedback
  • Sharing ideas or use-cases

Collaboration

For serious collaboration, partnership, or research opportunities, feel free to reach out directly:

πŸ“© Email: eyutechservices@gmail.com
πŸ’¬ Telegram: @Eul_zzz


Thank you for your interest and support!


πŸ™ Acknowledgments

  • Expo Team for their incredible tools and platform.
  • Google for the powerful Gemini models.
  • Tavily for the excellent search API.
  • All the creators of the open-source libraries used in this project.
</> Made by Eyuel Engida

About

A sleek AI-powered chat app with dynamic personalities, image generation, web search, and voice. Built with React Native & Expo. Web: https://eyux.vercel.app | Android: https://eyux.en.uptodown.com/android

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors