When working with a new freelancer your largest costs are opportunity costs (you could have worked with another), your time, wall time, and sunk costs if you will not be able to use their services.
My solution is to specify a larger project with a nominal price target, but then specify a first deliverable with a flat fee. This first deliverable should be as absolutely smallest possible real test of their abilities.
then I try to capture the spec for this first task in a very complete written document. If this does not go well, I can reuse that document with the next person I try.
This approach minimizes my lost time and money. And pushing the whole deliverable end to end, really gives a great baseline to understand this freelancer. What are you thoughts on this?