Tech Products advanced 2 min read Apr 15, 2026
Public Preview Sign in free for the full digest →

Expensify - A finance app open-sourced its frontend

“A publicly traded company open-sourced its entire frontend — 246K commits, 2,340 contributors, and they'll pay you $250 to fix bugs.”

Expensify - A finance app open-sourced its frontend
1 Views
0 Likes
0 Bookmarks
Source · github.com

“I loathe the over-abundance of 'Optimistic Without Feedback Pattern'. It is used as a crutch for 'I don't want to bother implementing error cases'. — yuliyp, Hacker News (https://news.ycombinator.com/item?id=41679149)”

You know that feeling when your app breaks the moment you step into a subway tunnel or a dead zone? Most expense apps force you to wait for a connection — your receipt scan hangs, your report won't submit, and you're stuck refreshing. Expensify's frontend tackles this head-on with an explicit classification system: every feature gets assigned one of four offline handling patterns, from silent optimistic updates to full-screen blocking, so the app keeps working even when the network doesn't.

react-nativeopen-sourceoffline-firsttypescriptexpense-managementstate-managementcross-platform

Think of it like writing checks from a checkbook — you write the check immediately (optimistic update) and trust the bank will process it later. When the server pushes data, it flows through Pusher (real-time WebSocket) into Onyx (a custom key-value store that persists everything to disk), then into React components via the useOnyx() hook. When you take an action, it flows back through an Action → XHR → Server loop. Every feature is classified into one of four offline patterns: Pattern A assumes success silently (like sending a chat message), Pattern B shows a loading indicator but proceeds optimistically, Pattern C blocks the form until confirmation, and Pattern D blocks the entire page. A decision flowchart in the repo's philosophy docs determines which pattern applies.

01
Offline-first with four UX patterns — you get a documented decision framework for handling every feature's offline behavior, from silent optimistic updates to full blocking, so you stop guessing and start classifying
02
Custom Onyx state management — persistent key-value store with automatic disk writes, optimistic updates, collection subscriptions, and storage eviction gives you offline-first state without hand-rolling persistence logic
03
Paid open-source contributions — Expensify pays contributors via Upwork ($250 per Help Wanted issue), giving you a direct path from reading the code to earning money for fixes
04
Cross-platform 99.9999% rule — features must work on iOS, Android, Web, and mWeb without platform-specific hacks, so you learn how to ship truly universal React Native code
05
18+ philosophy documents — the repo includes explicit design philosophy docs on topics like data flow, offline, routing, security, and over-engineering, teaching you how a production team makes architectural decisions
06
React Native New Architecture — runs on Fabric renderer with Hermes engine and TurboModules, so you see a real production codebase using RN's latest architecture rather than a toy example
Who it’s for

If you're a React Native developer who wants to study how a production-grade offline-first app handles state, networking, and cross-platform complexity — this is your reference codebase. Also valuable if you're building a financial or messaging app and need a proven pattern for offline data sync. Not useful if you want a self-hostable expense solution — the closed-source backend makes that impossible.

Worth exploring

Worth studying as a reference architecture if you build React Native apps, especially for the offline-first patterns and Onyx state management. It is production-proven — 15 million+ users, publicly traded company, daily releases. However, you cannot self-host it or use it independently because the backend is proprietary. Treat it as a learning resource and contribution opportunity, not a framework to install.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →