I have some background is combinatorial optimization. I did consider writing some software in this area or something similar, like school time table planning. But I think the problem is that each business will have different constraints (have to have at least 1 first aider on a shift, Alice doesn't get on with Bob, you can't work 2 saturday in a row, shifts change every 2 weeks, you have to have at least 12 hours between shifts etc). Anything flexible enough to be used by a sizeable percentage of organizations will be too complex for them to use.