CarrierWave (and CarrierWave versions/DSL) are fine for simple cases like resizing a thumbnail. For anything more complex (multiple quality versions, transcoding versions from other versions, reprocessing a single version) it becomes unwieldy. At the time of the project there was also an unfixable CarrierWave bug that forced full reprocessing when any single version failed.