SenTrac
Agencies see how audiences feel about a campaign, scored fairly across six channels
SenTrac turns a campaign's post URLs into a shareable report on how the audience feels. We built its sentiment engine from dedicated models for sentiment, emotion, toxicity and sarcasm, on one 0 to 100 scale across every channel.
Marketing & MediaSocial sentiment analytics SaaSBuilt from zero
The challenge
Social comments are full of sarcasm, slang, emoji and mixed languages, and one campaign spans six platforms and many formats. The founder needed numbers he could defend to clients.
What we did
A dedicated model for each signal, one score scale for every channel, reactions scored on their own, and an editable AI summary beside each chart, all agreed screen by screen before code.
The outcome
The founder picked us after a paid discovery he ran with several agencies, recommended us to another founder, and all five build milestones are complete ahead of launch.
- Channels
- X, Instagram, Facebook, TikTok, YouTube, LinkedIn
- Signals
- Sentiment, emotion, toxicity, sarcasm, reactions
- Score
- 0 to 100 on every channel, 50 is neutral
- Reports
- Single campaign, comparison, PDF and share links
The starting point
SenTrac is a SaaS for agencies and brands that run influencer and social campaigns. A user pastes the post URLs that make up a campaign, a Trac, and gets a report on how the audience feels, by platform, format, date, language, age, gender and location.
What had to change
Collecting comments, reactions and shares by hand is slow and error prone, and existing tools export raw comments or miss channels and formats. Plain sentiment models also misread social language full of sarcasm, slang, emoji and mixed languages.
What could not break
- Every metric is defined and defensible before it reaches a client report
- Scores compare fairly across platforms and across video, image, carousel and livestream posts
- A post is never penalized for reactions its platform does not offer, and Instagram has only a heart
- Users can correct the AI: summaries stay editable and wrong results can be flagged
The calls we made
We treated it as a measurement problem first: decide what each number means, then pick the models that can produce it on messy social language.
- 01
A dedicated model for each signal
The founder asked us to compare Hugging Face models, GPT-4 class models and custom classifiers. We recommended efficient pre-trained models for the volume of comments, one each for sentiment, emotion, toxicity and sarcasm, with a larger LLM kept for summaries.
Ruled outSending every comment to one large model.
- 02
One scale for every channel
Each comment's positive, neutral and negative shares are normalized to 100, then turned into a 0 to 100 score where 50 is neutral, so a TikTok video and a LinkedIn post land on the same scale.
Ruled outComparing raw scores across platforms that return different data.
- 03
Anger counts, but only hate reads as severe
A toxicity model alone scored polite but angry comments near zero, so we blend in the anger signal at half weight: anger alone can reach moderate, and only real hate speech or profanity reaches severe.
Ruled outToxicity from the hate speech model alone.
- 04
Score reactions on their own
Platforms offer different reactions, so each reaction emoji carries a predefined sentiment that sits beside the engine's comment scores, and a missing thumbs up never pulls a post down.
Ruled outOne reaction scale applied to every platform.
- 05
Agree every metric before code
We designed the full product in Lovable, then Figma, and settled each metric with the founder screen by screen, from average sentiment per post to a sentiment based engagement ratio, before the build began.
How the system fits together
What we built
Sentiment engine
Positive, neutral and negative shares with a 0 to 100 score, five emotions from happiness to fear, toxicity graded clean, moderate or severe, sarcasm, and emoji and reaction sentiment, across languages.
Single campaign report
Core metrics grouped as reach, engagement and audience interaction, sentiment by platform, format, date, location, language, age and gender, and top posts, influencers and comments, with an editable AI summary beside each chart.
Comparison and branded sharing
Side by side comparison of campaigns, PDF export and share links that keep SenTrac branding unless an agency has a white label plan, sentiment threshold alerts and search across a campaign's posts and comments.
Feedback on AI results
A feedback button lets users flag a wrong result, and each flag is stored for review and model improvement.
How it works
Create a Trac
The user pastes the post URLs that make up a campaign.
Collect
Each post's comments, reactions and engagement are collected from its platform.
Score
Dedicated models score sentiment, emotion, toxicity and sarcasm for every new comment on one 0 to 100 scale.
Report
Scores roll up by platform, format, language and audience, with an AI summary beside each chart that the user can edit.
Correct and share
Users flag any wrong result, then share the report as a PDF or a link.
A closer look
What changed
The founder chose us after running the same paid discovery with several agencies, approved the report and comparison designs, and recommended us to another founder before development began. All five build milestones are now complete, and the final design polish and regression testing are under way ahead of launch.
- A paid discovery run with several agencies
- Selected after
- The founder recommended us to another founder
- Referral
- All five milestones complete ahead of launch
- Build
“Umair and his team at Datics have done an outstanding job developing SenTrac, our AI-powered sentiment analysis platform. What I have appreciated most is their willingness to understand our vision, work through complex requirements, and incorporate feedback as we refine the platform.”
Under the hood
- Datics role
- Product built by Datics
- Models
- Pre-trained transformer models score each signal: a sentiment classifier, GoEmotions for emotion, a toxic comment model and a sarcasm detector; the design names GPT-4o through the OpenAI SDK for summaries.
- Scoring
- Class shares are normalized to 100, the score runs from 0 to 100 with 50 as neutral, toxicity is clean below 30 and severe from 65, and a comment counts as sarcastic above 50.
- Evaluation
- The AI blueprint set precision, recall, F1 and ROC-AUC as the measures for the sentiment models, with retraining, and flagged results are stored for model improvement.
- Pipeline
- Python workers run the sentiment pass after each collection and roll results up by platform, format, language, age and gender for the reports and dashboards.
AI and models
Data and retrieval
Apps and APIs
Also in the stack
How it shipped
Paid discovery
A competitor review, a per platform map of what data can be extracted, a full list of campaign stats and an AI engine recommendation, which the founder weighed against other agencies' work before choosing us.
Design and metric definitions
The product was designed in Lovable, then Figma, through many feedback rounds on each report screen and the PDF report, until the founder approved the report and comparison directions.
Scope and build plan
Later scope versions added AI summaries, alerts and campaign comparison while the product was still in design, and set a build plan of five milestones.
Build in sprints
Two week sprints delivered the sentiment engine and the full report first, then comparison, the remaining channels, dashboards and alerts, and the super admin portal.
Polish ahead of launch
With all five milestones built, the team is matching every screen to the approved designs with the founder, followed by regression testing before launch.
Metrics settled in the prototype
Report screens and the PDF report went through many review rounds with the founder, and naming, grouping and metric definitions were agreed in the prototype before engineering began.
Sprints with a daily scrum
Development ran in two week sprints with a daily scrum, and the founder's feedback was logged in a shared tracking list from the first week of the engagement.
What this unlocked
After launch, later scope adds keyword and trend monitoring, more channels and tuning the sentiment models on the platform's own labeled data.
Related work
Have a product with the same kind of constraints?
Tell us what already exists and what you want it to do. We will tell you what it takes.
