Skip to content
AG
All projects
2025LiveWeb App

MeetSpont

Hyper-local anonymous chat platform

A production location-based web app for anonymous, real-time chat between people inside a strict 3-mile radius. Architected, deployed and launched end to end; the React Native client is in progress.

Role
Architect & full-stack developer
Year
2025
Type
Web App
Status
Live

Architecture

01

Geo-spatial matching in the database

Proximity is resolved by an optimised geo-spatial query in PostgreSQL through Supabase, so the set of people you can reach is computed server-side from live position data rather than assembled in the client.

02

Authenticated but anonymous

Google OAuth through Firebase Authentication establishes a real account behind every session, while the identity presented to other participants stays anonymous. The two concerns are kept separate rather than trading one for the other.

03

Shared core, second client

The React Native application now under development reuses the same backend and query layer, so the mobile client expands reach without forking the data model.

Security architecture & OWASP mitigations

  • A01:2021 — Broken Access Control

    A modified client asking for conversations outside its 3-mile radius, or for another user's messages.

    The radius filter is part of the server-side geo-spatial query rather than a client-side filter, so the client can only ever receive rows the database already scoped to it.

  • A07:2021 — Identification & Authentication Failures

    Impersonation or session reuse in a product where nobody is identified by name.

    Google OAuth via Firebase Authentication backs every anonymous participant with a verified account, so anonymity is a presentation choice rather than an absence of authentication.

  • Privacy — location exposure

    Precise coordinates leaking to other participants and turning a chat app into a tracking tool.

    Matching is expressed as membership of a radius rather than as an exchange of coordinates; the client is told who is reachable, not where they are.

Stack

  • Next.js
  • React
  • TypeScript
  • Supabase
  • PostgreSQL
  • Firebase Auth
  • React Native