I do that by month, in what's essentially a monthly recap file. Do that in a text editor, using a modified version of a simple template[1] that I found online.
[1]: https://plaintextproject.online/templates/monthly-recap.txt
Yes I do, a daily rough journal and a formal weekly report to my managers. I use https://five.today/ for the rough journals and tasks as it tags everything automatically for me.
I use obsidian.md to keep track of todos, ideas, gotchas etc.
Taskwarrior/Timewarrior or Markdown backed by git.
I have a script that runs once a week, generating a new dated .md file with section headers (eg particular projects) and core info already populated. Throughout the week I just update notes in the .md file. If needed, I copy over things from week to week to preserve some context. I have another script the moves untouched .md files into an archive directory after some time has elapsed. I can then look over all of the day-to-day/week-to-week notes on a per-project basis at eg the end of the year, and have both a high-level overview and all the details.
When I need to let people know what I've been working on, or do standup, or remember what I did 6 months ago, its all there.