For a long time I bid on Upwork by feel. Read a post, decide in a few seconds if it felt right, send a proposal.
Some weeks that worked. Most weeks it didn't, and the annoying part wasn't losing, it was not knowing why. Bad proposal? Unwinnable job? Just a bad week? No way to tell those apart.
The fix wasn't a better proposal template. It was scoring the job before writing a word, same instinct that made my NBA stats pipeline work: check your gut against real data instead of trusting it blind.
Next: what I actually built, and why the scoring had to come first.