David Hazzard

Software engineer building AI/ML systems in production. I integrate intelligent features into existing products, modernize legacy codebases, and prototype fast.

GitHubLinkedIn
David Hazzard

AI Integration$100–150/hr

Your product doesn't have AI features yet. I make that happen. Search, classification, recommendations, LLM-powered tooling, data pipelines — taken from concept through production deployment. This has been my full-time work for the past four years.

Legacy Modernization & Security$75–120/hr

Your codebase is a liability and nobody wants to touch it. Outdated dependencies, degraded performance, security audit failures, spaghetti architecture. I inherit the mess, fix what's urgent, and leave it maintainable. I've spent roughly a decade cleaning up systems like this, and I'm comfortable in whatever your stack is.

Rapid Prototypingfixed price

Working MVPs in 1–2 weeks. Not wireframes or slide decks — functional software your team can test with real users. Defined scope, fixed price, fast turnaround.

db-perf-toolkit
Read-only performance diagnosis for PostgreSQL and SQL Server behind one CLI: slow queries, unused indexes, bloat, fragmentation, and lock contention. Where the two engines genuinely differ it says so instead of inventing parity — SQL Server reports the optimiser’s own missing-index recommendations, and PostgreSQL, which has no equivalent, reports sequential-scan candidates for EXPLAIN. The write path previews every change, refuses the unsafe ones with a reason, and prints its own rollback.
PythonPostgreSQLSQL ServerClick

A CLI has no UI, so the demo is its output. Both are real sessions against the same seeded database, recorded with VHS — not reconstructions.

Terminal session. dbperf seq-scans reports the orders table taking 138 sequential scans that read 20,800,000 rows. dbperf index-burden reports the same table carrying six indexes, five of them never read, occupying 186% of the heap and costing 2.5M redundant index writes.
One table, two opposite problems. It takes 138 sequential scans reading 20.8M rows, so its reads want an index it does not have — while five of the six it does have are never read, at 186% of the heap and 2.5M redundant writes. A list ranked by index size cannot say that. Open full size

Available for part-time contract work

10–15 hours/week through my LLC. I take on focused engagements where the deliverable is clear and I can move fast. Based in Virginia.