Staffjoy Scheduling Algorithm in Julia, Now Open Source


Hi all - about three years ago, I discovered Julia and the JuliaOpt community, which rekindled an interest in applying optimization mathematics to workforce scheduling problems. Previously, I had worked on such problems while studying engineering at WUSTL.

I went on to build a startup called Staffjoy around my “nights and weekends” work in scheduling algorithms. I found early customers in local “on-demand” startups, whose growing workforces could no longer be managed manually. Staffjoy grew, scheduled workers in 7 countires, and went on to raise a total of $1.7M in venture funding. Along the way, we improved our algorithms, switched off of Julia to Python (then from Python to Go), and eventually moved away from algorithmic scheduling. Unfortunately, after a couple years of trying to build a business, we decided to shut down last month.

With the shutdown, I decided to [open-source all of our code]( Included in that is our original scheduling algorithm, which uses Julia: (I have two more repos going online this week, one of which was the assignment service that replaced the Julia repo.)

The autoscheduler repo was fairly early in the Julia language project (using v0.3), and it hasn’t been touched or used in production since 2015. However, I hope that the repo can serve as a resource for those using Julia at a startup, integrating it with other services in a production environment, or working on testing larger codebases.

I’m eternally grateful to Miles, Iain and Joey for creating amazing optimization tools. Their quick responses to bugs and email requests helped to get Staffjoy to a point where we could close customer deals. Joey in particular provided mentorship over email that helped me to get past some major roadblocks in the development of our algorithm. I enjoyed meeting Miles in-person at Stanford while he gave a talk, and he provided great guidance.

If you have any questions (or if you’re working on a startup), please feel free to reach out to me.