chat-template  by EvanBacon

AI chatbot template for cross-platform applications

Created 2 months ago
272 stars

Top 94.8% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a high-performance, universal chat application template built with Expo SDK 55 and Expo Router, targeting developers who need a single codebase for iOS, Android, and web applications. It offers advanced UI features like iOS-specific Liquid Glass effects and a web-first sidebar, enabling rapid development of sophisticated AI chatbots with a consistent user experience across platforms.

How It Works

The template leverages Expo Router for file-based navigation and React Native 0.83 with React 19 for its core. It employs a web-first approach for the UI, featuring a collapsible sidebar with Radix UI components for desktop-grade interactions, while providing native gesture-driven drawers on mobile. Advanced styling is handled by Tailwind CSS v4 via Uniwind, utilizing OKLCH color tokens for perceptual uniformity in both light and dark modes. Performance is a key focus, with virtualized chat rendering using @legendapp/list and Reanimated for smooth scrolling, alongside streaming message delivery with markdown support.

Quick Start & Requirements

  • Install: bun install
  • Run: bun start (dev server), bun run ios, bun run android, bun run web
  • Prerequisites: Bun, Expo CLI. Xcode is required for iOS development.
  • Environment Variables: A .env file is necessary, typically populated from .env.example, requiring at least ANTHROPIC_API_KEY or setting EXPO_PUBLIC_MOCK_AI=1 for UI development without an API key.

Highlighted Details

  • iOS 26 Liquid Glass effects for prompt composer, navigation bars, and toolbar buttons.
  • Web-first sidebar with Radix context menus, dropdowns, and tooltips.
  • Streaming messages with throttled ~30fps updates, markdown rendering, and shimmer loading states.
  • Platform-adaptive layouts: native drawer on iOS/Android, sidebar + inset panel on web.
  • Automatic light/dark theme support using OKLCH design tokens.
  • Native UI controls including SwiftUI model picker and haptic feedback.
  • Keyboard-aware input management via react-native-keyboard-controller.
  • Performant virtualized chat scrolling with Reanimated-powered scroll-to-bottom.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), or roadmap were provided in the README excerpt.

Licensing & Compatibility

The template is made freely available under the MIT license, permitting commercial use and integration into closed-source projects.

Limitations & Caveats

Full functionality, particularly AI chat capabilities, requires obtaining and configuring API keys (e.g., Anthropic). Advanced UI features like Liquid Glass are specific to newer iOS versions (iOS 26). The template relies on specific versions of the Expo SDK, React Native, and React, which may influence upgrade paths.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
1
Star History
190 stars in the last 30 days

Explore Similar Projects

Starred by Sebastian Raschka Sebastian Raschka(Author of "Build a Large Language Model (From Scratch)"), Pawel Garbacki Pawel Garbacki(Cofounder of Fireworks AI), and
16 more.

chainlit by Chainlit

0.1%
12k
Framework for rapid conversational AI app development
Created 3 years ago
Updated 1 day ago
Feedback? Help us improve.