Discover and explore top open-source AI tools and projects—updated daily.
Financial collaboration app built around chat
Top 11.1% on SourcePulse
This repository contains the codebase for Expensify's new financial collaboration platform, built around a chat-centric interface. It targets developers looking to contribute to or understand a large-scale, cross-platform financial application with an offline-first architecture. The project offers a comprehensive suite of tools for local development, testing, and debugging across web, iOS, and Android platforms.
How It Works
The application is built using React Native and leverages React Native Onyx as its primary state management and offline data persistence layer. Data flows from the server via Pusher events or XHR requests into Onyx, which then pushes updates to the UI components. The UI layer is responsible for reflecting data and triggering actions, while "Actions" handle business logic, server interactions, and data updates in Onyx. This separation ensures an offline-first experience and organized data management.
Quick Start & Requirements
nvm
, node
, npm
, watchman
, and mkcert
for HTTPS setup.mkcert
for HTTPS. iOS development requires Xcode tools and CocoaPods. Mapbox tokens are needed for map SDKs.npm run web
for web, npm run ios
for iOS simulator, npm run android
for Android emulator.Highlighted Details
useLocalize
hook and translation files.Maintenance & Community
The project is actively maintained by Expensify. Community interaction is encouraged via their Slack channel.
Licensing & Compatibility
The repository does not explicitly state a license in the provided README. Compatibility for commercial use or closed-source linking would require clarification on licensing.
Limitations & Caveats
Developing the HybridApp requires specific access to the Mobile-Expensify
Git submodule. Some setup steps, particularly for native mobile development and HTTPS configuration, can be complex. The README mentions potential issues with system Ruby installations for CocoaPods.
20 hours ago
1 day