Abraham describes Expensify as a tool for helping people collaborate, with financial transactions as one form of that work. The company shifted toward a chat-based product to support communication across use cases, from expense reporting to events and charity. He says the product vision also shapes Expensify’s one-team internal structure.
How Expensify is Building Bridges with OSS and React Native
Speaker
Rory Abraham, a full-stack developer at Expensify, explains how the company uses React Native and an open-source contributor community at React Native EU 2023, hosted by Callstack.
Expensify’s older mobile app was a custom framework dating to 2009, while its web and mobile products had become separate. With about 30 to 40 engineers, the company chose to expand its engineering capacity by engaging independent developers. Abraham says more than 1,600 developers have contributed code to the new repository.
Independent testers report bugs in Slack, where QA partners check that reports are reproducible, clear, and not duplicates before adding them to GitHub. An internal Bug Zero assignee evaluates each issue, and front-end bugs can be posted automatically on Upwork with a $500 base rate. After a fix is tested, merged, and in production for seven days, the reporter receives $50 and the fixer $500.
As proposal reviews became a bottleneck, Expensify created the Contributor Plus role for experienced community members to triage proposals and conduct initial reviews and testing. Abraham says the program has about 30 members. For specialized work, Expensify also works with expert teams at Callstack, Margelo, Software Mansion, and Infinite Red.
Expensify encourages shared ownership of its dependencies and collaboration between contributors; Callstack and Software Mansion, for example, worked together on a TypeScript migration. The company brought top contributors to Curaçao for ExpensifyCon and opened a public coworking space in San Francisco. Abraham describes these efforts as part of a broader aim to help people collaborate and pursue shared goals.
Takeaways
- Turn recurring problems into clear processes before delegating or automating them.
- A Slack intake and QA step can improve issue quality before bugs reach a public tracker.
- Use experienced community members to handle initial reviews when the core team becomes a bottleneck.
- Set payment conditions and amounts clearly so contributors know what reporting and fixing a bug involve.
- Bring independent contributors together around shared dependencies and projects to encourage collaboration.
Mentioned in this talk
Search inside this talk
What was claimed 12
- role atRory Abraham is full-stack software developer at Expensify
“I'm a full-stack software developer at Expensify”
0:22inBringing best minds to advance React NativeYouTube Verified2 sources· Talk
- featureExpensify: chat-based financial collaborationchat-based financial collaboration
“Where we landed is the chat tool you see today.”
YouTube Unverified1 source· Talk
- metricExpensify: Over 1,600 unique developers pushing code to its new repository
“over 1,600 unique developers pushing code to our new Expensify repository”
YouTube Unverified1 source· Talk
- usesbug reports are submitted and clarified
“They’ll post something like this in Slack”
YouTube Unverified1 source· Talk
- usestriaged reproducible bugs are posted as issues
“a quality bug report that they put on our GitHub repo”
YouTube Unverified1 source· Talk
- metricExpensify: Bug-fix base rate of $500
“The base rate automatically applied to all bugs is currently $500.”
YouTube Unverified1 source· Talk
- integrates withautomatically posts externally labeled bugs as jobs
“This triggers an automation with Upwork, our talent recruiting platform”
YouTube Unverified1 source· Talk
- metricExpensify: About 30 Contributor Plus team members
“We currently have about 30 Contributor Plus team members.”
YouTube Unverified1 source· Talk
- builtCallstack Team built Expensify appcontributes to specialized projects, challenging bugs, and features
“They work on specialized projects and more challenging bugs”
YouTube Unverified1 source· Talk
- builtcollaborated on migration to TypeScript
“Callstack and Software Mansion have collaborated to start migrating our codebase to TypeScript”
YouTube Unverified1 source· Talk
- launchedExpensify launched ExpensifyCon
“back in March, we took all the top-performing members of our community out to Curaçao for a conference we’re calling ExpensifyCon”
YouTube Unverified1 source· Talk
- launchedfree public coworking space
“We’ve also expanded into a physical space. If you’re in San Francisco, go check out our SF Lounge.”
YouTube Unverified1 source· Talk





