This is a RoxyAPI starter app. A dream interpretation app built with React Native, Expo SDK 57, and TypeScript. Ships with a daily seeded dream symbol, an A to Z dream dictionary, keyword search across 2,000+ dream symbols, and random symbol discovery, all powered by the RoxyAPI Dreams API through the official @roxyapi/sdk.
- Get an API key at https://roxyapi.com/pricing
- Create
.envin the project root with:EXPO_PUBLIC_ROXYAPI_KEY=your_api_key_here
- Install with
npm install - Run with
npm start, thennpm run ios,npm run android, ornpm run web - Test with
npm test, typecheck withnpm run typecheck
- The only data layer is
@roxyapi/sdk.createRoxy(key)sets the base URL and the auth header, and ships its own types from the OpenAPI spec, so there is no generated schema file to keep in sync. - The key is bundled into the app (mobile has no server). Treat
EXPO_PUBLIC_ROXYAPI_KEYas a public, restricted key locked to your bundle id, or proxy calls through a backend you control. - Dreams is English-only, so there is no
langparameter on these calls. - Live OpenAPI spec: https://roxyapi.com/api/v2/dreams/openapi.json
- Live playground: https://roxyapi.com/api-reference
roxy.dreams.getDailyDreamSymbolfor a seeded daily symbol with consistent results per deviceroxy.dreams.searchDreamSymbolsfor the A to Z list, keyword search, and paginationroxy.dreams.getDreamSymbolfor a single symbol with the full psychological interpretationroxy.dreams.getRandomSymbolsfor random single or multi symbol discoveryroxy.dreams.getSymbolLetterCountsfor the A to Z navigation counts
src/api/client.tsis the single Roxy SDK client and thehasApiKeyguard.src/api/dreams.tswraps theroxy.dreams.*methods used by screens and unwraps the SDK{ data, error }result.src/api/types.tsre-exports the SDK response types under app-friendly names.app/(tabs)/holds the tab screens:index.tsx(daily),browse.tsx(A to Z),search.tsx,random.tsx.src/components/SymbolDetailModal.tsxrenders the full interpretation modal.
- All RoxyAPI calls go through
src/api/. Do not callfetchor the SDK directly from screens. - Method names and query or body fields come from the SDK types, never invented. Verify against the OpenAPI spec.
- The search and list endpoint takes
qfor keyword search,letterfor A to Z filtering, andlimitup to 50. - Daily symbol seeding uses a stable device id from
AsyncStorageso the daily symbol stays consistent across sessions. - Render the full interpretation rather than truncating subconscious symbolism, emotional significance, and waking-life connections client side.
- TypeScript SDK: https://github.com/RoxyAPI/sdk-typescript (npm:
@roxyapi/sdk) - Python SDK: https://github.com/RoxyAPI/sdk-python (PyPI:
roxy-sdk) - MCP servers: https://roxyapi.com/docs/mcp
- Methodology and accuracy: https://roxyapi.com/methodology
- More starters: https://roxyapi.com/starters
- Pricing: https://roxyapi.com/pricing