If you are comfortable with python you can check out nostrdvm, the basic protocol is pretty simple so you can also write it from scratch, especially in a language that has Nostr sdk bindings. You just need to listen for the job request kind (5xxx), offer a status update events (kind 7000) like “processing”, etc and then submit the job when you are done with the matching kind 6xxx result event.
Check out examples of events here: https://dvmdash.live/debug/
One reason to use nostrdvm is that it has lightning payments with lnbits set up and a number of extra features.
https://github.com/believethehype/nostrdvm
Don't ₿elieve the Hype 🦊 (npub1nxa…a6q8) is the dev behind it