I Built a Crypto Market Intelligence App with React Native, Supabase & Cloudflare Workers AI
The problem: alert fatigue Keeping up with crypto meant juggling five different apps — a price tracker, a scanner, news feeds, sentiment charts, and a stack of alert apps. And even then I kept missing the moves that mattered. The existing tools fell into two camps: Too noisy — thousands of alerts, most of them irrelevant. Too shallow — pretty charts without any real analysis behind them. So I…
Crypto enthusiasts often struggle with information overload, constantly switching between multiple apps for price tracking, news feeds, sentiment charts, and alerts. The existing tools either bombard users with irrelevant alerts or provide superficial charts without meaningful analysis. To address this problem, the developer created SignalWatch, a mobile app that condenses overwhelming market data into a clear, prioritized signal board.
SignalWatch integrates data from 100+ cryptocurrencies, understands plain-English queries, tracks market sentiment, and only sends alerts for assets that meet specific criteria. The app is built using React Native, Expo SDK 54, TypeScript, React Navigation 7, Supabase for authentication and synchronization, Node/Express on Cloud Run for analysis, Cloudflare Workers for data ingestion and AI semantic scanning, and FCM via a Supabase Edge Function for push notifications.
The architecture consists of a React Native app (Expo) with a dashboard displaying the scanner, signal, calendar, and a shared hook (useDashboard) as the single source of truth. Supabase queries are made through POST /api/ai-query (Bearer JWT), which is handled by a Cloudflare Worker that performs intent detection, pulls data from Supabase, and lets Workers AI generate structured, data-backed answers.
One key feature is the AI semantic scanner, allowing users to ask questions in plain English, such as "show me coins with RSI 30 and volume spike 100%." The query is processed by a Cloudflare Worker, which retrieves real data from Supabase and enables Workers AI to provide a structured, data-backed response without pre-defined results or fake confidence scores.
The app authenticates to the worker using the user's Supabase access token (Bearer), which is validated against the Supabase JWKS. This ensures that no secrets are embedded in the app binary, enhancing security. The ES256 vs RS256 gotcha was a significant lesson learned during development, as the worker's JWT verifier initially only supported RS256 signatures, causing issues with valid ES256 tokens. The fix involved supporting both ES256 and RS256 verification and logging detailed error messages for troubleshooting.
Other lessons learned include handling authentication issues with ForexFactory's news feed, ensuring data freshness through a pipeline that updates every 15 minutes across multiple timeframes, and keeping the app architecture simple with thin screens, a central hook, and a service layer for easy maintenance and localization. These design choices contributed to the app's calm and efficient user experience, making SignalWatch a valuable tool for navigating the crypto market.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.