February was the month the platform started paying attention to the individual learner. January could tell somebody what they'd done. February started telling them where they stood, what to do next, and where their finished work lived.
It was also the busiest month of the first quarter — 194 commits across the two codebases — and most of it landed in the last week.
New
Leaderboards
A global project leaderboard and a project submissions page, with navigation into both from anywhere a project appears. For the first time a learner could see their work measured against other people's rather than against their own progress bar.
These boards no longer exist. In June we consolidated every per-context leaderboard — project, global project, bootcamp — into one surface, the MB League, and deleted the rest. If you're looking for February's project board today, this is what replaced it: weekly cohorts of learners at the same tier, where promotion and demotion are both real.

The MB League, which replaced February's leaderboards in June. Names shown are illustrative.
Onboarding, rebuilt
The sign-up flow was redesigned from scratch. It now asks which language a learner actually wants to work in, and uses that answer to recommend and enrol them in something relevant — rather than dropping them into a catalog to guess.
Making that work needed more than a form. Every course and project had to be tagged with the language it teaches, which was done with an auto-assignment pass and then verified. The recommendation engine sits behind the last question.
The flow is covered by end-to-end tests, including the language step, so it stays working.
Global search
One search box that covers the whole platform, reachable from anywhere. The catalog had grown to the point where finding a specific course, project or lesson was becoming its own task.
Portfolios
Finished work got somewhere to live. A portfolio collects completed projects and courses on a single page, addressed by slug rather than an internal id — which is what later made it shareable.
Streaks, continue learning and notifications
Three engagement surfaces shipped together. A streak counts consecutive days of activity. Continue learning puts the next thing back in front of a learner without making them find it. Notifications tell them when something needs their attention.
Account deletion
A learner can delete their account. Behind it, a soft-delete filter runs across every query, so deleted data stops being readable everywhere at once rather than in the places somebody remembered to check.
Improved
- Next course. Finishing a course now suggests what follows it.
- Certificate sharing. Fixes to how a finished certificate is shared.
- Mark as complete. A confirmation dialog, so the button is a deliberate act rather than a stray click.
- Enrollment. Course enrollment records were corrected and migrated to address courses by slug.
- Subscriptions and payments. Subscription handling extended to mock interviews, coupon handling corrected, and the payment page rebuilt.
- Speed. Caching turned on and database indexes added.
- Error handling. Sentry wired up with a global error boundary, and error handling standardised across every mutation in the API.
- New bootcamps added, and bootcamp week handling tidied.
Fixed
- Emails going out with the wrong data in them.
- Image uploads failing.
- Chapter and video ids resolving to the wrong lesson.
- Empty states rendering blank rather than saying anything.
- Search bar behaving differently depending on where it was opened from.
What This Set Up
By the end of February the platform could recommend, rank and remember. What it still couldn't do was sequence — a learner got a relevant course, not an ordered route through a discipline. That arrived in March.
The full year is written up in how we rebuilt Masteringbackend in 2026.



