About The Project

Feelings, but make them legible.

VibeCheck is a mental health text classifier built for students. Paste how you're feeling and the model identifies your emotional state across 8 categories — from everyday stress to clinical signals like suicidal ideation and directed aggression. The interface transforms its entire visual identity to match the result, so the experience feels as human as the problem it addresses.

Most sentiment classifiers reduce text to positive, negative, or neutral. That's not how feelings work. VibeCheck identifies the specific shape of distress — anxiety, depression, stress, bipolar mood cycling, personality-related volatility, suicidal ideation, or outward aggression — and lets the UI mirror it. Color, motion, typography, and the resources we surface all change with the result.

Under the hood there are two models. Quick Vibe is a single forward pass for an instant read. Deep Dive is a five-stage cascade that's deliberately tuned to favor catching suicidal cases over precision — the asymmetric cost of a missed crisis indicator demands that trade.

The Models

Quick Vibe

MentalBERT Flat v6

MentalBERT — BERT-base with mental-health pretraining — fine-tuned on an 8-class head. v6 retired the OLID-era Directed Aggression data and pulled in explicit threat-labelled examples from Jigsaw 2017 and Civil Comments. Same class, training data that actually reflects how aggression shows up in the wild. One forward pass, near-instant. For when you just want the vibe.

v6 update

Retired the OLID-sourced Directed Aggression data. Re-trained on threat-labelled examples from Jigsaw 2017 + Civil Comments — same class, training data that generalizes.

Test set

82.12%

Accuracy

774

Dep→Sui

533

Sui→Dep

Deep Dive

Hierarchical Cascade v6 (5 stages)

Five stages, each more careful than the last. A Directed Aggression gate up top (Cardiff RoBERTa). A suicidal early-exit. A normal-vs-distress splitter. A 5-class distress sorter, averaged across 3 seeds for stability. And a Longformer that re-reads up to 1,024 tokens of context when depression and suicidal start blurring together. Pick Balanced for everyday, Sensitive when missing a crisis would cost more than over-flagging. Slower than Quick Vibe, significantly sharper on the cases that matter.

Balanced

82.82%

Accuracy

941

Dep→Sui

266

Sui→Dep

Sensitive

82.45%

Accuracy

1113

Dep→Sui

161

Sui→Dep

Dep→Sui: Depression samples misclassified as Suicidal. Sui→Dep: Suicidal samples misclassified as Depression — the more critical error. Sensitive mode trades a small amount of macro F1 for catching ~40% more of these (266 → 161).

The Team

Fatma Al-Zahraa Emad

Fatma Al-Zahraa Emad

Gehad Mohamed

Gehad Mohamed

Hebatullah El Gazoly

Hebatullah El Gazoly

Hussein Ibrahim

Hussein Ibrahim

Mohamed Assem

Mohamed Assem

Project Supervision

Dr. Lamees Nasser

Assistant Professor

Eng. Mirna Ahmed

Teaching Assistant

Disclaimer

VibeCheck is an academic NLP project. It can spot patterns in text, but it can't read you. Whatever it produces is a guess based on training data — sometimes useful, sometimes off, and never the whole story of what you're carrying.

If it lands on a heavy label and that doesn't feel right to you, trust yourself first. The model isn't diagnosing you. It's reflecting a pattern back — that's exactly why the UI is built to feel like a mirror, not a verdict.

And if you are going through something heavy: you don't have to carry it alone. Reaching out — to a friend who'll just listen, a counselor, a crisis line — is one of the bravest things you can do, not a sign that things have to be at their worst. The numbers below are free and they're there for you whenever you're ready.

When you're ready to talk

Egypt — Suicide Prevention

16328 · 24/7

Shezlong — Online Therapy

shezlong.com

Worldwide — IASP

findahelpline.com