Inspiration
College students—especially women—often have to make split-second decisions about which route to take, which party to go to, or whether an area feels safe. There's no real-time, crowd-sourced safety layer built for college campuses. We wanted to build that. The core insight: women don't trust men's safety assessments of spaces (for good reason), so gender-filtered flags give you an unbiased same-gender signal from people who actually share your experience.
What it does
Red Flags is a community safety map exclusively for Cornell students. Here's how it works: Sign in with your @cornell.edu Google account—no non-Cornell accounts allowed
Verify your identity by uploading a government-issued ID (driver's license, passport, or state ID) to confirm your gender without self-declaration, preventing spoofing
Drop a flag by pressing the big red button whenever you feel unsafe at your current location — your GPS coordinates are recorded and your flag appears on the shared map instantly
Check the map before you go out—see clusters of red dots across Cornell and Collegetown, and filter by women's flags or men's flags independently so you get an unbiased view from your own community One flag per person per day prevents spam and bot abuse. If a female student sees a dense cluster of women's flags on Route A but not Route C, she takes Route C. That's the whole idea.
How we built it
How we built it Frontend: React + Vite — fast, mobile-first UI with a dark aesthetic Auth: Firebase Authentication with Google Sign-In restricted to @cornell.edu via Google's hosted domain parameter Database: Firestore for real-time flag storage and sync Map: Google Maps JavaScript API with a custom dark style, showing gender-tagged dots that update in real time ID Verification: Upload flow that extracts gender from government ID documents Hosting: Vercel
Challenges we ran into
Challenges we ran into Enforcing Cornell-only access without building a custom SSO integration — solved using Google's hd (hosted domain) OAuth parameter Preventing gender spoofing without requiring Cornell to expose student records — solved with government ID upload flow Preventing spam and coordinated abuse (e.g. rival frats mass-flagging each other) — solved with a one-flag-per-day limit enforced at the database level with Firestore security rules
Accomplishments that we're proud of
Accomplishments we're proud of Clean, minimal UI that feels like a real consumer app Gender filter that actually hides the other gender's flags completely — not just a visual toggle The anti-abuse system that makes the data trustworthy Getting a working prototype built and deployed in one hackathon
What we learned
What we learned How to restrict Firebase Auth to a specific email domain How to structure Firestore security rules so users can only write under their own UID The importance of trust and data integrity in safety-critical apps — a safety map with bad data is worse than no map
What's next for RedFlags
Real ID verification pipeline using Stripe Identity or AWS Rekognition to auto-extract gender Dot clustering so dense areas show as heat maps rather than overlapping dots Time-decay so flags fade after 24–48 hours, keeping the map current Push notifications when you're near a high-density area Expansion to other universities—Cornell is just the start
Built With
- firebase
- firestore
- google-maps
- google-oauth
- react
- vite
Log in or sign up for Devpost to join the conversation.