On first try for me, but that's because I spotted immediately what could be my road block: I then organized things to prevent it, and the winning route followed out of it logically.
Wow, very neat level. Took me a really long time to even reach the end. Doesn’t really need any optimization, though I think there are a couple places to lose moves. Really awesome idea though.