About the Project
Inspiration
Nearly everyone communicates through messaging platforms, and we trust those conversations because we trust the person behind them.
But we noticed something subtle: accounts look valid even if they are hijacked.
After seeing compromised accounts and scam messages from friends or mutuals, the question became: how do you know it’s still the same person talking to you?
Current systems verify access — passwords, sessions, devices — but they don’t verify behavior.
People have a strong gut feeling, and leveraging a digital synonym is achievable.
That led to a simple idea: identity is not a login event, it’s a pattern over time.
What We Built
We built a Behavioral Trust Layer for messaging.
Instead of asking “is this account logged in?”, we ask: “does this message still feel like the same person?”
The system works in three parts:
Behavioral profiling
- Learns how a user typically communicates (tone, structure, emoji use, cadence)
Real-time message scoring
- Detects tone drift and suspicious signals (urgency, financial requests, etc.)
Pattern + spread detection
- Links suspicious messages across users to identify recurring scam patterns
We also introduced a lightweight experimental idea:
Identity has two layers:
- how you usually express yourself (personality)
- what you are trying to do (intent)
Even if an attacker mimics tone, intent is harder to fake.
How We Built It
We focused on a lightweight, explainable system that could be demoed clearly in a hackathon setting.
- Built a client-heavy Next.js app with a small API layer
- Used simple statistical features to model tone:
- message length, punctuation, emoji density, vocabulary patterns
- Applied rule-based signals for scam detection:
- urgency, financial requests, authority language
- Added similarity matching to detect repeated scam patterns across users
- Structured the UI as a story-first experience:
- from one suspicious DM → to platform-wide spread
The system intentionally avoids heavy ML dependencies so that:
- results are explainable
- the demo is reliable
- the core idea is easy to understand
Challenges
- Making “tone” measurable without making it feel vague or magical
- Keeping the system simple enough to explain in under 2 minutes
- Balancing personal detection (one DM) with platform-level value (pattern spread)
- Avoiding overengineering while still showing a forward-looking system
What We Learned
- The emotional story matters as much as the technical implementation
- Users recognize tone shifts intuitively, but need help explaining them
- Behavioral signals can be surprisingly effective even without heavy ML
- Platform-level value becomes clear when patterns are connected, not isolated
We also learned that:
people connect fastest with “this could happen to me” before they care how it works
Future Work
- Add embedding-based semantic similarity for paraphrase-aware scam detection
- Detect intent drift, not just tone drift
- Analyze multi-message sequences instead of single messages
- Explore platform policies:
- when to warn users vs when to intervene (password reset for example)
- More intelligent filtering as human chats are as variable as our lives, which are ever-changing.
Recent advances in embeddings and lightweight models make it possible to detect not just how messages are written, but what they mean — without requiring heavy infrastructure.
Closing Thought
We don’t replace authentication.
We add a behavioral warning layer for when trust silently breaks.
Built With
- behavioral-analysis
- cloudflared
- jaccard-similarity/token-matching
- local-json
- next.js
- node.js
- react
- scam-detection
- typescript


Log in or sign up for Devpost to join the conversation.