In order to be meaningful, pow should take some time (how much do you need to deter spam? 30 seconds?). So unless you're super clever with the implementation your user would have to wait for it to finish.
Maybe if you collect profile information and generate the user's key at the beginning of the onboarding process you might be able to generate the work in the background while the user is occupied with something else. You could also publish first a low-pow version (to avoid failing to publish one if the user leaves the page), then a high-pow version later. So I guess it's possible, just complex in terms of implementation.