I looked into doing this a while ago and it’s near impossible due to how Twitter classifies/organizes threads (conversationId) and limitations within the API to derive the full tree.
I have twitter thread reader webapp. Currently it requires to run scripts locally to load the thread, so not quite as convenient.