Skip to content

BondhuKoi

See which friends are on campus, without anyone seeing where you are. Friends only ever see “On campus” or “Away”.

BondhuKoi: see which friends are on campus, without anyone seeing where you are

The problem

Between classes, students send “who's on campus?” to five group chats. Location-sharing apps could answer it, but they show exactly where you are, all day, to friends and to the company running them. BondhuKoi answers only the question that matters, and keeps only that answer.

What I built

  • An Android app (Expo, Expo Router) that watches the campus edge and sends a single reading only when you cross it
  • A Fastify API that answers “inside or not?” against PostGIS boundaries, stores only the answer and throws the reading away
  • Circles: draw your thesis lab or the library on the map, and members see who's there right now
  • Arrival alerts that need a yes, quiet hours, one-tap pause, and a “Who can see me” screen that stops anyone in one tap
  • Students only: sign-up gated by university email in the database, friends added by code, QR or name
  • An admin console with required 2FA and no way to see locations; row-level security, 80 API tests with fuzzing, and CI with audits and secret scanning

Outcome

  • Prepared for Google Play, with a beta planned for about 80 NSU students
  • Nobody, admins included, can see where anyone is or was
  • Runs on free tiers: $0 a month to host

Screens

  • Home: your own status first, then which friends are on campus now
    Home: your own status first, then which friends are on campus now
  • A circle: its place, who's here now, members and today's arrivals
    A circle: its place, who's here now, members and today's arrivals
  • Who can see me: every friend, circle and alert that can see anything about you
    Who can see me: every friend, circle and alert that can see anything about you
  • Circles: invitations and the groups you're in, with who's there
    Circles: invitations and the groups you're in, with who's there
  • A friend: their status, arrival alerts, and remove, block or report
    A friend: their status, arrival alerts, and remove, block or report
  • Sharing and quiet hours: nothing is shared from 6 PM to 6 AM by default
    Sharing and quiet hours: nothing is shared from 6 PM to 6 AM by default

Stack

  • Expo
  • React Native
  • Fastify
  • Supabase
  • PostGIS
  • Cloud Run
  • Cloudflare Pages