Mobile-first futures trade setup scanner for active retail futures traders. Status: MVP-ready — hand this repo to your developer.
This is the complete MVP handoff package for FuturesEdge. It includes:
| Folder | Contents |
|---|---|
docs/ |
All four project documents (Idea Summary, MVP Scope, Design Blueprint, Content Document) |
src/screens/ |
All 7 screens, fully scaffolded with UI structure, state, and copy wired in |
src/components/ |
7 reusable UI components (SetupCard, ScoreBadge, CriteriaChecklist, CandlestickChart, UpgradeBanner, UpgradeModal, WatchlistRow, AlertRow) |
src/services/ |
5 service modules with full API contracts — developer fills in the implementations |
src/utils/ |
constants.js (all design tokens), copy.js (all UI strings), formatters.js (price/time helpers) |
src/navigation/ |
Fully wired AppNavigator — bottom tabs + stack navigator |
# 1. Install dependencies
npm install
# 2. Install additional required packages
npm install @react-navigation/native @react-navigation/bottom-tabs @react-navigation/stack
npm install react-native-screens react-native-safe-area-context
# 3. Start the Expo development server
npm start
# 4. Run on iOS simulator
npm run ios
# 5. Run on Android emulator
npm run androidThe screens, components, and utilities are complete. The developer's primary work is:
Each service file has full API contracts documented. The developer connects them to the real backend:
| Service | What to implement |
|---|---|
authService.js |
Firebase Auth or Auth0 — email login, create account, logout, password reset |
scannerService.js |
GET /api/setups — returns scored setups from backend scanner engine |
alertService.js |
FCM registration, alert history CRUD |
dataFeedService.js |
WebSocket connection to data feed (Rithmic/CQG/dxFeed) |
subscriptionService.js |
RevenueCat SDK — purchase, restore, entitlement check |
Replace the placeholder view with a real chart library:
- Recommended:
react-native-wagmi-charts(React Native native) or Lightweight Charts via WebView - Accepts
candlesarray:{ time, open, high, low, close, volume } - Draw 4 horizontal key level lines (VWAP, session high/low, breakout)
The scanner engine runs server-side. Required endpoints:
GET /api/setups?tier={free|pro}
GET /api/setups/:id
GET /api/candles/:symbol?timeframe={1m|5m}&tier={free|pro}
GET /api/prices?symbols=ES,NQ&tier={free|pro}
POST /api/alerts
DELETE /api/alerts/:id
GET /api/alerts/history
DELETE /api/alerts/history
POST /api/notifications/register
POST /api/auth/login
POST /api/auth/register
POST /api/auth/reset
POST /api/auth/change-password
POST /api/auth/logout
- Set up Firebase Cloud Messaging (FCM)
- Configure APNs certificate for iOS
- Register device tokens in
alertService.registerDeviceToken() - Deep-link from notification tap →
SetupDetailscreen
| Service | Purpose | Account needed |
|---|---|---|
| Firebase Auth | User authentication | Firebase Console |
| Firebase Cloud Messaging | Push notifications | Firebase Console |
| RevenueCat | Subscription billing | RevenueCat Dashboard |
| Rithmic / CQG / dxFeed | Futures data feed | CME licensing required |
| Apple Developer | iOS App Store | $99/year |
| Google Play Console | Android distribution | $25 one-time |
- Framework: React Native (Expo SDK 51)
- Navigation: React Navigation v6 — bottom tabs + stack
- State: Local component state (useState/useEffect) — no global store in MVP
- Styling: React Native StyleSheet — no third-party UI library
- Copy: All UI strings are in
src/utils/copy.js— never hardcoded in components - Design tokens: All colors/typography in
src/utils/constants.js
All tier-gating logic is centralized in subscriptionService.featureAccess:
featureAccess.canViewInstrument(symbol, tier) // ES+NQ free, all 5 pro
featureAccess.canReceiveGrade(grade, tier) // A+ free, A+/A/B pro
featureAccess.watchlistLimit(tier) // 5 free, unlimited pro
featureAccess.hasRealTimeData(tier) // false free, true pro
featureAccess.hasChartLevels(tier) // false free, true pro| Name | Hex | Used for |
|---|---|---|
| Deep Navy | #0D1B2A |
App background, headers |
| Electric Blue | #1A73E8 |
Primary buttons, A-grade badge |
| Signal Green | #1DB954 |
A+ badge, LIVE indicator |
| Alert Amber | #F5A623 |
Breakout level, delay badge |
| Danger Red | #E63946 |
Negative change, failed criteria |
| Surface White | #F8F9FA |
Cards, inputs, modals |
| Muted Gray | #6B7280 |
Secondary text, B-grade, inactive |
Do not build these in v1:
- Backtested win-rate per setup type
- Institutional / options flow indicator
- Custom alert criteria builder
- Social or community features
- Paper trading / simulated entries
- Portfolio tracking
- News feed integration
- Web app version
docs/APP_IDEA_SUMMARY.md— What it is and whydocs/MVP_SCOPE.md— Feature list, scanner logic, tiersdocs/APP_DESIGN_BLUEPRINT.md— Every screen, every interactiondocs/APP_CONTENT_DOCUMENT.md— Every word in the app
FuturesEdge MVP — Pre-development handoff package. May 2026.