<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Srujana Sadhu Sharma</title>
    <description>The latest articles on DEV Community by Srujana Sadhu Sharma (@srujanasadhusharma).</description>
    <link>https://dev.to/srujanasadhusharma</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3898923%2F64241592-3d87-4cf5-a850-0a68006edd4c.jpeg</url>
      <title>DEV Community: Srujana Sadhu Sharma</title>
      <link>https://dev.to/srujanasadhusharma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srujanasadhusharma"/>
    <language>en</language>
    <item>
      <title>Building Smart Student Engagement Detector: An AI-Powered Early Learning Issue Detection System using ML, NLP &amp; Multimodal Analytics</title>
      <dc:creator>Srujana Sadhu Sharma</dc:creator>
      <pubDate>Mon, 27 Apr 2026 14:30:04 +0000</pubDate>
      <link>https://dev.to/srujanasadhusharma/building-smart-student-engagement-detector-an-ai-powered-early-learning-issue-detection-system-46jk</link>
      <guid>https://dev.to/srujanasadhusharma/building-smart-student-engagement-detector-an-ai-powered-early-learning-issue-detection-system-46jk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Team members&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project was developed by:&lt;/p&gt;

&lt;p&gt;Devendhar Rao &lt;a class="mentioned-user" href="https://dev.to/devendhar_rao"&gt;@devendhar_rao&lt;/a&gt; &lt;br&gt;
Madhan Chowdary &lt;a class="mentioned-user" href="https://dev.to/madhan_chowdary"&gt;@madhan_chowdary&lt;/a&gt; &lt;br&gt;
Prabu Kiran &lt;a class="mentioned-user" href="https://dev.to/j_prabhukiran_9b653c71e"&gt;@j_prabhukiran_9b653c71e&lt;/a&gt; &lt;br&gt;
B. Rooprekha &lt;a class="mentioned-user" href="https://dev.to/roop_rekhabharde_eae873c"&gt;@roop_rekhabharde_eae873c&lt;/a&gt; &lt;br&gt;
Srujana Sadhu &lt;a class="mentioned-user" href="https://dev.to/srujanasadhusharma"&gt;@srujanasadhusharma&lt;/a&gt;&lt;br&gt;
Chanda Raj Kumar Sir &lt;a class="mentioned-user" href="https://dev.to/chanda_rajkumar"&gt;@chanda_rajkumar&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;We’d also like to thank &lt;a class="mentioned-user" href="https://dev.to/chanda_rajkumar"&gt;@chanda_rajkumar&lt;/a&gt; Sir for the constant guidance and support throughout this project. A lot of the clarity we had in system design and implementation came from those discussions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do students struggle without anyone noticing?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This is something we kept seeing again and again.&lt;/li&gt;
&lt;li&gt;A student starts missing a few classes. They participate a little less. Their feedback becomes vague - “okay”, “fine”, nothing detailed.&lt;/li&gt;
&lt;li&gt;Individually, none of this looks serious. But over time, it adds up.&lt;/li&gt;
&lt;li&gt;And by the time it reflects in marks, it’s already late.&lt;/li&gt;
&lt;li&gt;That’s where this idea came from - what if we could catch these signals early instead of reacting later?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What do we build?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We built a student engagement detection system that tries to answer one simple question:&lt;br&gt;
“Is this student starting to disengage?”&lt;br&gt;
Instead of depending on just marks or attendance, we combine multiple signals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Academic performance&lt;/li&gt;
&lt;li&gt;Attendance&lt;/li&gt;
&lt;li&gt;Behavioral patterns&lt;/li&gt;
&lt;li&gt;Written feedback
The goal is not just prediction, but early awareness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What does the system actually do ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once student data is available, the system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Looks at attendance and marks&lt;/li&gt;
&lt;li&gt;Processes feedback text using NLP&lt;/li&gt;
&lt;li&gt;Combines everything into an engagement score&lt;/li&gt;
&lt;li&gt;Classifies students as Engaged, Moderate, or At Risk&lt;/li&gt;
&lt;li&gt;Shows the result along with a confidence score
It’s not meant to replace teachers - just give them a clear early signal.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We kept things simple and practical:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React + Tailwind CSS&lt;/li&gt;
&lt;li&gt;Backend: Django Framework&lt;/li&gt;
&lt;li&gt;Database: MongoDB&lt;/li&gt;
&lt;li&gt;AI logic: ML + NLP&lt;/li&gt;
&lt;li&gt;Visualization: basic charts for dashboards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why MongoDB?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We went with MongoDB mainly because our data isn’t uniform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxq39z3d3hoywlwvu4fa7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxq39z3d3hoywlwvu4fa7.png" alt=" " width="720" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A single student record can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Numbers (marks, attendance) &lt;/li&gt;
&lt;li&gt;Text (feedback) &lt;/li&gt;
&lt;li&gt;Computed results (scores, labels)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Trying to force all of that into rigid tables didn’t feel right.&lt;/p&gt;

