SafeMate is a comprehensive web application that provides AI-powered safety protection and emotional support through advanced avatar technology.
Production URL: https://profound-pixie-1d8e52.netlify.app
- Real-time GPS tracking and location sharing
- AI companion with voice and video chat powered by Tavus p5d11710002a persona
- Emergency SOS system with automatic alerts via Telegram
- Live recording and video streaming via LiveKit
- Route optimization and safety scoring
- Emotional support AI companion using Gemini 2.5 Flash
- Mood tracking and wellness guidance
- Personalized conversations and comfort
- Mental health resources and support
- Tavus AI Avatars: Realistic AI companions with natural conversation (p5d11710002a persona)
- LiveKit Integration: Real-time video and audio communication
- ElevenLabs Voice: High-quality voice synthesis
- Deepgram Speech Recognition: Accurate speech-to-text processing
- Gemini 2.5 Flash: Advanced LLM for natural conversations
- React 18 with TypeScript
- Tailwind CSS for styling
- Framer Motion for animations
- Lucide React for icons
- Vite for development and building
- Supabase for database and authentication
- Supabase Edge Functions for serverless API endpoints
- PostgreSQL with Row Level Security (RLS)
- Tavus API for AI avatar creation and management (p5d11710002a persona)
- LiveKit for real-time video/audio communication
- ElevenLabs API for voice synthesis
- Deepgram API for speech recognition
- Gemini 2.5 Flash for LLM conversations
- Telegram Bot API for emergency notifications
-
Fork this repository to your GitHub account
-
Connect to Netlify:
- Go to Netlify
- Click "New site from Git"
- Connect your GitHub account
- Select the forked SafeMate repository
-
Configure Environment Variables in Netlify:
VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key TELEGRAM_BOT_TOKEN=your_telegram_bot_token -
Deploy: Netlify will automatically build and deploy your site
# Clone the repository
git clone <your-repo-url>
cd safemate-web-app
# Install dependencies
npm install
# Build for production
npm run build
# Deploy the dist/ folder to your hosting provider- Node.js 18+
- npm or yarn
- Supabase account
- API keys for:
- Tavus (for p5d11710002a persona)
- LiveKit
- ElevenLabs (optional)
- Deepgram (optional)
- Gemini 2.5 Flash
- Telegram Bot
- Clone the repository:
git clone <repository-url>
cd safemate-web-app- Install dependencies:
npm install- Set up environment variables:
Create a
.envfile with:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
TELEGRAM_BOT_TOKEN=your_telegram_bot_token- Set up Supabase:
- Create a new Supabase project
- Run the migrations in
supabase/migrations/ - Configure authentication settings
- Configure API keys:
- Add your Tavus, LiveKit, ElevenLabs, Deepgram, Gemini, and Telegram API keys in the app settings
- Start the development server:
npm run dev- User profile information
- Emergency contacts
- Safety preferences
- Onboarding status
- Session tracking for AI avatar interactions
- Room management for LiveKit
- Emergency contact integration
- Secure storage of user's API keys
- Encrypted storage for Tavus, LiveKit, ElevenLabs, Deepgram, Gemini
- Row Level Security (RLS) on all tables
- JWT-based authentication
- Secure API key management
- Privacy-first data handling
- Encrypted API key storage
- Get your Tavus API key from Tavus Dashboard
- The app uses the specific
p5d11710002apersona - Configure the API key in the app settings
- The app automatically creates AI avatars for each session
- Set up a LiveKit server or use LiveKit Cloud
- Configure your LiveKit API key and secret
- Update the WebSocket URL in the app settings
- Get API key from Google AI Studio
- Configure in app settings
- Powers all LLM conversations and safety monitoring
- ElevenLabs: For enhanced voice synthesis
- Deepgram: For improved speech recognition
- Create a Telegram bot using BotFather
- Get your bot token and add it to environment variables
- The app uses the Telegram Bot API to send emergency notifications
- Fork repository to your GitHub
- Set up Supabase project and run migrations
- Configure environment variables in Netlify
- Deploy to Netlify
- Test all features in production
- Configure custom domain (optional)
β User Authentication & Onboarding β Safe Walk Mode with GPS Tracking β AI Companion with Tavus p5d11710002a Persona β LiveKit Video/Audio Integration β Gemini 2.5 Flash Conversations β Emergency SOS System with Telegram β API Key Management β Responsive Design β Dark/Light Mode
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Email: hello@safemate.app
- Documentation: [GitHub Wiki]
- Issues: GitHub Issues
- Tavus for AI avatar technology (p5d11710002a persona)
- LiveKit for real-time communication
- ElevenLabs for voice synthesis
- Deepgram for speech recognition
- Google for Gemini 2.5 Flash LLM
- Supabase for backend infrastructure
- Telegram for emergency notification system
Built with β€οΈ for your safety and well-being