React Native Async Storage

An asynchronous, persistent, unencrypted key-value storage system for React Native apps

Library
npm
v3.1.1
5,070 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
69 /100 Good
Development Activity 52
Maintenance 60
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
78 /100 Good
Architecture 80
Code Quality 78
Innovation 65
Learning Curve 88

Async Storage is the community-maintained successor to React Native’s original built-in AsyncStorage module, providing a simple, Web-Storage-API-compatible key-value store for persisting small amounts of data across app restarts. It exposes createAsyncStorage(name) to create named storage instances, with getItem/setItem/removeItem plus batch operations (multiGet, multiSet, multiRemove) for working with several keys at once, and supports multiple independent databases within a single app.

Under the hood, each platform gets a purpose-built backend: SQLite on Android, iOS, and macOS; a legacy single-database fallback on Windows and visionOS; and IndexedDB on Web. This gives apps a consistent async API surface while letting each platform use its most natural persistent-storage primitive. Because the data is unencrypted, the library is intended for non-sensitive state (user preferences, cached API responses, draft form data) rather than credentials or tokens, which should go through a platform keychain/keystore-backed library instead.

What You Get

  • createAsyncStorage(name) to create one or more independent named storage databases within an app
  • Core getItem/setItem/removeItem methods matching the Web Storage API shape
  • Batch operations (multiGet, multiSet, multiRemove) for working with several keys in one call
  • Platform-native backends: SQLite on Android/iOS/macOS, a legacy fallback on Windows/visionOS, IndexedDB on Web
  • A Jest mock (@react-native-async-storage/async-storage/jest) for testing code that reads/writes storage
  • An Expo config plugin package (expo-with-async-storage) for easier Expo integration

Common Use Cases

  • Persisting user preferences and app settings across sessions
  • Caching API responses locally to reduce network calls and support offline-first UX
  • Storing non-sensitive draft form state so users don’t lose input on app restart
  • Maintaining onboarding/tutorial-seen flags and other lightweight app state

Under The Hood

Architecture - The repo is a Yarn/Turborepo monorepo (packages/async-storage, packages/expo-with-async-storage, packages/eslint-config). The core package’s src/index.tsx exposes createAsyncStorage, with platform-specific implementations selected via React Native’s file-extension resolution (createAsyncStorage.native.ts, createAsyncStorage.windows.ts, plus a web-module and native-module split), so the same call site resolves to SQLite-backed native code or an IndexedDB-backed web module depending on the build target. Tech Stack - TypeScript for the JS API surface, Kotlin for the Android native module, Objective-C++ (AsyncStorage.mm/.h) for the Apple native module, and the idb package to wrap IndexedDB on Web; builds go through react-native-builder-bob (bob build) to produce lib/module and lib/typescript outputs. Code Quality - The project ships platform-specific native test/build tooling (Gradle for Android, a Podspec-driven Apple build) alongside tsc --noEmit and ESLint scripts for the JS layer; with 150 contributors and continuous semantic-release automation, the project shows an established, actively reviewed contribution process. API Design - The API deliberately mirrors the familiar localStorage/Web Storage shape (getItem/setItem/removeItem) so React and web developers have near-zero ramp-up, while createAsyncStorage(name) for multi-database support and the bundled Jest mock reduce the boilerplate needed to both use and test the library in a React Native app.

Used by 17 apps in this directory

Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

33,179

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
85
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 95%
Updated 3 weeks ago
TypeScript
74%
Apache 2.0

Jitsi Meet

Collaboration · Team Chat · Video Conferencing

30,004

Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.

View details
95
Repo Health
85
Technical
66
Dependency
Built with
TypeScript 74%
JavaScript 10%
Updated 1 weeks ago
TypeScript
98%
AGPL 3.0

Karakeep

Bookmarks Archiving

29,321

Self-hosted bookmark manager that captures links, notes, images, and PDFs with AI tagging, full-text search, and automatic archiving.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 98%
Updated 6 days ago
Python
58%
MIT

LibrePhotos

File Storage

8,083

Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.

View details
83
Repo Health
78
Technical
65
Dependency
Built with
Python 58%
TypeScript 40%
Updated 6 days ago
TypeScript
93%
AGPL 3.0

Linkwarden

Bookmarks Archiving · Knowledge Management

19,855

Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.

View details
87
Repo Health
72
Technical
66
Dependency
Built with
TypeScript 93%
Updated 3 weeks ago
JavaScript
26%
AGPL 3.0

Omnivore

Bookmarks Archiving · Knowledge Management · Note Taking

16,265

Self-hosted read-it-later platform with highlights, newsletters, PDFs, and seamless Obsidian and Logseq integration.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
JavaScript 26%
TypeScript 25%
HTML 19%
Updated 6 days ago
TypeScript
95%
Apache 2.0

OneUptime

Monitoring

7,668

The complete open-source observability platform that replaces PagerDuty, Datadog, Sentry, and StatusPage with a single self-hostable system.

View details
91
Repo Health
81
Technical
65
Dependency
Built with
TypeScript 95%
Updated 5 days ago
TypeScript
95%
MIT

Orca

AI Agents · AI Code Assistants

79,834

An open-source Agent Development Environment that orchestrates fleets of parallel AI coding agents — Claude Code, Codex, Gemini and more — each running in its own isolated git worktree.

View details
84
Repo Health
85
Technical
80
Dependency
Built with
TypeScript 95%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers