But this had to led to a resume of jobs lasting three months to two years, with lots of sub-year engagements.
This makes me appear to be either a job hopper or someone with performance issues, when in reality this is the nature of the beast with contracting and the fact that I've made a long career of contracting actually means I'm capable of jumping into new stacks and succeeding.
Contracting has its benefits but now in a remote friendly world I'd like to have opportunities in employee roles.
Your top heading should be something like:
Ruby/Rails Consultant 2013-current
Then each of contracting gig should be subheading under it. Remove job title here. Just the company name, company location, dates and project details.
Generally, people have a high view of those who are like themselves. If you end up in the hands of someone who was also a contractor, they'll strongly bias towards you. Someone who has experience working in the same company for 10 years would bias against you.