Database performance
Slow reports, blocking, deadlocks, and queries that fall over at month end.
I fix slow databases, build the reporting your team actually opens, and automate the manual work between your systems — on the same foundation.
Six kinds of work, usually in this order: the database first, then the reporting on top of it, then the automation that removes the manual steps in between.
Slow reports, blocking, deadlocks, and queries that fall over at month end.
Dashboards and scheduled reports that leadership actually opens.
Systems that disagree, reconciled on a schedule instead of by hand.
Manual steps between your tools, removed and monitored.
PDFs, invoices and claims turned into validated rows.
Small internal tools that replace a spreadsheet and a WhatsApp thread.
Six systems I built and still maintain — four live today, two private builds. Use the arrows, the dots, or your keyboard to move through them.
Three engagements, written the way I would explain them on a call: what was broken, what I did about it, and what is different now.
A healthcare reporting database that was fine on a quiet Tuesday and unusable at month end. Reports blocked each other, the finance close queued behind them, and nobody trusted the timing.
Profiled the slowest queries and their plans, rebuilt the index set around the actual predicates, moved heavy aggregation into pre-computed tables refreshed on a schedule, and split reporting reads away from the write path.
Month-end reports now run on a predictable schedule and finish before the morning review instead of holding it up. The team stopped planning its day around a query.
Daily business lived in spreadsheets carried forward by hand. Two clerks could produce two different balances for the same dealer, and end-of-day reconciliation was a ritual argument.
Modelled the ledger properly in MySQL — bookings, cash, expenses and dealer accounts with explicit allocation rules — then wrapped it in a bilingual UI the clerks could actually use on a counter phone.
One ledger both the agent and the clerks read from. Disputes are resolved by opening a record instead of rebuilding a day's arithmetic.
A recurring batch of documents and code lookups was hand-keyed every week. It was small enough to survive and boring enough that errors were normalised.
Built an import pipeline with validation, an exception queue for anything that failed a rule, and alerts that say what broke rather than that something broke. Delivered with a runbook and a rollback path.
Routine rows land without a person touching them, and the exceptions arrive with enough context to fix in minutes rather than an afternoon.
Deep in the database, comfortable across the systems around it. The automation work is only credible because the data underneath it is engineered properly.
Not a list of every role — the two that shaped how I work, plus the long tail before them.
Building automation pipelines and integrations on top of production databases — scheduled jobs, AI-assisted workflows, reporting, and the validation layers that keep automated rows trustworthy.
Healthcare revenue-cycle databases: claims and EDI data, reporting for billing and operations teams, and the query and index tuning that made month-end survivable.
Reporting systems, data cleanups and application databases across logistics, retail and services.
Every stage ends with something you can hold: a report, a plan, a working change, or documentation.
I look at the actual tables, feeds and reports you depend on — where the rows come from, what breaks between systems, and what each report has to prove.
We agree what “better” means before anything changes — latency, freshness, or trust in the numbers.
Changes are built and tested on a copy, with a rollback path and a window that suits your team.
Documentation and a runbook so the system is yours, not mine.
Database development is the core. Analytics and finance reporting sit on top of it, and healthcare is where most of the last ten years went. Switch tabs to see the detail.
The core of the work: schema, procedures and the reports and reconciliations that sit on top of them.
Tables, views, procedures and constraints designed for the application that has to live on them.
One deliverable, scoped and finished — a report pack, a reconciliation, or a data fix with a rollback path.
Slow reports and month-end jobs brought back to a predictable runtime.
The copy-paste between tools replaced by a scheduled job that validates and alerts.
Analytical and finance reporting, and the warehouse layers behind them — including the AR, revenue and margin numbers.
Analysis that answers a question instead of a chart that looks busy — cohorts, trends, exceptions.
Revenue, AR aging, cost and margin reporting that ties back to the ledger line by line.
Staging, cleansed and modelled layers with a load you can re-run and a model you can explain.
One agreed definition per metric, so two teams stop reporting two different numbers.
Where most of my ten years went: revenue-cycle and clinical data, and the interface feeds that have to reconcile.
Claims, payments, adjustments and AR aging across the revenue cycle.
Order, specimen and result data and the workflow around it.
Mappings, validation and reconciliation from the source EHR to the target system.
Athena and Vision daily feeds checked, diffed and reconciled to the row.
A defined piece of work — a report pack, a module, a migration, or a feed that has to reconcile.
One deliverable, scoped and finished: a report pack, a reconciliation, an automation, or a performance fix.
For systems that keep growing: health check, monitoring, and a small monthly allowance of changes.
I am a database developer first. Ten years of it, mostly inside healthcare revenue-cycle systems where the reports have to be right because somebody gets paid — or does not — on the number.
In the last few years the same skill has turned into automation work: the database is where the truth lives, so it is the right place to hang scheduled jobs, AI extraction and alerts off. That combination is what I sell — someone who can fix the query and then remove the manual step around it.
I work in small, well-scoped engagements, hand over documentation as standard, and would rather tell you a problem is not worth fixing than bill for fixing it.
The things clients ask on the first call, answered before the call.
Tell me the bottleneck. I will tell you what I would look at first, whether it is worth fixing, and whether I am the right person to do it.
mwaqassshahid@gmail.com