Case Study
A small client who kept coming back
A performance report, then backups, MySQL tuning, and bug diagnosis for a property-management SaaS — and a relationship that stayed warm for years.
The honest strength of this engagement is durability. A small startup hired me, kept re-engaging as new needs came up, and the principals were still emailing me friendly notes years after the last invoice.
The company
A B2B SaaS for property and community management — HOAs, condo and apartment communities. The platform tracked occupants, vehicles, units, and document libraries; one community in their data had over 3,000 people. PHP on CodeIgniter against MySQL, in the middle of moving from a dedicated box to AWS. A startup watching every penny, and honest about it.
What I did
It opened with my standard performance package: a half-day onsite plus a written report. That report ran about 18 pages — schema review, architecture, MySQL configuration, and best practices, grounded in real diagnostics off their server (an undersized InnoDB buffer pool, heavy non-indexed joins, MySQL 5.1).
Then they kept coming back, and the work shifted toward scoped implementation:
- Backups. Built an encrypted, automated backup system pushing MySQL, config, and home-directory files to S3 nightly, with a sensible retention policy, documented restore steps, and end-to-end verification.
- MySQL tuning. Converted the staging database's tables to InnoDB and handed over the migration SQL for production to run after testing. Recommended Percona Server and trimming over-wide
varchar(255)columns. - Bug diagnosis. When a 3,000-person community's occupants page stopped rendering, I traced it to a PHP memory-exhaustion error — not a timeout — and gave both the short-term fix and the long-term one.
- The AWS regression. After their move to AWS ran slower than expected, I used xdebug, tcpdump, and pt-query-digest to show the PHP scripts were sitting and waiting on MySQL, and narrowed it toward the database provisioning.
The deliverable here was a report and a series of small, real implementations. Not a build, and I held no ownership of their product. They wanted "advice and guidance more than development work," and that's mostly what this was.