Buyers first, every time. A contract with no buyer who can close is just paper. I am a cash buyer in Memphis, and I buy single-family BRRRR houses under $100K, ARV $180K-$265K, Section 8 rents $1,395-$1,950 for 3BR+. Wholesalers bring me deals every day, and about 9 out of 10 do not work at my numbers. Deal flow is my bottleneck.
The buyers who get my attention are the ones who have closed before, know their buy box, and can say yes or no fast with real numbers. If you build that list first, every contract you get has somewhere to go. If you get contracts first, you will spend your time shopping deals that do not fit anyone.
Start with 5 to 10 real buyers. Learn what each one buys, at what price, and in which ZIPs. Then go get contracts that fit them.
I'd build your buyers list as you are reaching out to owners. When you are building your buyers list figure out what areas they are buying in and targe them. If you do get a good deal under contract you'll find a buyer. If you struggle with finding a buyer then maybe the deal is not good
Build the buyers list first, but keep it small and specific. Know each buyer's areas, price range, and what percent of ARV they pay, so every contract has an obvious home. Then put a deal under contract only when the numbers fit a buyer you've already talked to. One more thing that protects you: write the contract so you can assign it, and confirm title can be cleared before your closing date.