What are your go to activities to make the most of this time?
Second, take some time to take care of yourself professionally. Now's a good time to network with former colleagues and other people you haven't talked to in a while, to spend some time learning about something that will enhance your skills or to make sure your résumé is up to date.
Lastly, take some time to clean up your workplace. Take care of old tech debt items, update documentation, and, in general, take care of any part of the systems you work on that have been neglected for a while. There's always something that needs maintenance.
Then, if you say you have free time, there is a high chance you did not look hard enough. Is there really no document you could read, noone you could talk to ? Very often, when I find myself idle, I realize there are things I could do.
If really you are idle, check how much you really need to stay at work. In some environments, you could very well take some time off, or spend less time at work, and nobody would care. 7
In some work, you need to do sometimes 14 hours working days for long period. It would be fair, and is sometimes accepted that in exchange you go back home at noon on some other days.
If I were in your position, I'd take some holidays. That would be the best way to recharge.
If you still have to go to work, then brushing up on some skill in an area that will help you be more productive in the next project is probably a good idea. That could be increasing your proficiency in a language, framework, libraries. A small side-project to automate some rote task could also be very beneficial.
A useful exercise is to imagine you're making a tour video showing off what the product does. What would be in that video, and then the code to write to make that happen becomes clearer.
Also, reflecting on the project that was done and all the hidden skeletons can be useful. The mistakes and inefficiencies. How to avoid those in the new project? For example: it was super hard to add functionality or remove it in the previous project. The next project starts by being extensible, with a plug-in architecture with zero change to add am extension. You write how you would add extensions and then write the code to allow that flow.
How to transfer the learning from the previous project on to the next one, and just individually but as a team.
Else, whenever I get some free time, I use to clear my Pocket reading list, read my open tabs which I opened to read but couldn't get time, after clearing my tabs I really feel good :P
Or you can always learn something not just technical but also a life skill.
1. Imagine random projects you're interested in e.g. "Dog door alarm", "3d maze online"... "nearest toilet app"
2. Try and find if someone has done it; search Github, Google etc
3. If it's been done GOTO step 1.
4. Else; Try and build it!
This method works for personal and professional ideas
Get any systems setup, updated, patched etc.
Learn new tech and methodologies that may help you in the new project.
Downtime days sounds like a good time for light play. Something like Codepen is a good example, all kinds of CSS art, and figure out how they work. Maybe mess with some animation on existing code. Maybe find a new way to write documents and tests faster.
Setup coffee/walk with teammates.
Work on internal hack projects.
Purge the backlog.