Work ยท 2022 to now

Selected work.

Each case study states the problem, my part, the work, and the result.

Snorkel AI: Frontier Model Evals

Software Engineer, AI Evaluation (Contract). Build and review coding evaluations with repeatable grading and anti-cheat checks.

50+ evaluations built200+ evaluations reviewedAnti-cheat validated
  • 50+ evals built
  • 200+ evals reviewed
  • Reward-hacking resistant
Read the case study
Or skim the summary

Impact

  • Built more than 50 coding evaluations with reference solutions and automated grading.
  • Reviewed more than 200 evaluations for correct tests, repeatable results, and anti-cheat controls.
  • Used code review and failure analysis to improve evaluation quality.

Problem

Coding evaluations must give the same result on every run. Unclear tasks, unstable tests, and weak graders produce false scores.

Approach

  1. Wrote reference solutions and pytest graders for each task.
  2. Put each evaluation in a container with fixed dependencies.
  3. Added checks for reward hacking and shortcut solutions.
  4. Reviewed task instructions, tests, and grader behavior.
  5. Used code review and failure analysis to improve the tasks.
PythonpytestDockerReproducible containersDeterministic oraclesCI/CD

Results

  • Delivered more than 50 evaluations with repeatable grading.
  • Reviewed more than 200 evaluations.
  • Made the tasks clearer and harder to exploit.

LAUSD: Identity Migration to Ping AIC

Software Engineer, Trivir. Client: Los Angeles Unified School District.

250K+ identitiesBidirectional Snowflake โ†” Ping AIC syncCustom Java/JDBC connector patch
  • Migration unblocked
  • Automated reconciliation
  • Incremental production rollout
Read the case study
Or skim the summary

Impact

  • Shipped bidirectional sync between Snowflake and Ping AIC for more than 250,000 student and staff identities.
  • Unblocked the district's move off its legacy identity system.
  • Built live event driven writeback synchronization keeping records current across both systems.
  • Replaced a nightly manual record-repair step with monitored, automated reconciliation.

Problem

The connector requested generated keys for every database operation. Snowflake's JDBC driver does not support that on UPDATE and DELETE, so synchronization jobs failed and the production migration stalled.

Approach

  1. Diagnose: reproduced the failure and traced it through the connector into the Snowflake JDBC call.
  2. Patch: stopped the connector requesting generated keys on operations the driver does not support them for.
  3. Validate: exercised mappings, reconciliation, updates, deletes, and write-backs against progressively larger cohorts.
  4. Release: rolled sync out incrementally rather than cutting over all 250K+ identities at once.
  5. Operate: added logging and alerting on sync faults so failures surfaced without manual database inspection.
Ping AIC (RCS)SnowflakeJava/KotlinJDBCOAuth2/OIDC

Results

  • Migration unblocked; bidirectional sync ran in production through the cutover.
  • More than 250,000 identities moved onto Ping AIC.
  • Sync faults became visible through alerting instead of being found by hand the next morning.

Georgia Courts: Docket Notices

Software Engineer, Trivir. Client: Georgia Court of Appeals and Supreme Court. Led the Java to Kotlin rewrite and PDF pipeline.

Java to Kotlin rewriteDeterministic PDFsVersioned REST APIs
  • Template errors eliminated
  • Predictable rendering
Read the case study
Or skim the summary

Impact

  • Rebuilt the docket notice pipeline in Kotlin with strict contracts and versioned REST APIs.
  • Produced repeatable PDF notices with Freemarker and Flying Saucer.

Problem

Legacy Java utilities and Velocity templates caused brittle formatting and null-handling issues in docket data.

Approach

  1. Ported Java to Kotlin and added strict data classes.
  2. Replaced Velocity with Freemarker and added safe URL escaping.
  3. Fixed result mapping, null handling, and related-case queries.
  4. Added tests for case views and template output.
KotlinFreemarkerFlyingSaucerJDBCPDFsREST

Results

  • Removed common null and format errors.
  • Made PDF output repeatable and easier to compare.

eDirectory CI Rig for IdMUnit

Software Engineer, Trivir. Built a containerized eDirectory test rig and Jenkins pipeline.

