Case study

Custom PHP portal for a live practice.

A practitioner business needed logins, roles, reports, invoices and a client area. A normal WordPress theme would have been a pile of plugins. This was a PHP and MariaDB app instead.

PHP Custom application
MariaDB Real data, not pages
Auth Staff and client roles

Overview

The job

The public marketing site and the working product were different problems. Clients needed to sign in, see reports, pay invoices and book around a real workflow. Staff needed a dashboard that did not pretend to be a blog.

I built a custom PHP app with MariaDB, session auth, a client portal and a staff side. Hosting, backups and ongoing changes sit with the same codebase.

Details

What shipped

The pieces a portal actually needs.

Logins and roles

Staff and clients on separate paths. Least privilege, not one shared admin.

Client area

Reports, invoices, messages and the jobs that belong to that person.

Staff tools

Dashboards, records and the unglamorous admin that keeps a practice moving.

Payments

Card payments wired to invoices, with webhooks that only mark paid when the provider says paid.

In practice

Why not WordPress

WordPress is excellent for pages you edit. It is a poor database application once you have roles, files, payments and a workflow that is not “a post”.

This build used PHP 8, MariaDB, nginx, and a portal you can actually support. I still use WordPress when the job is a marketing site.

Outcomes

What this proves

Custom PHP is in production

Not a tutorial.

Auth and payments are boring on purpose

The same person can host and change it

Scope was written first

Want a quick answer first?

Send a short note about the project. I will reply with fit, rough cost and next steps.

Book a free call

Process

How it ran

Same studio process as a brochure site, heavier engineering.

Workflow

Who logs in, what they must see, what must never leak.

Architecture

PHP app, MariaDB, file storage, mail, payments.

Build

Staff and client surfaces, then hardening.

Care

Updates, backups and the next feature as a quoted change.

Fit

Who this is for

A good fit if you…

  • You have a workflow WordPress plugins keep fighting
  • Logins, files, invoices or internal tools
  • You want one developer who will still answer next year

Not the right fit if you…

  • A five-page brochure that should just be WordPress
  • An enterprise programme needing a team of ten

FAQ

Questions

Can I see a public login?

No. It is a private product. This page describes the type of build, not private client data.

Do you only build portals?

No. Most jobs are still WordPress or WooCommerce. Portals are for when those are the wrong tool.

Who hosts it?

I can host and care for it, or hand over a documented deploy.

Need a portal rather than a theme?

Describe the workflow. I will say whether custom PHP is justified.