π§ Check-In vs. Not Check-In Classifier
This model is a binary text classifier that determines whether a Slack message is a CHECKIN or NOT_CHECKIN. It was trained using a balanced dataset of real Slack check-ins and synthetic non-check-in examples. The model uses sentence-transformer embeddings combined with an XGBoost classifier.
π Use Case
This model is designed for automation systems such as Slack bots, n8n workflows, CIC MCP agents, and productivity tracking tools. It detects whether a user message represents real progress or general conversation.
Example predictions:
"Today I refined the workflow automation" β CHECKIN
"Does anyone have the Zoom link?" β NOT_CHECKIN
π Training Details
Dataset size: 4,277 total examples
Labels:
- CHECKIN: 2,139 real Slack check-ins
- NOT_CHECKIN: 2,139 synthetic non-check-in samples
Training achieved 100% accuracy due to the dataset being clean, consistent, and linearly separable.
π Repository Structure
checkin_or_not_classifier.json
README.md
π§ Inference Example
from sentence_transformers import SentenceTransformer
import xgboost as xgb
import numpy as np
from huggingface_hub import hf_hub_download
# ----------------------------------------------------
# 1. Load the embedding model (must be downloaded locally)
# ----------------------------------------------------
# Users must install: pip install sentence-transformers
embedder = SentenceTransformer("all-MiniLM-L6-v2")
# ----------------------------------------------------
# 2. Download your XGBoost model from HuggingFace Hub
# ----------------------------------------------------
model_path = hf_hub_download(
repo_id="mjpsm/checkin_or_not_model",
filename="checkin_or_not_classifier.json"
)
# Load the model
booster = xgb.Booster()
booster.load_model(model_path)
# ----------------------------------------------------
# 3. Prediction function
# ----------------------------------------------------
def predict(text: str):
emb = embedder.encode([text])
dmatrix = xgb.DMatrix(emb)
score = float(booster.predict(dmatrix)[0])
label = "CHECKIN" if score >= 0.5 else "NOT_CHECKIN"
return {"label": label, "score": score}
# ----------------------------------------------------
# 4. Example usage
# ----------------------------------------------------
example = "Today I worked on improving the automation workflow."
result = predict(example)
print(result)
π Intended Use
This model is intended for binary classification of short messages. It is not intended for sentiment analysis, toxicity detection, or general-purpose NLP tasks.
π License
Apache-2.0
β¨ Author
Mazamesso βMazzyβ Meba
University of North Florida
AI Automation & Engineering