expo-ai  by EvanBacon

AI chat app demo built with Expo Router

created 7 months ago
733 stars

Top 48.2% on sourcepulse

GitHubView on GitHub
Project Summary

This project demonstrates an AI chat application built with Expo Router, showcasing universal React Server Components (RSC) for server-side rendering of native UI and streamed AI responses. It targets developers building cross-platform applications who want to leverage modern React features like RSC for enhanced performance and developer experience.

How It Works

The application utilizes Expo Router's universal routing and rendering capabilities, enabling a single codebase for web and native platforms. It integrates with OpenAI's AI SDK, leveraging experimental RSC support for tool calls and streamed responses from the edge. This approach allows for dynamic UI generation on the server, reducing client-side processing and enabling faster, more interactive user experiences.

Quick Start & Requirements

  • Install dependencies: npx expo
  • Environment variables: OPENAI_API_KEY, WEATHER_API_KEY, TMDB_READ_ACCESS_TOKEN, TMDB_API_KEY, GOOGLE_MAPS_API_KEY, EXPO_PUBLIC_APPLE_MAPKIT_JS_KEY (configure via .env.local or EAS Environment Variables).
  • Requires Expo CLI.
  • Project can be opened in Expo Go, development builds, and web without Xcode.
  • Official docs: https://github.com/EvanBacon/expo-ai

Highlighted Details

  • Universal React Server Components for native and web.
  • Streamed responses from the edge.
  • Full deep linking support.
  • Native navigation, gestures, and animations.

Maintenance & Community

This project appears to be a demo from a React Conf talk by Evan Bacon. Further community or maintenance details are not explicitly provided in the README.

Licensing & Compatibility

The README does not specify a license. Compatibility for commercial use or closed-source linking is not detailed.

Limitations & Caveats

Expo RSC is in developer preview and subject to breaking changes; production deployment is not officially supported. Manual patching of the ai package in package.json is required for SSR-pass. Deterministic module IDs may not match across machines, and the origin field management can be complex. Building Expo CLI from source might be necessary for certain fixes.

Health Check
Last commit

5 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
120 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.