I’m afraid that would be a very long answer, and one that others might not agree with.
If the resource groups and user groups method is working well for you, I wouldn’t change it.
If not, I think the best thing for your situation would be to look at the code at the end of the blog post and see if it would do what you want without too much trouble.