Overview
Shortly after getting into web development, I made a number of websites for some clients. Once their site was built, I would set up their domain under their own account at a registrar, and I’d push their site onto a cheap, shared host, also under their own account. I thought this was great! I could focus on other things without having to worry about managing their websites, and my clients weren’t paying much to keep their site up and running.
It turns out this wasn’t the greatest set up after all. When I needed to make a change on one of their sites, it was a huge headache trying to push an update when the server constantly timed out, or better yet, threw me a 500 error while I couldn’t do anything about it. But I guess you get what you pay for.
To make things easier for both myself and my clients, I decided to build avcado. The goal in building this is to abstract all of the technical details of running a website, from domain registration to hosting, for a minimal fee (just enough to cover my expenses). The benefit to me is that I have full control of my server, and hence the ability to make updates quickly and easily. Avcado is the web portal for my clients to view their site’s analytics, as well as manage their billing information.
Metrics
Everyone loves graphs, it’s a fact. Clients want to see how their website’s performing, and they want to view this data easily. I recently discovered Gauges (now acquired by GitHub) and absolutely love their service, so I decided to plug into their API and bring their wonderful analytics data to my clients through avcado.
I create a new Gauge and and add it to each website I make. A step-by-step process walks through creating a new client account on avcado. During this process I can add a new domain or choose an existing one, automatically create a new Gauges API key, and then choose the corresponding Gauge to connect the website to. Just like that, my client has access to the following metrics from Gauges:
- Traffic
- Content
- Referrers
- Search Terms
- Search Engines
- Locations
Most of the data is read well enough in tabular or list form. But there are a couple metrics that can be enhanced with a chart or graph, such as the Traffic and the Search Engines metrics. Using Rickshaw, a graphing toolkit by Shutterstock built on d3, I can create a nifty interactive chart for traffic analytics to show the number of people and views for each day in the current month. As for the Search Engines metric, I use RGraph, an HTML5 Canvas based graphing toolkit, to generate a little donut chart of the search engines split.
A map for the Locations metric would be super useful. I’m working on that.
Billing
Payments, subscriptions, and invoicing has been made incredibly easy thanks to Stripe. Using their awesome API, I can even create new subscriptions, coupons, and invoices right from the avcado admin section. Aside from making payments simple, my clients' payment information is also secured, since I don’t need to worry about storing it on my own servers.