I have worked on Twitter’s new mobile website for the past year. We rebuilt the
website using the latest web technologies: React, Redux, Node.js/Express to
name a few. It is absolutely an exciting project to work on since you rarely
get a chance to rework a large-scale website from the ground up and experiment
with the latest tools without having to worry about any historical baggage.
One of the problems that we realized early on is that our Tweet is fairly
complex in both the React tree and the DOM tree. A Tweet does not only contain
the body text and metadata; it also involves processing #hashtags, @mentions,
cards and a lot of Unicode ordeals (one of the most prominent examples is
emoji) to make sure we are rendering everything correctly across all platforms.