Now, after 13 weeks of coding, the GSoC is already over - and the denoiser is working.
It's not finished yet - some limitations are still there (see the user documentation for details) and the code can still be cleaned up. I'll continue to work on this after the GSoC is over, of course - the goal is to get the denoiser into master, after all!
But, that doesn't mean it's not usable - in a wide range of scenes that I tested, it was able to get rid of remaining noise without introducing obvious artifacts.
So, although it's not finished yet, I'm happy with the outcome so far. Below, you can find the user documentation, a video that demonstrates how to use the denoiser and shows a few results (coming very soon), and developer documentation that explains the algorithms that are used (coming soon).
Lastly of all, thanks to my mentor Sergey and the Blender Foundation for giving me the opportunity to participate in the GSoC!