Inspiration

Muslim stay-at-home mothers and homemakers often want real-world friendship—but apps feel loud, public, and unsafe. Rahma (mercy / compassion) was inspired by a softer need: invite-only sisterhood nearby, without exposing a home address, ranking faith, or turning motherhood into a performance.

We built for the quiet first step out the door: a baking circle, a mosque walk, a gentle stroll—with privacy and dignity designed in from day one.

What it does

Rahma is an invite-gated, hyper-local web app where verified sisters can:

  • Discover gentle gatherings nearby (public, pod, or community) with approval-based RSVPs
  • Join interest “Circles” (Deen, seasonal, mosque buddy, volunteer, therapeutic support)—request to join, never auto-forced
  • Land in a micro-pod with sisters + chat for smaller, safer connection
  • Earn bravery rewards for showing up (RSVPs, check-ins via QR codes or manual host search) via an append-only points ledger and badges
  • Onboard with soft preferences: mother season, interests/Deen tags, meeting languages & cultural affinity (optional, never a hard lock), privacy controls, ID verification (file upload or camera capture), and a postal-code comfort radius on a free map (no street address)
  • Sync schedule and calendar availability to easily see when pod members are free to meet
  • Connect via event chatbots & pod chats, where event chat is private and only shows attendee names if you're approved (otherwise just showing the attendee count)

Exact venues stay private until a host welcomes you. Identity verification is reviewed by platform admins with private storage and short-lived signed URLs.

How we built it

  • Next.js + TypeScript + Tailwind CSS
  • Supabase: Auth (invite-gated magic links), Postgres + RLS, Realtime chat, Public Storage (avatars, event photos, ID uploads)
  • Maps: Leaflet + free OSM/CARTO tiles; postal geocoding via Nominatim + Zippopotam (Canadian FSA)

Challenges we ran into

  • Privacy vs usefulness: show a comfort radius without leaking home—rounded centroids, approximate maps, private exact addresses until approved
  • Map rendering without paid keys: MapLibre/OpenFreeMap failed blank in-browser; we moved the privacy circle UI to Leaflet + free raster tiles
  • Column-level grants: new profile preference columns existed but authenticated updates failed until grants were fixed—easy to misread as “form validation” bugs
  • Invite + verification + RLS: keeping discovery, RSVP, and chat safe while still feeling welcoming for a hackathon demo

Accomplishments we’re proud of

  • A full invite → onboarding → discover → RSVP → QR/admin check-in → rewards loop
  • Privacy-first location UX that still feels local
  • Soft language/cultural meeting preferences without hard barriers

What we learned

Designing for trust is product work, not just UI: invites, verification, approval RSVPs, and “approximate until welcomed” maps change the whole architecture (RLS, storage, geocoding, grants). We also learned that “free maps” means picking the right tile stack for reliability—not only the right geocoder.

What’s next

  • Stronger pod matching from interests + radius + availability
  • Better facilitator tools for Circles and therapeutic spaces
  • Partnering with Companies for in-app coupons/discounts incentives
  • Deploying app and user testing

Built With

Share this project:

Updates