Inspiration

Many of us have personally witnessed friends and people we care about stay in abusive relationships without ever speaking up whether out of fear, isolation, or simply not having a safe environment to reach out from. Survivors often can't seek help openly when their devices are monitored by an abuser. We built Safe Harbor because we believe everyone deserves access to support, even when they can't ask for it out loud.

What it does

Safe Harbor is a privacy-first web platform for survivors of domestic violence. To protect users on shared or monitored devices, the app is disguised as one of three everyday utilities, a Calculator, a News Reader, or a Weather app. Behind that cover, survivors can access real-time anonymous peer chat, a private evidence journal with media attachments, an AI-powered support assistant, bookmarked resources, and an SOS feature that alerts trusted contacts with the user's location. A one-tap panic exit instantly redirects the browser and clears the session, leaving no trace.

How we built it

We started with UI/UX design in Figma, then built the frontend using Next.js 14 with a glassmorphism design system. The backend runs on Node.js with a custom HTTP server, Socket.io for real-time chat, and MongoDB Atlas for persistent storage. Authentication uses JWTs stored in HTTP-only session cookies for zero-trace security. The AI support chat is powered by the Claude API, and files are stored in MongoDB GridFS.

Challenges we ran into

The biggest challenge was managing a growing frontend codebase across a team. As features expanded, merge conflicts became frequent and difficult to resolve. We also ran into issues with the Web Speech API, the hook is implemented but onresult wasn't firing consistently, so speech-to-text remains a work in progress.

Accomplishments that we're proud of

We shipped a full MVP with working authentication, real-time chat, an evidence journal, AI support chat, bookmarks, geolocation, and three fully functional cover app disguises, all within the hackathon window. Even features still being refined give a clear picture of what Safe Harbor can become and why its privacy-first approach sets it apart from other support platforms.

What we learned

We grew a lot as a team, learning to coordinate across branches, review each other's pull requests, and debug integration issues under pressure. These are the kinds of collaboration and problem-solving skills that only come from building something real together.

What's next for Safe Harbor

We plan to add end-to-end encrypted cloud sync, voice journal entries, more cover app identities, deeper integration with local legal and shelter resources, and offline-first support for users with unreliable connections. Our goal is to give every survivor a tool that feels as safe as it is powerful.

Built With

Share this project:

Updates