&lt;p&gt;MongoDB made it easier to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store mixed data &lt;/li&gt;
&lt;li&gt;Update fields when predictions are generated &lt;/li&gt;
&lt;li&gt;Fetch everything in one go for dashboards &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI / ML / NLP - what’s actually happening behind the scenes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We didn’t use anything overly complicated, but we focused on combining things properly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v3vj2capiz62x40lzje.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6v3vj2capiz62x40lzje.png" alt=" " width="497" height="795"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Basic prediction model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At the core, we use a simple feature-based approach:&lt;br&gt;
F = {attendance, marks, behavior, feedback}&lt;br&gt;
Each of these contributes to the final engagement score.&lt;br&gt;
For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low attendance → increases risk &lt;/li&gt;
&lt;li&gt;Low marks → increases risk &lt;/li&gt;
&lt;li&gt;Negative feedback → strong signal
It’s simple, but when combined, it becomes quite effective.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;NLP for feedback analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This was one of the most useful parts.&lt;br&gt;
Students often write things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“I didn’t understand this topic” &lt;/li&gt;
&lt;li&gt;“This is confusing” &lt;/li&gt;
&lt;li&gt;“It’s okay” 
Even if marks are fine, this kind of feedback can indicate a problem.
So we use basic NLP to:&lt;/li&gt;
&lt;li&gt;Detect sentiment &lt;/li&gt;
&lt;li&gt;Identify confusion or negativity 
This adds a layer that numbers alone can’t capture.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Multimodal approach&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most systems look at one thing, marks or attendance.&lt;br&gt;
We combine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Numerical data &lt;/li&gt;
&lt;li&gt;Behavioral data &lt;/li&gt;
&lt;li&gt;Text data 
This gives a much more complete picture of what’s going on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Deep learning (from research side)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In our research work, we also explored:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LSTM models for tracking patterns over time &lt;/li&gt;
&lt;li&gt;Attention mechanisms to weigh features &lt;/li&gt;
&lt;li&gt;Transformer-based NLP for deeper text understanding 
These aren’t fully implemented in the current system, but they show where this can go next.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Combining everything&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The important part isn’t each individual model—it’s how they work together.&lt;br&gt;
We:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Process numerical data &lt;/li&gt;
&lt;li&gt;Analyze text feedback &lt;/li&gt;
&lt;li&gt;Combine everything into one score 
That combination is what improves accuracy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How the system works (step by step)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User logs in &lt;/li&gt;
&lt;li&gt;Student data is entered &lt;/li&gt;
&lt;li&gt;Data is cleaned and prepared &lt;/li&gt;
&lt;li&gt;Feedback goes through NLP analysis &lt;/li&gt;
&lt;li&gt;All features are combined &lt;/li&gt;
&lt;li&gt;Engagement score is calculated &lt;/li&gt;
&lt;li&gt;Result is shown on the dashboard &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzop6muylqo4gok9abi77.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzop6muylqo4gok9abi77.png" alt=" " width="721" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We compared different approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marks only is 78%&lt;/li&gt;
&lt;li&gt;Attendance only is 75%&lt;/li&gt;
&lt;li&gt;Basic combination is 82%&lt;/li&gt;
&lt;li&gt;Our system is 88%
The improvement mainly comes from including feedback analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What we observed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A few interesting things came out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Students with low attendance + negative feedback were almost always at risk &lt;/li&gt;
&lt;li&gt;Some students had decent marks but negative sentiment in feedback &lt;/li&gt;
&lt;li&gt;NLP helped catch issues that weren’t visible otherwise &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsx7505p41lw3vyhx9ao.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsx7505p41lw3vyhx9ao.png" alt=" " width="501" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We kept the UI simple:&lt;br&gt;
For teachers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See all students &lt;/li&gt;
&lt;li&gt;Quickly identify at-risk ones &lt;/li&gt;
&lt;li&gt;View basic trends &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For students:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See their engagement level &lt;/li&gt;
&lt;li&gt;Understand where they stand &lt;/li&gt;
&lt;li&gt;Get suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmj18jgd6ygi8hrme4rd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmj18jgd6ygi8hrme4rd.jpg" alt=" " width="650" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F452vzp0qf34d76me3cjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F452vzp0qf34d76me3cjc.png" alt=" " width="675" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9u5frcbwrb3gomebb20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9u5frcbwrb3gomebb20.png" alt=" " width="548" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5xy8fui5acf648f94bs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5xy8fui5acf648f94bs.png" alt=" " width="335" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farbko411vy5cza6sy4ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farbko411vy5cza6sy4ip.png" alt=" " width="603" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataset was limited &lt;/li&gt;
&lt;li&gt;Results depend heavily on input quality &lt;/li&gt;
&lt;li&gt;No real-time tracking yet &lt;/li&gt;
&lt;li&gt;The model is still fairly simple &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s next&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There’s a lot of scope to improve this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use more advanced ML models &lt;/li&gt;
&lt;li&gt;Add real-time monitoring &lt;/li&gt;
&lt;li&gt;Build a mobile version &lt;/li&gt;
&lt;li&gt;Support multiple languages &lt;/li&gt;
&lt;li&gt;Give more personalized recommendations &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final thought&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most systems tell you:&lt;br&gt;
“This student has already failed.”&lt;/p&gt;

&lt;p&gt;We’re trying to build something that tells you:&lt;br&gt;
“This student might need help right now.”&lt;br&gt;
That small shift in timing can make a big difference.&lt;/p&gt;

&lt;p&gt;Links&lt;br&gt;
GitHub:&lt;a href="https://github.com/Devendhar2006/PFSAD.git" rel="noopener noreferrer"&gt;https://github.com/Devendhar2006/PFSAD.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>mongodb</category>
    </item>
  </channel>
</rss>
