Silent. Automatic. Trusted.
Your last-mile personal safety system.
AlivePing automatically alerts trusted contacts if you fail to check in, providing immutable proof on the Solana blockchain.
- Safety Check-In: Automatic check-in sessions with deadline alerts
- Panic Button: Instant emergency alerts with location sharing
- Trusted Contacts: Manage emergency contacts
- Blockchain Verification: Immutable on-chain proof of safety sessions
- Location Tracking: Privacy-first location sharing
- Event History: View past safety events
- React Native (Expo)
- TypeScript
- Solana (Anchor) - Deployed on Testnet
- Meta WhatsApp Business API (Alerts)
- NativeWind
- Datadog (Monitoring)
- Confluent Cloud (Event Streaming)
Status: ✅ Deployed on Testnet
- Program ID:
9ykG65VCa5KsbKkc1HdgbZRDr61fYjHYnDGy17LafX1e - Network: Testnet
- Build Size: 191KB (optimized)
- Explorer: View on Solana Explorer
Contract Instructions:
startCheckIn- Start a safety check-in sessiontriggerPanic- Trigger emergency panic alertconfirmSafe- Confirm safety check-incancelCheckIn- Cancel active check-inexpireCheckIn- Mark check-in as expiredcloseSession- Close a sessionupdateLastPing- Update last ping timestamp
For detailed contract documentation, see contracts/README.md
npm installCopy .env.example to .env and fill in your values:
cp .env.example .envRequired environment variables:
# Solana Configuration (Already configured for testnet)
EXPO_PUBLIC_SOLANA_PROGRAM_ID=9ykG65VCa5KsbKkc1HdgbZRDr61fYjHYnDGy17LafX1e
# Datadog Monitoring
EXPO_PUBLIC_DATADOG_API_KEY=your_datadog_key
EXPO_PUBLIC_DATADOG_SITE=datadoghq.com
EXPO_PUBLIC_DATADOG_SERVICE=aliveping-mobile
EXPO_PUBLIC_DATADOG_SOURCE=react-native
# Confluent Cloud (Kafka)
EXPO_PUBLIC_CONFLUENT_API_KEY=your_confluent_key
EXPO_PUBLIC_CONFLUENT_API_SECRET=your_confluent_secret
EXPO_PUBLIC_CONFLUENT_CLUSTER_ID=your_cluster_id
EXPO_PUBLIC_CONFLUENT_REST_ENDPOINT=your_rest_endpoint
EXPO_PUBLIC_CONFLUENT_TOPIC=AlivePing
# Google Gemini AI
EXPO_PUBLIC_GEMINI_API_KEY=your_gemini_key
# Meta WhatsApp Business API (Required for WhatsApp alerts)
EXPO_PUBLIC_WHATSAPP_ACCESS_TOKEN=your_whatsapp_access_token
EXPO_PUBLIC_WHATSAPP_PHONE_NUMBER_ID=your_whatsapp_business_account_id
EXPO_PUBLIC_WHATSAPP_ALERT_PHONE_IOS=your_ios_recipient_phone_number
EXPO_PUBLIC_WHATSAPP_ALERT_PHONE_ANDROID=your_android_recipient_phone_numberNote: WhatsApp alerts are sent using Meta's WhatsApp Business API. You'll need to:
- Create a Meta Business account
- Set up a WhatsApp Business account
- Get an access token from Meta's Graph API
- Get your WhatsApp Business Phone Number ID (the sender account ID)
- Configure recipient phone numbers for alerts (one for iOS, one for Android)
npm startDevSapiens
- GitHub: ashutosh887
MIT