If you check PageSpeed Insights the first thing that you’ll notice is that it takes a very long time before the server is even returning something (in my case 6.7 seconds, which should be under 600ms). So make sure your server is able to handle it.
Second, there is no caching for static files (img, js, css), meaning the visitor needs to retrieve those files at every request.
Deploy your site on vercel, or a VPS with cloudflare set to cache everything and you will see the difference.
Also your host API where you are serving the data, do you use any sort of caching for requests?
Also from the looks of it, you have not actually “built” the frontity server, you just ran frontity dev correct? Because there is no way your js payload is 21MB if you ran npx frontity build
I had that issue as well on build (ran into a 50MB JS file), because I loaded all CSS, fonts and SVG images into JS
Until I found out about loadable and moving all assets out of JS (even though it’s somewhat recommended).
So it is possible, but also easy to fix. Although it might take a bit of tweaking on your server (apache/nginx configs).