FastComments is really cool looking and so simple (it reminds me of brutalist web design).
Could you explain a little on how you do limiting of page loads? I've been trying to add this kind of functionality to my own projects but can't think of a way to track it without storing in a db which seems like a bottleneck process if every page load is a write
Store an object representing the namespace (customer+month) and use whatever your DB's increment operator is to increment the count for that month. Keep a map, or use an LRU cache, to check the DB periodically to see who has gone past their limit. You can also fire off this write to the DB asynchronously since you don't care that much if it fails and you don't want to create back pressure in your application.
For example an object like {tenant, month, year, count}. Then you can reuse this for reporting etc which is what I do. We also track other metrics per customer + month like commenter sign ups, votes, etc.
Also - I'm open to new opportunities right now if anyone's interested in hiring me. :)
I'm guessing they're using watch.ly. I've never heard of the service but it's on the header of the fastcomments blog. Watch.ly mentions a service that will "add realtime hit counters to my products."
Watch.ly is like mixpanel + instabot. I just haven't polished it enough to market it...
FastComments doesn't depend on Watch.ly - it's just there for some UI stuff. Also, Watch.ly sends me a daily email saying what pages (or app screens on native apps) were visited most, for how long, etc, so we can see daily if all the sudden people stop spending time on an important page.
It also gives me a realtime traffic graph. I can see people going from one page, to another, and where they drop off.
Could you explain a little on how you do limiting of page loads? I've been trying to add this kind of functionality to my own projects but can't think of a way to track it without storing in a db which seems like a bottleneck process if every page load is a write