Inspiration

Domestic abuse and harassment often hide in everyday interactions, appearing as subtle threats, gaslighting, and manipulative behaviors that quietly escalate. Traditional methods often miss these hidden patterns, leaving survivors isolated and unsupported. Inspired by this critical gap, we created Bifocal—a dual-lens AI platform designed to proactively detect escalating risks in conversations, illuminate hidden threats through DSM-informed insights, and empower users with personalized guidance to regain control and safety.

What it does

Bifocal analyzes a user’s message history using advanced AI and machine learning to proactively flag messages that may pose risks or signal escalating abusive behaviors. Through sentiment analysis and behavioral pattern recognition informed by DSM-5 criteria, Bifocal generates comprehensive risk assessment scores for both conversations and individuals.

From the victim’s perspective, it detects trauma language, emotional distress, and signs of psychological harm. From the offender’s perspective, it identifies behavioral patterns linked to traits like narcissism, coercive control, and antisocial tendencies.

Bifocal also incorporates user-reported emotional feedback to highlight specific messages that may have contributed to distress. It provides clear, DSM-informed explanations for why interactions are flagged, along with personalized advice, resources, and actionable steps—empowering users with tools to better understand their situation and make informed decisions toward safety.

How we built it

We developed Bifocal as a responsive web application using React and TypeScript, leveraging Emotion for intuitive and calming user interfaces. We employed Retrieval-Augmented Generation (RAG) to integrate DSM-informed psychological frameworks, effectively linking message patterns to clinical indicators and enabling context-aware behavioral analysis.

Our NLP (Natural Language Processing) approach included sentiment analysis to identify emotional states, entity recognition for understanding relationship dynamics, pattern detection for manipulative tactics, and linguistic analysis for psychological indicators. Additionally, we used Machine Learning Classifiers for behavioral pattern classification, risk level prediction, escalation trajectory modeling, and anomaly detection to identify concerning changes.

The MCP (Model Context Protocol) provided secure, tool-based access to the iMessage database, facilitating detailed and accurate analyses of conversation patterns. DSM-5 criteria guided the overall behavioral analytics, ensuring clinical accuracy in risk evaluations.

Challenges we ran into

Message Context Complexity: Parsing real-world conversations with varying tones, slang, and context made it challenging to ensure the AI understood nuance, especially in emotionally ambiguous interactions

Tool Integration: Establishing a reliable and secure protocol for accessing and analyzing iMessage logs introduced technical hurdles and required creative handling of permissions and privacy safeguards.

Accomplishments that we're proud of

  • Successfully implementing a dual-lens analytical approach, uniquely integrating both victim-focused emotional indicators and offender-focused behavioral patterns.
  • Creating a user-friendly platform that clearly communicates complex psychological insights in an approachable and actionable format.
  • Achieving high accuracy in identifying abusive patterns, validated by DSM-5 criteria.

What we learned

This project significantly enhanced our understanding of behavioral psychology and the subtleties of emotional and psychological abuse detection. We gained valuable insights into NLP applications for sensitive topics, honed our frontend and visualization skills, and learned the importance of empathetic and supportive design in applications dealing with trauma.

What's next for bifocal

  • Developing a mobile app to reach users more effectively.
  • Integrating additional communication platforms such as WhatsApp and social media.
  • Training models to understand who messages are from, so friendly messages from close contacts aren't flagged, but the same from strangers might be.
  • Daily check-ins with the user.
Share this project:

Updates