Start by figuring out a design, then proving the design is at least qualitatively superior. While what they've done has issues, the solution to their problem is not likely an ORM.