EchoLoc
Privacy-first live location sharing — Expo/React Native app with timed sharing sessions, group invites, in-group chat, and a live map over Socket.IO with the custom Echo_API backend.
System Architecture
The Expo app authenticates and manages groups over REST, then streams location pings through a Socket.IO channel while a session is live. The session manager enforces the time window — when the timer expires or the user stops, sharing ends and the channel closes for that member.
Database Design
Sharing is modeled as expiring sessions, not user state — pings hang off a session, so when it ends the location trail stops with it.
Engineering Challenges
Timed privacy model
Sharing is scoped to a user-defined window — sessions auto-expire server-side, so no client bug can leave tracking on.
Live group map
Location pings fan out over Socket.IO rooms to group members in real time while a session is active.
Event-based groups
Invite codes, membership roles, and in-group chat support temporary sharing circles around real events.
Multi-provider auth
Email plus Google and Apple sign-in for low-friction mobile onboarding.