Something like this would have been impossible just 6 months ago due to the sheer size of the codebase.
Singular, as a behemoth of a project, has always relied on a million dependencies - not just third party ones like externally hosted Postgres and Redis, or an external Elastic and Typesense (yes, all of this!!!), but codebase ones too.
A particular pain point of mine has always been the reliance on NodeJS, React, and Next - three of what I consider to be the most harmful technologies to happen to web dev, ever, and a core part of the Hellstack (
youtube.com/watch?v=ZkL5xuNV…).
Codex helped me remove any touch surface with NodeJS from NX, completely rewriting the whole flow and internals and allowing me to avoid NodeJS completely in both dev and prod (sadly, it's proving a little harder to yank out React and Next).
On this much healthier foundation I then rewrote all graphql, typesense, elastic, and redis queries to use a single well-indexed DB populated by
Kvasyr.com - my high performance EVM indexer.
According to RMRK's grafana, Singular now uses ~75% less RAM, starts and builds 300%-500% faster, loads on all pages 2 to 7 times faster (depending on page) and depends on almost nothing except Alchemy and Kvasyr.
And I've basically only gotten started.
There will probably be bugs, so report them in the
t.me/rmrkapp group. But we're getting to a nice, context-manageable, infra-stable state, and I'm loving the progress!