I was browsing YouTube when I came across a community post for someone that I've subscribed to. They mentioned that they were thinking of developing a customer dashboard and were gaging interest with their community post. This is probably going to be a paid service.

What Should a Customer Dashboard Have?

For context, I have a website design and development agency. The dashboard will be in regard to this area.

I use Eleventy to create my websites, I would like the dashboard to be built using eleventy, but somehow tied to an individual customers website. I might be able to do this by creating it into the starter template for websites. I'll probably use the code for this blog as the skeleton for future sites (I am writing this before I have designed or coded the site for this blog). I'll try my hand at creating the dashboard at the same time that I develop this blog site. This will be a great time to try out something like htmx or twinspark.

Requirements

I need to somehow connect a specific client to their dashboard. I was at first thinking that I it would be built directly into each clients website. The downside of this what about when I update the dashboard and I have 50 clients. What if the customer dashboard is its own project that each client repo pulls the most update version when a commit is made to the main branch? Perhaps the better way to do this is to connect to it using netlify identity and it'll just pull up their specific information dynamically. The dashboard itself will probably be built using Eleventy edge.

The dashboard should have the light house stats of every page and the overall stat. This can be done using unlighthouse. I believe they have an API. Using netlify analytics API I can pull in those. In this dashboard there might be a link that could then take them to the Bonsai dashboard, the reasoning here for a completely separate dashboard could be security. Ideally this would be embedded in the main dashboard, I'll see if an Iframe exists for the bonsai dashboard. This is where they could see their contract, billing, and possibly upgrade to additional packages in the future (like weekly A/B Testing, Monthly SEO). Back to the main Dashboard, this is also where they could submit tickets / view their tickets, this would be done using request tracker. The dashboard should also show now many retainer hours of support they have left, and how many non retainer hours they have used and show next months estimated bill. They'll be able to switch between minute and hourly view for these hours. Billing will be done by rounding up to the nearest 15min. In this dashboard is also where they'll be able to do any user allowed modifications to their site, the very first one of these is going to be blogging. (Reach out Siege Media for affiliate program)

Requirements summarized:

  • One Source project dashboard that each client connects to
    • Shows only their data
    • Created using eleventy edge
    • htmx / twinspark
  • Unlighthouse stats
  • Netlify analytics
  • Netlify identity
  • Retainer hours left
    • option to switch to minute view
  • Non retainer hours used
    • option to switch to minute view
  • User modifiable section (like creating blog entries)

Bonsai Offers their own customer dashboard, could that be integrated into my own dashboard, as an iframe maybe?