Discord Usernames: arvin08674, andrewplot, asap2025_29233, hidhayathnisha_52169

Inspiration

With the rise of coding assistants such as Copilot, many of us, primarily programming students, have noticed an unintended side effect of making us passive problem-solvers. Instead of thinking through bugs or logical errors, we often turn to an AI when stuck. We wanted to flip that dynamic.

Our project, Nudge.ai, was inspired by the idea of helping developers learn through the struggle, rather than avoiding it. Being stuck on a problem can be demotivated when you don't know how to approach it. Thus, Nudge detects when you may be stuck and guides you with hints, documentation, and insights. The goal isn't to replace your thinking, it's to support it.

Combining synthetic data, real user feedback, and user analytics, Nudge learns and helps developers and educators understand where coding frustration peaks. It turns being stuck on a problem into a learning opportunity rather than a roadblock.

What it does

Nudge.ai tracks a student's behavioral patterns as they're coding using an ML model with eighteen features to determine if and where a student is struggling. If yes, it then provides a subtle pop-up with a hint and/or relevant documentation, pointing a student in the right direction, without offloading critical thinking. The model would adapt and be retrained based on behavioral tendencies.

How we built it

First, we identified 18 IDE signals including idle time, editing behavior, cursor movement, error patterns, etc. while a student is writing or debugging code. We then trained a machine learning model on simulated data to gauge confidence of the user being stuck or not. Signals are collected via a FastAPI backend, allowing data to be piped to the ML model and determining whether the user is stuck or not. The user's code and behaviors are then sent to the Dedalus API connected to a Gemini MCP to return a hint and any relevant documentation. The user signals are then saved to the database to periodically retrain the model. TypeScript and JavaScript are used for the frontend.

Challenges we ran into

Some challenges included initial idea brainstorming, and running the extension on a non-standardized development machine. Discussion and mentor guidance helped with the first, while virtual environments and a verbose requirements document were used to rectify the latter.

Accomplishments that we're proud of

We're incredibly proud to have trained a machine learning model and implemented a robust full-stack architecture, passing all generated test suites.

Nudge.ai is one of the first tools that tracks cursor and other subconscious behavioral tendencies to gauge a developer's current cognitive friction, providing hints rather than immediately returning the solution, encouraging critical thinking rather than offloading to a copilot.

What we learned

All of us were introduced to cloud computing, Dedalus, VSCode Extension development, and IDE user behavioral extraction. Additionally, we learned about how to more effectively collaborate with Git branches, different Python interpreter versions, virtual environments for consistent testing, and effective debugging.

What's next for Nudge.ai

We aim to have a professor-facing dashboard providing with insights as to where most students are most often stuck, as well as a hierarchical hint system providing increasingly more information if the user remains to be stuck.

Share this project:

Updates