Here is a brief look into how I currently approach tackling simple and complex reporting projects. I used to work largely in Scrivner and Google Docs, but have mostly switched to Notion.
I use Airtable to capture relevant contacts and sources I meet. I record date, origin, location, tag relevant topics, write notes, and cross-link each contact with other contacts they know and with a database of organizations. Whenever I persue a new story I can search this database and instantly find if I have previous connections whom I can reach out to.
I use Notion to keep track of my active writing projects. In the "hot seat" I list my current priorities, "backseat" has articles with a fleshed out idea I can pick up quick, "thread" are ideas I pursue in my free time until one or several can form an article I will put on the back seat. I also keep all the articles and thread I've determined I won't write any time soon in a "graveyard" just in case.
Notion gives me robust visual tools to draft articles. I often build articles modularly and use Notions "toggle list" tool to condense different pieces of reporting and shift them around to see what flows best.
For more complex projects, I input every cited source into Notion and code them to keep track which sources I cited and which I did not. With all of the texts in one place, it also gives me access to a personalized search engine I can use to locate exactly what I am looking for as the drafting process progresses.
In outlines I often incorperate databases and lists of relevant articles directly, which makes generating a first draft much faster.
I've developed personalized systems on Notion to code and organize source material directly within my writing process. All I have to do is plop in some metadata and I can turn that into powerful visualizations that help me piece together timelines and narrative structures that would be hidden to me if I were just swimming in unorganized text.
I'm experimenting with Logseq and Obsidian as general knowledge capture tools to index information I learn using the Zettlekasten method with an eye to create kernels for future writing projects. In effect this would add a further depth below Notion which ideas could bubble up from.