Containerized eDirectory 9.2.7TLS-ready startupAutomated IdMUnit testsAD and eDir network checks
  • Fewer flaky builds
  • Predictable readiness gates
Read the case study
Or skim the summary

Impact

  • Built a Docker Compose test system for eDirectory and IdMUnit.
  • Replaced fixed wait times with a readiness check.

Problem

Manual setup of directory state and TLS blocked reliable automated tests and slowed builds.

Approach

  1. Used four services for certificates, eDirectory, setup, and tests.
  2. Waited for the TLS port and health check before tests started.
  3. Added Jenkins stages for startup, network checks, and the Ant build.
  4. Added release gates for build artifacts.
Docker and ComposeJenkinsAnt and Java 1.8IdMUnitTLSBash

Results

  • Made local and CI tests repeatable.
  • Reduced unstable builds and made test results easier to diagnose.

Golden 1: Verafin Log ETL

Software Engineer, Trivir. Client: Golden 1 Credit Union. Built and deployed the Ping AIC to Verafin pipeline.

High-volume event streamFraud/AML-ready recordsResilient in production
  • Auditable transforms
  • Single normalized record shape
Read the case study
Or skim the summary

Impact

  • Built, tested, and deployed the production pipeline in Ruby and Fluentd.
  • Produced one record format for fraud and AML systems.
  • Fixed production faults so the pipeline did not lose events.

Problem

Raw Ping authentication logs did not match Verafin's schema. The first transform failed on malformed fields, missing values, and delimiter collisions.

Approach

  1. Mapped events and normalized fields with Ruby filters in Fluentd.
  2. Added safe defaults for missing and malformed data.
  3. Fixed control-flow, nil-response, and runtime faults.
  4. Added diagnostic logs and checked output against the Verafin specification.
RubyFluentdPing AIC logsJSONCI/CDLinux

Results

  • Produced one record format that was easy to audit.
  • Removed manual record repair.
  • Improved reliability by removing known runtime faults.

Microsoft: Azure HPC Telemetry and Access-Review Automation

Software Engineer Intern. Built data pipelines and compliance automation.

Microsoft
Azure HPC pipelinesNVIDIA H100 telemetryAccess-review automation50K+ records processed
  • Telemetry centralized
  • Faster tuning feedback
Read the case study
Or skim the summary

Impact

  • Built Python pipelines that processed GPU temperature and performance data on Azure HPC clusters.
  • Automated access reviews for more than 50,000 records.

Problem

Telemetry was scattered and manual compliance processing slowed operations.

Approach

  1. Ran Python jobs on Azure and stored data in Azure Data Explorer.
  2. Used Logic Apps to automate access reviews and normalize records.
  3. Built dashboards for the engineering team.
PythonAzure HPCAzure Data ExplorerLogic AppsPower BI

Results

  • Gave HPC users faster performance feedback.
  • Reduced manual compliance work and stored the data in one system.

Independent work

Projects I built.

I owned the problem, product decisions, code, and release.

Open-source developer tool

Backchannel

2026

A local HTTP(S) traffic workbench. It captures, searches, decodes, compares, and replays browser and mobile traffic.

Made undocumented, binary-heavy traffic easier to inspect. The tool supplied the data contracts and replay workflows for Court Terminal collectors.

PythonFastAPIReact/TypeScriptmitmproxyMCPSQLite

Production market intelligence

Court Terminal

2026

A market data platform for the NBA 2K MyTEAM auction house. It collected 1.54 million observations across 29,600 runs.

Made an opaque market searchable. The production release uses five Docker services, Caddy, GitHub Actions, and GHCR images.

PythonFastAPIPostgreSQLDockerCI/CD

Personal product

USCIS Civics Exam Study App

2025

A bilingual study app with adaptive tests and Arabic audio.

I built it for my mom. It helped her prepare for and pass the U.S. citizenship exam.

ReactTailwindFastAPISQLAlchemySupabaseOpenAI Whisper

Independent build

WNBA Prediction Platform

2026

A FastAPI and Go system for WNBA game predictions. It uses model tuning, Monte Carlo simulation, and PostgreSQL.

Turned raw game data into calibrated predictions. Approximately 55 automated tests check the system.

PythonFastAPIGoPostgreSQLLightGBM

Work with me

Need help with a difficult system?

Contact me