Inspiration
Online and hybrid learning is growing fast, but so is a quieter problem: disengagement that nobody notices until it's too late. Struggling students rarely raise their hand. They don't email a teacher or post in a forum. They just stop watching, stop logging in, and stop trying. By the time a teacher sees the falling grades, weeks of silent struggle have already passed.
We kept coming back to one question: what if the system could notice the struggle before the student has to say anything at all, and what if it could help without ever putting them on the spot? That question became Pulse.
What it does
Pulse is an early-warning layer for digital learning platforms. It continuously reads behavioral signals from a student's activity, such as login drop-off, repeated rewatching of a lecture segment, skipping straight to quizzes, declining quiz scores, abandoning a lecture midway, and leaving an end-of-lecture quiz unfinished.
When enough signals stack up, Pulse privately sends the student a targeted 2-minute recap of the exact concept they're stuck on, no public flag, no grade shown, just quiet support. If the student is still stuck after the recap, they can quietly flag it without ever having to raise their hand or approach a teacher in person. The teacher sees that flag immediately and can reply with a private, reassuring message directly through Pulse.
On the teacher's side, a dashboard ranks at-risk students by urgency, and separately tracks their effort: whether a student is actively engaging with the recaps and improving, still trying but not yet turning around, or fully disengaged. Every Monday, teachers also receive a weekly class report covering every student, not just the ones at risk, so nothing slips through unnoticed.
The whole thing is live and interactive, not just slides:
- Live demo: pulse-silent-alert.netlify.app
- Source code: github.com/rishabh305-debug/Pulse-Silent-Alert
How we built it
We started by defining the problem sharply: detection matters more than personalization, since most EdTech tools already personalize content but very few actually notice the moment a student starts slipping. From there we mapped out the concept end to end and built an actual working front-end prototype, not just a static mockup, so judges can click through the real flow instead of only reading about it.
- Frontend: React and Tailwind CSS for both the student nudge experience and the teacher dashboard, fully responsive across phones, tablets, and laptops
- Intended backend (for the full product): Python and FastAPI for the signal-scoring engine
- Intended data source: LMS activity APIs such as Moodle and Google Classroom, so institutions don't need to switch platforms
- Micro-recap generation: designed around an LLM that generates a short, targeted recap from the lecture transcript, focused only on the segment the student is struggling with
- Effort classification: kept intentionally rule-based rather than a trained model, so the logic stays transparent and explainable rather than a black box
We designed the wireframes and the working prototype around one principle: the student-facing experience should feel warm and private, never punitive, while the teacher-facing view should be scannable in a few seconds and immediately actionable. We also built a short narrated walkthrough video and deployed a live version so the project isn't just theoretical, it's something you can actually open and use.
Challenges we ran into
The hardest conceptual challenge wasn't deciding what signals to track, it was deciding what not to track. Our first draft included tab or app switching during a lecture as a disengagement signal. On closer thought, that idea fell apart: students switch tabs constantly for legitimate reasons, looking up a reference, checking documentation, or asking an AI tool for clarification. Flagging that behavior would have penalized the most curious, engaged students instead of catching the ones actually falling behind. We replaced it with a narrower, more honest signal: session abandonment, meaning a student leaves mid-lecture and never returns.
On the engineering side, making the dashboard genuinely responsive was trickier than expected. A layout that looked fine on a laptop actually broke on tablet-sized screens, the action buttons were getting clipped at the edge of the table on an iPad-width viewport, something we only caught by testing across real device sizes rather than assuming "no horizontal scroll" meant "looks good." We ended up giving phones and tablets a stacked card layout instead of squeezing a wide table into a narrow screen.
Accomplishments that we're proud of
We're proud that Pulse doesn't just flag risk, it distinguishes effort. Two students can look equally "at risk" on paper, but one is actively fighting to catch up while the other has fully checked out. Treating them the same wastes a teacher's time and misses the real crisis. Building that distinction into the dashboard, through the green, orange, and red effort badges, is one of the parts of Pulse we're most proud of.
We're also proud of the quiet doubt-flagging loop: a student who's too shy to raise their hand can flag that they're still stuck with one tap, privately, and the teacher can respond with reassurance without the student ever having to speak up in class. It's a small interaction, but it directly answers the insight that started this whole project.
Finally, we're proud that this isn't just a deck. We shipped a real, deployed, interactive prototype that anyone can open on their phone or laptop right now.
What we learned
We learned that in EdTech specifically, the difference between a forgettable idea and a strong one usually isn't the technology, it's the specificity of the insight. "AI personalizes learning" is a crowded, generic pitch. "Struggling students don't ask for help, you have to detect it" is a sharper, ownable one.
We also learned to be more critical of our own signals before presenting them, since a well-intentioned feature can quietly cause harm if it isn't scrutinized closely enough, and that "looks fine on my screen" isn't the same as "works everywhere," testing across real device sizes caught a real bug that a quick glance never would have.
What's next for Pulse
- Pilot Pulse with a single college class to validate signal thresholds against real student behavior
- Refine the effort-classification rules using real response data, and explore a gradual move toward a learned model once there's enough data to justify it
- Build out the real backend and wire up actual LMS integrations beyond the current front-end prototype
- Extend the weekly class report into a format useful for parent-teacher conversations and institutional reporting
Built With
- claude
- esbuild
- github
- html5
- javascript
- netlify
- react
- tailwindcss
Log in or sign up for Devpost to join the conversation.