Building an Internal Dashboard to Track Every Client Project

Running projects across Shopify, WordPress, and Webflow at the same time means status information living in different places: platform dashboards, client emails, Slack threads, and whatever was last discussed on a call. Keeping track of where every project actually stood was becoming a task in itself, so I built an internal dashboard to pull it into one view.

The problem

Answering “where are we on Client X’s site” often meant checking three different tools and scrolling back through Slack to find the last update. Multiply that across a dozen active projects and it eats a surprising amount of time every week.

What the dashboard needed to show

Project status at a glance.

A simple stage indicator, discovery, design, build, review, or launched, for every active project.

What is blocking progress.

Whether a project is waiting on us or waiting on the client, since these need very different follow-up actions.

Key dates.

Target launch dates and the last time the client was updated, so nothing goes quiet for too long without anyone noticing.

How it was built

The dashboard runs on a simple database as the source of truth, with a lightweight front end pulling from it. Updates happen in two ways: a quick manual status change after key milestones, and an automated check that flags any project untouched for more than a set number of days.

The idle-project alert.

This turned out to be the most useful part. A project that has not been updated in over a week automatically surfaces on the dashboard and in Slack, which catches things quietly stalling before a client has to ask what happened.

What changed after using it

Status updates to clients became more proactive rather than reactive, since stalled projects surface automatically instead of being noticed only when someone finally asks. Internal handovers between team members also got faster, since the dashboard carries context instead of it living only in one person’s head.

Next steps

I want to connect this to the domain and hosting renewal tracker next, so a project’s full lifecycle, from build through to ongoing maintenance and renewals, lives in one connected system instead of two separate ones.

faq

Everything you need to know about

A simple template-based site usually costs between RM1,500 and RM4,000. It suits a business that needs a small, straightforward online presence.

Yes. WordPress remains the most flexible and widely supported platform for business websites. We build on WordPress with Elementor, ensuring your site is fast, secure, SEO-optimised, and easy for your team to manage — without needing a developer for routine updates.

WordPress is safe when properly set up and maintained. We implement security hardening, SSL certificates, regular updates, firewall protection, and monitoring as standard. For enterprise and regulated clients, we provide additional security layers and compliance documentation.

We build practical AI tools tailored to your business — including intelligent chatbots, lead qualification assistants, document automation tools, internal knowledge bases, and workflow automation systems. All solutions are trained on your content and brand voice, available in English, Bahasa Malaysia, and Mandarin.

We build practical AI tools tailored to your business — including intelligent chatbots, lead qualification assistants, document automation tools, internal knowledge bases, and workflow automation systems. All solutions are trained on your content and brand voice, available in English, Bahasa Malaysia, and Mandarin.

We build practical AI tools tailored to your business — including intelligent chatbots, lead qualification assistants, document automation tools, internal knowledge bases, and workflow automation systems. All solutions are trained on your content and brand voice, available in English, Bahasa Malaysia, and Mandarin.

Want a straight answer for your project?

Tell us what you need your website to do, and we will propose a structure, a build, and a clear quote. No jargon, no overselling.