Socket.IO Driven, Mongoose like Models with Marilyn

Recently, I have been working a lot with WebSockets, specifically with Socket.IO. As a former ActionScript developer I love being able to return to using events to send and receive data as well as having my application get real time updates from the server. It feels so natural and fits really well into the types of applications I like to build. However, I wanted some more organization. I wanted a library that was designed around CRUD and WebSockets. Something like Mongoose, but on the frontend. I looked all around GitHub and found some libraries that were close, but nothing that was perfect, so I decided to make one myself.

What is Marilyn?

Marilyn is a client side, Socket.IO driven, Pub/Sub, model layer with a query system similar to Mongoose.

It’s designed around the idea of centralizing communication to a Socket.IO server to models.

These models function almost exactly like Mongoose models. The CRUD methods function nearly identically to Mongoose’s and they have event hooks that are triggered before and after CRUD operations, which are useful for synchronizing data between the client and the server.

Recently, Marilyn was featured on Daily.js, a great blog about JavaScript libraries, and since then it has been getting a lot of attention on GitHub.

Check out Marilyn and see if it’s the model layer you have been looking for. If you think Marilyn is missing something please submit a feature request.


  1. Thank you ever so for you blog post. Really Cool.

  2. Pretty! This was a really wonderful article. Many thanks for supplying this info.

Leave a Reply