$ show Expensify/App
Expensify/App is the primary mobile application for Expensify, a corporate expense management platform. It is a cross-platform React Native app (iOS, Android, Web) built with React 19, React Native 0.86, and Expo 57. The app provides a full suite of expense management features: receipt scanning, multi-currency expense reporting, corporate card integration, reimbursement (ACH, global), workspace/policy administration, approval workflows, and accounting integrations (NetSuite, QuickBooks, Xero, Sage Intacct, etc.). The architecture is a typical React Native monolith with a reactive state management layer (react-native-onyx) for offline-first behavior, custom navigation (split/stack/tab), and a rich component library. It includes server-side chart rendering for PDF reports and extensive telemetry via Sentry and FullStory. The codebase is well-structured with platform-specific files, thorough TypeScript typing, and a comprehensive test suite. It is a mature, actively developed application with a large team and community.
The LLM identified 3 files worth highlighting for reuse:
A composable button system using React context to propagate variant and size props from a parent Button to child primitives (Button.Icon, Button.Text, etc.). This pattern allows flexible composition without prop drilling, and the extracted component could be reused in any React project requiring a consistent button API with theming support.
A declarative derived state management pattern for Onyx (the reactive store). It uses configuration objects with dependencies and a compute function to automatically derive values from store changes, similar to Vue's computed properties or Recoil selectors. This pattern is reusable in any project using a reactive store, reducing boilerplate and ensuring consistency.
A modular popover menu system with support for nested sub-menus using React context. The v2 implementation separates concerns into Root, Trigger, Content, and Sub components, enabling reusable, keyboard-navigable hierarchical menus. The pattern is isolated enough to be extracted into a generic dropdown menu library for React.