Turning daily practice into a habit
How a single coding question a day went from "why should this exist?" to something half the student body did every day.
- Problem: students practised coding on scattered platforms. Nobody, including the students themselves, could see what they had attempted, and many questions needed concepts they hadn't been taught yet.
- Bet: one question a day, matched to what each year has actually studied, with practice data in one place.
- Result: 600+ daily active users. Over half the students kept a 30+ day streak, and QoTD activity showed a strong positive correlation with exam scores.
01The problem
Our students know they should practise coding problems every day, because internships and placements depend on it. When I started talking to them, I found that practice was already happening, just in pieces. Students solved problems on LeetCode, GeeksforGeeks and InterviewBit, a few here and a few there.
That caused two problems.
- No one could see the practice. Neither students nor instructors had a picture of who was practising, how often, or on what. We couldn't help with placement prep for students we knew nothing about.
- The questions didn't match what students had learned. A first-year student who opens a "medium" problem on LeetCode often finds it needs graphs or trees, which they haven't studied yet. They get stuck, decide they're bad at this, and stop.
The problem wasn't motivation. Students were picking questions they had no way of solving yet.
02Getting a yes
"Students should practise more" isn't a product, and the CTO rightly asked why we needed to build anything when free platforms already existed. So the pitch couldn't be about practice in general. It had to show what the existing platforms couldn't give us:
- Practice matched to the syllabus, released as each year covered the concepts.
- Data we owned on attempts and streaks, so instructors could step in and placement prep could be personalised.
- A shared ritual, where the same question goes to the whole cohort on the same day, so students can talk about it.
The student interviews were the evidence. That's what got it approved.
03Key decisions
Each year got questions only on concepts it had already covered. A first-year student never meets a graph problem in week three.
First-years want confidence and fourth-years want placements. Motivation and question style were set separately for each year.
A new question every day for every year needs a reliable pipeline. I split the work into ideation, creation and review across the Delhi NCR, Bengaluru and Pune campuses, with instructors owning each stage.
Instructors brought QoTD up in class every week. For students who reached a 100-day streak, there was a T-shirt, something visible they could wear around campus.
04Defining success
I didn't want "people use it" as the only goal, so I set targets against a base of about 2,100 students. Some targets were about habit, some about volume, and one about whether practice actually helped.
| Metric | Target | Why it mattered |
|---|---|---|
| Students on a 30+ day streak | 250 by mid-sem | Is it a habit, not a novelty? |
| Students doing 4+ QoTDs a week | 400 by mid-sem | Regular use beyond the hardcore few |
| Students with 50+ questions solved | 600 by end-sem | Enough practice volume to matter |
| Correlation of QoTD with exam marks (1st & 2nd year) | ≥ 0.4 | Does it actually help people learn? |
The last metric was the one I cared about most. Engagement metrics can be gamed, but a correlation with exam marks is much harder to fake.
Measurement: I first tried setting up Mixpanel for event tracking. After discussing it with the analytics team, we went with Metabase views they built to my requirements. These were funnels from question released, to attempted, to solved, broken down by year and campus. That was cheaper and closer to the data we already had.
05Results
| What happened | |
|---|---|
| Daily active users | 600+ |
| Students on a 30+ day streak | over 50%, well past the target of 250 |
| QoTD activity vs. exam scores | strong positive correlation |
| Rollout | all years, all 3 campuses |
A note on the correlation: it doesn't prove QoTD caused better marks. Students who practise daily may simply be the ones who were going to do well anyway. What it does show is that the product reached the students it was meant to help, and that it's worth testing properly.
06What I learned
- Habits come from fit, not from pressure. My read is that the syllabus-matched release rule mattered more than any reminder. Students practise when they can actually solve the question.
- The content pipeline is part of the product. A daily product is only as reliable as whoever creates its content. Designing the ideation, creation and review workflow across campuses took as much effort as the feature itself.
- Pick a metric you can't fool. Linking engagement to exam marks forced an honest answer to "is this helping?" instead of "is this being used?"
07What I'd do differently
- Run a proper comparison early. A staggered rollout across sections would have given us a causal answer, not only a correlation.
- Set up instrumentation before launch. We had the measurement plan, but the dashboards were ready only after launch, so the first weeks of data were thinner than they should have been.