Inspiration

“Text me when you get home” is a small promise that carries a lot of care. But what happens when someone forgets to check in, their battery runs low, or the person waiting falls asleep?

We built SafeCircle to give that promise a clear plan. Before walking home, taking a rideshare, or meeting someone new, users can decide who should notice, when to check on them, and what information they are comfortable sharing.

The idea behind SafeCircle is simple: someone should notice—and you should choose who.

What it does

SafeCircle organizes personal safety around temporary Safety Sessions. Users choose a session type, destination, and expected-safe time, then check in or mark themselves safe.

Its safety engine evaluates conditions such as missed check-ins, overdue arrival times, and low battery. It explains why a session needs attention instead of claiming to know whether someone is in danger.

The project includes:

  • A Guardian Circle with primary and backup contacts.
  • Configurable check-in and escalation workflows.
  • A Guardian Live web view for authorized session information.
  • Safety Capsules containing information approved for sharing.
  • Privacy controls for status-only, approximate, or precise-on-escalation sharing.
  • SafeCircle+ subscriptions managed through RevenueCat.

Basic Safety Sessions and check-ins remain available without a subscription. SafeCircle is a hackathon prototype, and its remote delivery and background behavior require further real-world validation.

How we built it

We built the main app in native Android using Kotlin, Android Views, and Material Components. ViewModels, repositories, and separate domain engines organize session state, safety rules, escalation, and SafePhrase logic.

A FastAPI backend supports session synchronization and the Guardian web experience. WorkManager handles scheduled background tasks, while an offline event queue supports retrying updates after connectivity returns.

The project implements Android Keystore and AES-GCM encryption for local Safety Capsules, alongside expiring Guardian access tokens and privacy-scoped API responses.

We integrated RevenueCat to manage the safecircle_pro entitlement, hosted paywalls, subscription status, purchase restoration, and Customer Center. Monthly and yearly packages share the same entitlement.

Challenges we ran into

The hardest part was coordinating the traveler’s session with the guardian’s view. Starting, extending, escalating, and resolving a session all need consistent behavior across devices and intermittent connections.

Privacy added another challenge: guardians need useful information, but users should control when sensitive details become available.

We also had to separate essential safety functionality from premium customization. Subscription state should not prevent someone from checking in or marking themselves safe.

Accomplishments that we’re proud of

We turned a familiar everyday concern into a connected prototype with an Android experience, backend synchronization, a Guardian portal, and RevenueCat integration.

We are especially proud of the explainable session states and consent-based sharing model. Users can understand what changed and how their information is handled.

We also created a repeatable judge demonstration that walks through starting a session, showing concern, reviewing the guardian experience, and resolving the session.

What we learned

Personal safety software needs clear communication as much as automation. A missed check-in is a reason to ask for confirmation; it is not proof of an emergency.

We learned to design around delayed updates, offline devices, and session resolution from the beginning. We also learned that privacy must shape the workflow, permissions, and data shared—not just the settings screen.

What’s next for SafeCircle - Someone Should Notice

Our next priority is testing with travelers and guardians to understand whether session setup, alerts, and resolution are clear and useful.

We plan to validate background behavior across Android devices, test configured notification delivery, complete accessibility and security reviews, and refine subscription packaging through user feedback.

We also want to develop the iOS reference client further and evaluate family and recurring-commute workflows.

Our goal is to help people coordinate care through temporary, understandable safety plans that respect their choices.

Built With

Share this project:

Updates

Submission history