Full-stack web developer, specialised in WordPress
Multan, Pakistan · UTC+5 · I run SoftGlaze, a small studio
I run SoftGlaze from Multan, Pakistan. A small studio: I do the development myself, and bring in specialists I've worked with for years when a project needs them.
Seven years building websites and web applications. 150+ projects — 60+ WordPress sites, 20+ WooCommerce and Shopify stores, and custom applications in Laravel, PHP and React. Mostly small businesses in the UK, Europe and Pakistan.
What I do: WordPress development · custom plugin development · WooCommerce · Shopify · speed optimisation · site rescues · monthly maintenance
🔎 I'm open to full-time remote developer roles. azhar@softglaze.com
I contribute to WordPress core: patch testing, bug reproduction, tracing regressions back to the changeset that caused them, and writing the fix when I find one.
Six committed credits in the 7.1 cycle:
| Changeset | Component | What I did |
|---|---|---|
| [62854] | Filesystem API | Verified the permissions comparison in WP_Filesystem_Direct::chmod(), then wrote the PHPUnit regression test that shipped with the fix at the committer's request. |
| [62865] | Login & Registration | First trunk test of the focus-colour fix. |
| [62967] | Users | First tester on the show/hide password button alignment fix. |
| [62968] | Widgets | First tester of the patch. The feature was later bumped to 7.2; the changeset and credit stand. |
| [62976] | Media | Posted the root cause and traced the regression to [61757] before any patch existed, then wrote the only test report on the PR. |
| [63007] | Media | Separated registered from built from served to show a stylesheet handle existed on disk but was never registered. |
These are credits for testing and verifying other people's patches, plus one regression test I authored. Not six bugs I fixed. The distinction matters.
One I found, reported and patched myself:
#65802 — wp_show_heic_upload_error() had been assigning to an undeclared variable since 2024, so the flag it existed to set was never applied and both of its hooks silently did nothing. Unreported for roughly two years.
I ran a control that proved the branch could not execute on my install, forced the condition with an mu-plugin, then called the function directly to capture the real return value instead of inferring it. Filed the ticket citing the introducing changeset, then opened PR #12830 with the one-line fix and two unit tests with red-green proof.
A core committer took ownership and milestoned it for 7.2, closing the competing PR in favour of mine.
Also on the public record:
- #64921 — a REST API failure nobody had reproduced in four months. Built an mu-plugin simulation, confirmed a hard 400, showed the proposed patch didn't fix it, and attached two test-only patches. Another tester later used the same technique and credited it.
- #63256 — behaviour matrix across trunk and two competing PRs. A later reviewer cited it twice as the deciding evidence for one of them.
- Eight full test reports across seven tickets, most as first or only tester.
- 1,000+ Urdu strings translated, and Project Translation Editor for my own plugins.
Always with evidence — DevTools traces, before/after screenshots, PHPUnit runs. Never "works for me."
Full activity → profiles.wordpress.org/softglaze
| Project | What it is | Status |
|---|---|---|
| PDF Invoices for WooCommerce | ~7,800 lines. Invoices, credit notes, packing slips, partial payments, deposits, client e-signature | 🟢 Live on WordPress.org |
| Maintenance Mode & Coming Soon | Three modes, ten templates, scheduled switching, access control | 🟢 Live on WordPress.org |
| Click to Chat | Floating chat, multiple agents, working-hour schedules, custom REST namespace, GDPR export and erase | 🟢 Live on WordPress.org |
| 3-Step Process Card Grid · Shipping, Returns, Payment | Two block patterns, built standalone against core defaults so they render in any theme | 🟢 Live on the Pattern Directory |
| Warqa | Block theme. theme.json v3, nine templates, 45 patterns, dark variation, bundled fonts. Passed Theme Check across 16,091 tests with zero required and zero warnings |
🕐 Submitted for review |
| SoftGlaze Browser | Electron + React local browser-profile manager with proxy pool | 🟢 Open source |
| SoftGlaze Inventory Management | Stock and point of sale for retail and wholesale. One React, Node and Prisma codebase ships to both browser and Windows desktop. Double-entry accounting, and pay-later (udhaar) credit as a first-class flow | 🟢 Open source |
| SoftGlaze Screen Recorder | Chrome MV3 extension. Desktop, tab or camera capture with a live annotation layer that stays attached to the page as you scroll. WebM and MP4 export | 🟢 Live on the Chrome Web Store |
Every premium feature in my plugins is free. No locked buttons, no dashboard ads, no upgrade nags.
Open to full-time remote developer roles.
✉️ azhar@softglaze.com · 💼 linkedin.com/in/azharalidev · 🌐 softglaze.com
@softglaze on WordPress.org, Trac and Slack · @softglazee here

