Awhile back, I created a more i3-like scratch system. I named it "mutable scratch", as the primary difference is that the "scratch windows" don't have to be set ahead of time; they're mutable. (though maybe "dynamic" would be a better name for it... oh well).
Ideally, this would be an actual python package, but in the 6 months since I started the git repo for it, I haven't had time to figure out how to do that. So if anyone wants to help me make it into an actual package and put it on PyPI (so you can install it via pip), let me know!