Measure site performance (total page load, time to first paint, etc) and find future improvements
Description
Overall, the application is fairly decent in terms of size and speed; however, there are instances (loading transactions, in particular) that seem to struggle in rendering content quickly and efficiently.
Of things that could be causing this, I know of the following immediately:
the JSON library currently used (#83) adds >1MB to any page load that renders JSON.
Other items that I think could cause slowdowns:
data deserialization: in particular, the use of Zod introduces a healthy amount of type duplication and checking that, on paper, shouldn't be that bad; however, it may prove the case that re-duplicating subsets of protobuf schemas still results in sizable overhead that can be resolved with better type refinement by using the schemas themselves directly
the SSG/SSR strategies currently leveraged, tacitly or otherwise, with NextJS could be suboptimal. There are already issues e.g. #78 that I also suspect are related to this.
PrismaJS's querying is known to be sub-optimal for performance. Removing PrismaJS is already something that I want to do and this may only prove yet another justification.
Summary
Measure site performance (total page load, time to first paint, etc) and find future improvements
Description
Overall, the application is fairly decent in terms of size and speed; however, there are instances (loading transactions, in particular) that seem to struggle in rendering content quickly and efficiently.
Of things that could be causing this, I know of the following immediately:
Other items that I think could cause slowdowns: