I had the same thought, there must be many smart programmers with some good UX skills who must have done this (I hope)