Resume
Alan De Vaney / Software Engineer
Data Systems, Integration & Agentic AI / Orange County, CA
Remote or Orange County hybrid
Summary
Software engineer building production data, backend and web systems. Spent five years owning the reporting platform for a 16-program homeless-services agency, replacing days of manual report assembly with version-controlled Python that stood up to audit. Now building applied AI where calculations, citations and model decisions 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 implementation of the HUD Annual Performance Report and used it to audit the vendor HMIS, surfacing defects in its Looker reports for the agency and partner agencies.
- Automated Orange County's Coordinated Entry housing prioritization list as a pipeline that reconciles several HMIS sources and applies the same eligibility rules every run.
- 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.
- Used BigQuery for historical client data. Managed PostgreSQL on AWS EC2 and wrote the SQL behind the By-Name List before the move to GCP.
- 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, verified AI analytics
Outcome numbers checked by two engines before anyone sees them
The model only chooses a typed request through tool calls. Two engines compute the number and a validator blocks any answer that fails. Scheduled agents handle the recurring reporting work.
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