THREE.SimplifyModifier implements a very basic Mesh Decimation and Simplification algorithm which tries to reduce the vertex and face count of a 3D model with minimal shape changes. If you really want to apply this kind of algorithm to an existing
OBJ model, I would use a content creation tool for this. For example Blender provides a Decimate Modifier which does exactly what you are looking for.
In general, I am not a big fan of such algorithms. The biggest problem is that the simplification is generic and might change important parts of your asset (like the face of a character model) in an unnatural way. So in many cases it’s actually better when a designer does the simplification and provides for instance three models with different complexity. You can load and render the simplest model first, then the others. This kind of LOD is also known as discrete LOD and easy to implement.
I’m not familiar with the linked nexus project but I guess it is some sort of toolkit for Progressive Mesh Streaming. Progressive Mesh Streaming is actually known for using continuous LOD which means the complexity of the model is continuously increased from a base version to the highest resolution. Normally, data are compressed and managed in an interleaved buffer and transferred/processed chunk by chunk. The buffer does not only contain geometric but also texture data. The increasing complexity of the model is realized by (advanced) topological operations and might be view-dependent. As you can see, the whole approach is very sophisticated and not easy to implement. It also has a high decompression/parsing overhead on the client side. Besides, I have made the experience that designers are not always happy with continuous LOD since they can’t control how an object is rendered during the streaming process.
Because of this, I would start with Draco compressed
glTF assets with different level of complexity and see how good this approach works. The following extension might be interesting in this context, too: