Most freelance web designers communicate with clients over WhatsApp or email. "Can you change the opening hours?" "The phone number is wrong." "Can you add a photo?" Every small update becomes a back-and-forth that eats into the time you should be spending on actual design work.

I wanted something better. So I built a client portal where my clients can log in and manage their own content: update opening hours, change text, upload photos, and see their site analytics. No WhatsApp threads. No waiting for me to be free.

The problem it solves: when a client needs a small change, the old process looked like this. They message me. I see it when I am free. I make the change. I tell them it is done. That could take hours or a full day depending on my schedule. With the portal, they log in, make the change themselves, and it goes live instantly. I get notified, but I do not need to do anything.

Why build it custom? WordPress has plugins for everything, but they are bloated, slow, and designed for a general audience. My clients are local business owners who are not technical. They need something simple, specific, and fast. A custom portal gives them exactly what they need with nothing they do not.

The tech is straightforward. PHP backend, JSON file storage for content, vanilla JavaScript on the frontend. No framework, no build tools, no npm dependencies to break six months from now. The whole thing runs on shared hosting and costs almost nothing to operate.

What clients can do: edit their website text, services, and prices. Update opening hours, reflected on their site in real time. View basic analytics like page views, enquiry count, and top referrers. See their invoices and project timeline. Send messages directly through the portal instead of WhatsApp.

The biggest lesson was that clients do not want control over everything. They want control over the things that change often: hours, prices, contact details, maybe a photo. They are happy for me to handle layout, design, and anything structural. The portal respects that boundary.

The result: clients feel more in control of their own business, I spend less time on minor updates, and the relationship stays professional instead of drifting into casual WhatsApp territory.

If you are a freelancer drowning in client update requests, think about what you could automate. It does not have to be a full portal. Even a simple form that writes to a JSON file can save hours every month. Start with the one thing clients ask you to change most often, and build from there.

If you want to see how other freelancers handle client workflows, the Freelance subreddit is worth browsing.