A friendly digital companion that acts as a personal light in the dark, ensuring every student on campus feels connected and safe during any walk, day or night.
Eve transforms campus safety through community connection rather than fear. Built as a Progressive Web App, it provides three core safety features that work together to create a comprehensive campus safety network.
π€ Buddy System
Connect with trusted friends who can track your walks in real-time. Choose a buddy from your crew, and they'll see your "light" moving safely across the map until you reach your destination.
π€ AI Guardian
Smart monitoring that acts as your automated safety companion. If you stop moving unexpectedly during a walk, the AI Guardian gently checks in with you and can alert your buddy if needed.
πΊοΈ Community Glow Map
A living map powered by community insights. Drop "Glow" pins for well-lit, safe areas and "Heads-up" pins for areas that need attention. See real-time safety information from your campus community.
- π Secure Authentication - Sign in with Google or Discord
- π± Mobile-First Design - Optimized for on-the-go campus use
- πΊοΈ Google Maps Integration - Real-time location tracking and route planning
- π₯ Buddy Management - Add friends, manage availability, and coordinate safety
- πΆ Guided Walks - Start tracked walks with destination and buddy selection
- π Community Pins - Share and discover safety insights across campus
- π¨ Emergency Alerts - One-tap emergency button with instant buddy notification
- π¬ Real-time Communication - Live updates and notifications via WebSockets
- π± PWA Support - Install as a native app on any device
- π Smart Monitoring - AI-powered movement analysis and check-ins
- Framework: Next.js 15 with App Router
- Authentication: NextAuth v5 (AuthJS) with OAuth providers
- Database: PostgreSQL via NeonDB with Drizzle ORM
- Maps: Google Maps JavaScript API
- Real-time: WebSockets for live tracking and notifications
- UI: Shadcn/ui components with Tailwind CSS
- PWA: Service Workers with offline support
- AI: Smart monitoring and automated check-ins
- Language: TypeScript with full type safety
- Node.js 18+
- Bun (recommended) or npm
- PostgreSQL database (NeonDB recommended)
- Google Cloud Console account (for Maps API)
Create a .env.local file with the following variables:
# Database
DATABASE_URL="postgresql://username:password@host/database"
# NextAuth
NEXTAUTH_SECRET="your-secret-key-here"
NEXTAUTH_URL="https://eve.codelikecrazy.dev"
# Google OAuth
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# Discord OAuth
DISCORD_CLIENT_ID="your-discord-client-id"
DISCORD_CLIENT_SECRET="your-discord-client-secret"
# Google Maps
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="your-google-maps-api-key"
# AI Service (Optional)
OPENAI_API_KEY="your-openai-api-key"- Go to Google Cloud Console
- Create/select project and enable Google+ API
- Create OAuth 2.0 credentials
- Add redirect URI:
https://eve.codelikecrazy.dev/api/auth/callback/google
- Go to Discord Developer Portal
- Create new application
- Add redirect URI:
https://eve.codelikecrazy.dev/api/auth/callback/discord
- In Google Cloud Console, enable Maps JavaScript API
- Create API key and restrict to your domain
- Add the key to
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY
- Sign up at Neon
- Create new database
- Copy connection string to
DATABASE_URL
bun run db:push# Install dependencies
bun install
# Start development server
bun devVisit https://eve.codelikecrazy.dev to start using Eve!
# Development
bun dev # Start development server
bun build # Build for production
bun start # Start production server
# Code Quality
bun lint # Run ESLint
bun format # Format with Prettier
bun format:check # Check formatting
# Database
bun db:generate # Generate migrations
bun db:migrate # Run migrations
bun db:push # Push schema changes
bun db:studio # Open Drizzle Studio- Sign Up: Create account with Google or Discord
- Add Buddies: Invite trusted friends to your safety crew
- Set Availability: Toggle when you're available to be a buddy
- Open Eve and tap "Start Walk"
- Set Destination by tapping the map or entering an address
- Choose Buddy from your available crew members
- Start Walking - your buddy will see your live location
- Arrive Safely - automatic check-in when you reach your destination
- Get Notified when a friend starts a walk
- Track Progress on the live map
- Receive Alerts if the AI Guardian detects issues
- Stay Connected until your friend arrives safely
- View Glow Map to see community safety insights
- Add Pins after walks to share your experience
- Plan Routes using community-recommended paths
- Stay Informed about campus safety trends
- Emergency Button - Large red button for instant alerts
- Auto-Location Sharing - Sends precise location to your buddy
- Escalation Options - Can contact campus security if configured
web/
βββ app/
β βββ (landing)/ # Public landing page
β βββ (auth)/ # Authentication pages
β βββ (dashboard)/ # Main application
β β βββ dashboard/ # Dashboard home
β β β βββ buddies/ # Buddy management
β β β βββ walk/ # Walk features
β β β β βββ start/ # Start new walk
β β β β βββ [id]/ # Active walk tracking
β β β βββ map/ # Community map
β β βββ layout.tsx # App navigation
β βββ api/ # API routes
β β βββ auth/ # NextAuth endpoints
β β βββ walks/ # Walk management
β β βββ buddies/ # Buddy system
β β βββ pins/ # Community pins
β βββ globals.css # Design system
βββ components/
β βββ auth/ # Authentication UI
β βββ walk/ # Walk tracking components
β βββ map/ # Google Maps integration
β βββ buddy/ # Buddy system UI
β βββ ui/ # Reusable UI components
βββ lib/
β βββ auth.ts # Authentication config
β βββ maps.ts # Google Maps utilities
β βββ websocket.ts # Real-time communication
βββ server/
β βββ db/ # Database layer
β βββ services/ # Business logic
β βββ websocket/ # WebSocket server
βββ middleware.ts # Route protection
- Location Data: Encrypted in transit, automatically deleted after walks
- Buddy Permissions: Users control exactly who can track them when
- Emergency Override: Emergency features can override privacy settings
- Data Retention: Minimal data storage with automatic cleanup
- GDPR Compliant: Full user control over personal data
Eve is designed to scale across university campuses:
- Multi-tenant Architecture: Supports multiple campuses
- Campus-specific Maps: Customized for each campus layout
- Integration Ready: Can connect with campus security systems
- Analytics Dashboard: Campus administrators can view safety trends
- Customizable Features: Adapt to specific campus needs
Eve is built with campus safety in mind. We welcome contributions that enhance student safety through technology and community connection.
This project is focused on campus safety innovation and community building.
Built with β€οΈ for campus safety and community connection