I've never worked on a custom implementation of the TimeGrid component, but from the top of my head I can say that something like this is possible, but I'm not sure how performant it would be, as it would definitely require some complex positioning and UI observer logic.
TimeGrid component internal optimizations and performance were a dealbreaker versus the custom TimeGrid so we went with Roku's native component. Usability and performance >>>>>> pretty UI, in my opinion.