GuardAurora/
βββ App.tsx β entry point
βββ app.json β Expo config
βββ package.json β dependencies (Expo 52)
βββ babel.config.js
βββ tsconfig.json
βββ assets/
β βββ logo.png β GuardAurora logo
βββ src/
βββ theme/index.ts β colors, spacing, radii
βββ store/AppContext.tsx β global state
βββ hooks/
β βββ useAudioMonitor.ts β AI microphone analysis
β βββ useLocation.ts β GPS tracking
β βββ useShakeDetector.ts β silent SOS (shake)
βββ components/ui.tsx β UI: PulseRing, SoundWave, buttons
βββ screens/
β βββ HomeScreen.tsx β main screen with SOS
β βββ MapScreen.tsx β map + safe routes
β βββ ChatScreen.tsx β AI chat (Claude API)
β βββ ContactsScreen.tsx β trusted contacts
β βββ HistoryScreen.tsx β event log
βββ navigation/index.tsx β bottom tab navigation
File β Open Folder β select GuardAurora
Ctrl + ` (or Terminal β New Terminal)
npm installnpx expo startAfter this, a QR code will appear in the terminal.
- Download Expo Go from the App Store (iPhone) or Play Store (Android)
- iPhone: Open the camera and point it at the QR code
- Android: Open Expo Go β tap "Scan QR code"
- The app will launch on your phone!
| Action | Result |
|---|---|
| Press the large SOS button | 3βsecond countdown β SOS activation |
| Press "Cancel" during countdown | SOS cancelled |
| Shake the phone 3 times | Silent SOS (no button presses) |
| Press "Enable Monitoring" button | AI listens to the microphone |
| Map tab β "Get Location" | GPS coordinates |
| Map tab β tap on a location | Build a route |
| AI Chat tab | Chat with GuardAurora AI |
| Contacts tab β "+" | Add a trusted contact |
npx expo start --clearnpm install --legacy-peer-depsUninstall and reinstall Expo Go from the app store.
Strict mode is already disabled in tsconfig.json β everything should work.
In src/store/AppContext.tsx, inside the activateSOS() function, add:
await fetch('https://api.twilio.com/2010-04-01/Accounts/ACCOUNT_SID/Messages.json', {
method: 'POST',
headers: {
'Authorization': 'Basic ' + btoa('ACCOUNT_SID:AUTH_TOKEN'),
'Content-Type': 'application/x-www-form-urlencoded',
},
body: `To=${contact.phone}&From=+1NUMBER&Body=π¨ SOS! ${name} is in danger. GPS: ${latitude},${longitude}`,
});npx expo install expo-notificationsnpx expo install @react-native-async-storage/async-storageAll colors are in src/theme/index.ts:
Colors.rose // #e8547a β SOS, main accent
Colors.lavender // #c084fc β monitoring, navigation
Colors.mint // #67e8c4 β safety, GPS
Colors.danger // #ff4757 β threat, alert
Colors.bg // #0d0118 β dark background