This app is made with react using hooks and state management.
To view the states on browser refer https://github.com/reduxjs/redux-devtools
The heading are rendered on the basis of screen width. As we know Font-size:24px specify the height of the font not width. So to adjustt a heading in a single line . there is a helper script which calculates the fontsize for given text width.
The On click scrolling animation is also created by a script .