First, I write out a 3-4 sentence campaign description to get the overall plot of the campaign, then generate a three act structure with 3-4 sentence act descriptions.
Then I make an adventure plot table to create high-level overviews of adventures that will take place in the acts. This lets me keep a goal in mind while not spending much time building anything specific.
I use the overviews to create the actual adventures in a nearly just-in-time method. Usually I’m working one adventure ahead, although sometimes I’ll work on the adventure they’re currently running, just depends on how much free time I have. I like these adventures to take anywhere from 2-3 sessions, so I try to plan for that. I start out with a 3 Step Plan for whatever the big bad of the adventure is, and then I think about what the players need to do to disrupt each step of the plan. Example from the current adventure my players are on, which I’m still working on:
||A Rakshasa, Rabar is in Q’Barra trying to free Masrivik and needs a sacrifice
||Blackscale Lizardfolk are patrolling the Adder River to kidnap travelers
||Kidnapped travelers are taken to Haka’Torvhak
||A sacrificial ritual is conducted, led by Rabar
||Rhashaak awakens Haka’Torvhak and releases its destruction
These adventures are mostly just layered 5 room dungeons, unless I want a dungeon crawl or skill challenge or whatever. I use this 5 room dungeon approach to build a session story structure, but in-session I actually mostly improv, but doing all the previous work lets me improv towards a specific goal.
Hope that helps!