01
Email text
The user pastes message content or loads a safe built-in example.
Machine learning security case study
A phishing-risk application that combines a trained TensorFlow text model with understandable security signals, then delivers the workflow through Streamlit and packaged desktop applications.
My role
ML pipeline, security rules, interface, packaging
Technology
The challenge
A raw classification score is hard to trust and difficult to act on. The project needed to identify suspicious email language while also showing concrete signals such as risky links, attachment wording, urgency, account pressure, spelling patterns, and message length.
The response
I combined TensorFlow text classification with a separate rule layer and presented both results in one interface. Users can paste an email, compare machine-learning and supporting rule scores, inspect detected signals, and try known phishing or safe examples without handling real attachments.
System design
01
The user pastes message content or loads a safe built-in example.
02
Text is normalized into the representation expected by the trained model.
03
TensorFlow estimates risk while transparent rules inspect common phishing signals.
04
The interface presents scores and evidence without automatically acting on the message.
Engineering decisions
These are the tradeoffs I would discuss in a technical interview.
Machine learning captures broader text patterns while explicit rules give users recognizable evidence they can discuss and challenge.
Streamlit provides a live browser experience, while PyInstaller and GitHub Actions create separate desktop releases for Apple Silicon, Intel macOS, and Windows.
The packaged application starts a private local server and opens the interface in the user’s browser, keeping pasted email text on that computer for the desktop workflow.
Security by design
Outcome
Lessons learned
LESSON 01
An explainable supporting rule layer makes an ML security result easier to inspect than a single probability score.
LESSON 02
Shipping a usable interface and repeatable release process is a different engineering problem from training the model.
LESSON 03
Security tools need clear limitations because false positives and false negatives carry real consequences.
Scope note
This is an educational risk-estimation tool. Its score should support human judgment, not replace professional email-security controls or become the sole basis for opening, deleting, or reporting a message.