This year Scrimba ran a JavaScript advent calendar called JavaScriptmas. Every day was a new challenge, some just to write a function, some included (optional) CSS too.
In my timezone, the email about the day's challenge came in early in the morning, so it would get me into coding for that day, whatever time I started. And the difficulty (mostly) gradually ramped up, so it never felt like a big jump. Although sometimes it was trying to understand what the challenge wanted after an 11 hour day at work that was the hardest part!
My favourite challenge was to create a carousel. This was partly because I thought a carousel was hard and found it wasn't - when I had a look at what Gary Simon had set up I thought "Oh, that's so easy". And also because I had fun getting it work in the simplest way possible and then adding extras and making sure it would scale if you added or removed images, or changed the size of the carousel.
In all I enjoyed the challenges - it was a fun way to spend some time in December and I got a sense of achievement every day as I completed the challenge. I was already subscribed to the weekly web dev challenge, which is similar. And one a week is about right, and makes me feel like I have plenty of time to get it done.
For those interested (and my reference) here are all my solutions: