Expensify — open-source contributions
25 merged pull requests to Expensify’s production React Native app — fixes and features across expense reports, search, offline flows and workspace management.
- Role
- Open-source contributor
- Year
- 2026
- Stack
- TypeScriptReact NativeReact Native WebOnyxJest

- Merged pull requests
- 25
- Platforms
- Web · iOS · Android
- Contributing since
- May 2026
Context
Expensify is an open-source expense management and chat app built with React Native and React Native Web, shipped to millions of users on web, iOS and Android. Contributors pick up issues from a public queue, write a proposal and ship the fix through a strict review and QA process.
What I worked on
- Expense reports & duplicates — hid duplicate violations on IOU reports, fixed “Keep selected” for duplicates in transaction threads, kept multi-expense drafts submittable.
- Search & optimistic updates — seeded modified keys in the optimistic Search snapshot so SmartScan results stay consistent, fixed scan-failed moves and expense row flicker.
- Workspaces & Expensify Card — blocked removing members who hold an active Expensify Card, disabled payment actions when workspace payments are off, showed GL codes for categories.
- Navigation & UX — fixed a back-button loop after copiloting into an agent, kept the current tab for
exitTolinks, fixed offline indicator and safe-area overlaps.
What it taught me
Working in a large, mature codebase means respecting its patterns: optimistic data with Onyx, offline-first behaviour, strict typing and tests for every change — and writing proposals that reviewers can approve quickly.
Next project
Hunarda — online education platform