Resume
Alan De Vaney / Software Engineer
Data Systems, Integration & Agentic AI / Orange County, CA
Remote or Orange County hybrid
Summary
Software engineer building data systems and AI-enabled tools for evidence-based decisions. Ran the reporting platform for five years at a homeless-services agency, replacing days of manual report assembly with version-controlled Python that stood up to audit. Now building applied AI where calculations and citations can be checked.
Experience
Data & IT Manager
Data platform engineering, reporting infrastructure and team leadership
- Cut federal, state and local funder reports from two to three days of manual assembly to on demand by moving the calculations into version-controlled Python, so a rerun reproduces the same number.
- Built and ran the agency's reporting platform, with scheduled pipelines that alert the team on failure. Designed the base class that defines each HUD metric once for every program type.
- Wrote an independent Python implementation of the HUD Annual Performance Report that matches the vendor HMIS report exactly, and used it to verify the agency's own reports.
- Automated Orange County's Coordinated Entry housing waitlist as a weekly pipeline that ranks more than 3,000 people with the county's eligibility rules, replacing a full day or more of hand work.
- Built a self-service reporting portal that sharply cut daily report requests to the data team, and a CalOptima/CalAIM connector for audit-ready HIPAA client data the vendor portal could not export.
- Built an interactive annual report where each figure opens the records behind it. Program directors used it to fix their own data, and leadership used it in board meetings and donor reports.
- Hired and managed the data team for five years, up to four direct reports, training CS graduates into analysts who ran their own pipelines.
Moving reporting logic into code
I built the agency's Tableau dashboards before moving the reporting calculations into Python and pandas. I wanted changes to the logic to be tracked in a repository. Reports could then reuse the same metric definitions instead of maintaining separate calculations in each dashboard.
Fixing overnight reporting failures
When report jobs stopped overnight, I traced the failures through Linux system logs to memory pressure during large Looker queries. I built a wrapper that split oversized requests into smaller batches and cached completed results in Parquet. Scheduled jobs sent failure alerts to the data team, so the team could investigate broken reports.
I also met with the program teams using the Active Clients Roster. Their feedback shaped a configurable report that put current client status in one view, replacing repeated searches through individual HMIS records.
Owner and Web Developer
- Ran a one-person web shop for local businesses and a youth-golf nonprofit (PHP, JavaScript, three.js).
Selected projects
HMIS-NL / Housing-services analytics
HMIS-NL, reporting you can check
Reporting answers with an inspectable meaning and source
Keep interpretation separate from calculation. The model selects a typed request. The server computes each result and identifies whether its population was checked independently.
Read case study
C++ systems / Independent project
C++ trading engine
Replays four hours of live market data in 15 seconds
Built a C++23 engine with a persistent indicator cache and order-journal recovery. A versioned C ABI lets strategy plugins share the same interface across replay and exchange integrations.
Read case study
Retrieval application / Independent project
guru
Hallucinated quotations are ruled out by design
Replaced model-written quotations with sentence IDs resolved against the source. Kept retrieval evaluation separate from checks that the displayed wording matches the original text.
Read case studyCertifications
2.5 Week Intensive | Agentic AI, Certificate of Completion
Credential EEQT-RNZB