FolioFOLIOdocs
AppApp
BackendBackend
Backend & Data

Under the hood

The stuff you don't see but absolutely can't live without. Auth, database, APIs, subscriptions, state, widgets, and security. How each piece works and why we built it this way.

01

Authentication

Who's who

Clerk handles all the auth heavy lifting. Sign up, sign in, session management, the works. We did not reinvent the wheel here, and that is the point.

ClerkOAuthJWT
Read more
02

Database

Where the data lives

Supabase Postgres stores everything. Portfolios, assets, transactions, user preferences. Row Level Security keeps things locked down tight.

SupabasePostgresRLS
Read more
03

API Layer

The glue between things

Six edge functions handle everything from market data to AI insights. All API keys stay server side. The client never talks to third party services directly.

Edge FunctionsAlpha VantageClaude
Read more
04

Subscriptions

Getting paid

RevenueCat powers the paywall and subscription management. Two plans: monthly and yearly. Entitlements unlock premium features across the app.

RevenueCatIAPEntitlements
Read more
05

State Management

Keeping things in sync

Zustand stores run the show locally. 13 stores manage everything from portfolios to notifications. An offline first sync service keeps local state and the server in agreement.

ZustandOffline FirstSync
Read more
06

iOS Widgets

Glanceable updates

Three native iOS home screen widgets built with expo-widgets. Portfolio value, top holdings, and a quick add button. No network calls in the widget itself, all data pushed from the app.

SwiftUIexpo-widgetsiOS
Read more
07

Security

Protecting what matters most

How we keep your data, your keys, and your portfolio safe.

API keyssecure storagebiometricsedge functions
Read more

Tech Stack

Expo SDK 55
React Native
Supabase
Clerk
Zustand
RevenueCat
NativeWind