Reworked the detection backend so inference can run across providers, added a dedicated Sidekiq worker for detect inference, and introduced a polling fallback when a Replicate prediction is still processing — improving detection reliability under load.