SOFTWARE ENGINEER · UNIVERSITY OF MARYLAND

Muhammed Awwad

I build software around AI, data, and automation. My projects cover vehicle valuation, CI failure investigation, and enterprise integration workflows.

All three projects are in development. Each includes a recorded demo and notes on the code, tests, and remaining work.

moeawwad02@outlook.com

Selected projects

Watch the demos or read how each project works.

AutoValue AI

ACTIVE DEVELOPMENT
FEATURED PROJECTDEMO VIDEO

1:37 · Captioned walkthrough. Historical estimates, saved history, and model evaluation.

Machine learning / data engineering

Historical vehicle valuation with calibrated uncertainty.

A React and FastAPI application backed by a trained Random Forest model. The data pipeline checks source permissions, normalizes records, and separates asking prices from completed sales.

Inference checks the model and calibration artifacts before returning an estimate and prediction interval. A separate River simulation explores learning from new outcomes.

IN DEVELOPMENT

I’m building an agent workflow to collect vehicle data from approved sources. Extraction and evidence checks run on test fixtures I control; external acquisition remains in development.

python · scikit-learn · fastapi · react · river

FailureLab

ACTIVE DEVELOPMENT
RECORDED WALKTHROUGHDEMO VIDEO

0:28 · Owned fixtures with the deterministic baseline. Recorded browser experiments.

Developer tools / reliability

CI investigation with reproducible browser experiments.

FailureLab retrieves logs, source, and browser evidence, then tests a proposed intervention against the failing baseline. A LangGraph workflow handles diagnosis and planning.

The application derives verdicts from recorded runs. Evidence and checkpoints are retained for review and replay; the model cannot assign the final finding.

IN DEVELOPMENT

I’m expanding the investigation workflow and testing it beyond the current fixtures. Provider acceptance, deployment checks, and release review remain open.

python · langgraph · playwright · fastapi · react

EICC

ACTIVE DEVELOPMENT
RECORDED WALKTHROUGHDEMO VIDEO

3:26 · Captioned SOAP failure-to-release walkthrough. Fictional enterprise scenario.

Integration / delivery governance

Enterprise Integration Control Center.

I built EICC to track requirements through integration tests and release decisions, using a fictional enterprise called Northstar.

REST and SOAP tests run against local simulators. Contract fingerprints invalidate stale evidence, and the server rechecks release gates before a transition.

IN DEVELOPMENT

I’m continuing work on the requirements and release workflows. The next feature scope is still open.

typescript · react · fastapi · postgresql · docker

Engineering notes

Implemented today, in development, and what’s next.

AutoValue AIData pipeline, model & serving

How the current system works

IMPLEMENTED / SYSTEM ARCHITECTURE EXPLORE THE FLOW
Vehicle inputReact interface
01
validated feature contract
FastAPI → Frozen RF05Authenticated scikit-learn pipeline
02
split-conformal calibration
Estimate + prediction intervalHistorical 2023 asking price · USD
03

Missing or mismatched artifacts stop inference.

IMPLEMENTED

AUTOVALUE AI / ENGINEERING NOTES

Preparing the data and serving the model

AutoValue defines its target and checks data rights before model fitting. Record identity survives processing, and the application serves a frozen model that research experiments cannot change.

The problem

The sources report different kinds of prices. A monthly payment is not a vehicle price, and an advertised price is not a completed sale. AutoValue keeps those meanings separate and checks for duplicates and leakage before evaluating a model.

The implementation

Source-specific adapters map records into a common schema. Prices use integer cents; text and mileage are normalized. Source identity and content hashes detect duplicates, while malformed or conflicting rows enter quarantine with their lineage intact.

The model boundary

RF05 uses scikit-learn preprocessing and Random Forest regression. Numeric imputation and categorical encoding are fitted inside training folds. A separate partition calibrates the prediction interval, and a frozen final holdout is reserved for evaluation.

The serving boundary

FastAPI checks artifact hashes, estimator identity, fitted structure, and calibration binding. Invalid or missing artifacts return a controlled 503. SQLite retains a bounded history scoped to a hashed anonymous browser identifier.

RESEARCH AND SERVING

River runs as a separate shadow-learning simulation and cannot update the serving model. The V2 research CLI has optional AI-assisted extraction, evidence corroboration, and a private SQLite ledger. Those components have run on synthetic fixtures. The documented external acquisition attempt stopped at browser and access limits.

AutoValue AI vehicle form and historical asking-price result with a calibrated prediction interval.
Actual application capture · repository-owned example vehicleClick to inspect ↗
Testing the boundaries

The repository includes tests for normalization, invalid records, provenance, training permissions, evaluation separation, calibration, model authentication, API contracts, history isolation, and shadow-learning behavior.

Outcome & limitations

The application returns historical 2023 U.S. asking-price estimates and calibrated intervals. Errors vary across vehicle groups and intervals can be broad. The private estimator is excluded from the public repository; a clean clone needs that artifact for inference. Live-market valuation and production adoption are unverified.

What I’m developing next
IN DEVELOPMENT
Agentic acquisition & processing

I’m developing an agentic workflow for finding records in approved sources and extracting vehicle data. The V2 code already exercises evidence checks, normalization, identity grouping, and governance on owned fixtures. Work continues on the external acquisition workflow.

FUTURE
Verified outcomes for learning

The next direction is acquisition from authorized external sources, with evidence confidence and explicit separation of asking prices from verified sales. Only approved, verified outcomes should reach downstream learning. That live pipeline is still planned.

FailureLabEvidence, experiments & replay

IMPLEMENTED

FAILURELAB / ENGINEERING NOTES

Following an investigation from evidence to replay

FailureLab starts with the failed assertion and retrieves logs, source from the failing commit, and browser evidence. The investigation proposes an intervention and compares its behavior with the original failure.

  1. 01
    Collect & retrieve

    Authenticated import and HMAC-validated GitHub webhooks create bounded evidence snapshots. Redacted content receives stable IDs and hashes. BM25 and exact identifiers retrieve evidence within each investigation; neural retrieval and reranking are optional.

  2. 02
    Diagnose & plan

    Two LangGraph stages return typed diagnoses and intervention plans. Pydantic checks citation IDs, hypotheses, action names, and repetition budgets. Chat mode uses a model provider; explicit baseline mode uses deterministic signatures.

  3. 03
    Execute & verify

    Playwright runs fresh, interleaved baseline and intervention contexts with the same assertions. A finding is supported only if every baseline run fails and every intervention run passes. Mixed results remain inconclusive.

  4. 04
    Retain & replay

    SQLAlchemy storage, leased jobs, heartbeat renewal, bounded retries, and persistent checkpoints support recovery. Completed-case replay validates stored identity and report data before returning the existing result without new inference or execution.

FailureLab investigation workspace showing baseline and intervention evidence and an experimental finding.
Actual application capture · authored development incidentClick to inspect ↗
Constrain execution

The local runner accepts application-owned fixtures. Imported repositories require an authenticated Linux runner, a reviewed manifest, and a disposable VM. Models select typed actions; they cannot provide arbitrary shell commands. Provider failures stop the workflow and consume the persistent call budget.

Validation & current scope

Tests exercise API contracts, live browser behavior, replay, crash recovery, security boundaries, and release gates. An authored GitHub incident completed a real Linux experiment. The v0.1.2 release gate remains incomplete following provider availability failures; deployment smoke testing and human review remain outstanding.

WHAT THE RESULT MEANS

A supported result applies to the tested mechanism in the recorded environment. The authored fixtures check system behavior; production diagnostic accuracy remains unmeasured. Reports preserve unsuccessful attempts and identify missing evidence.

What I’m developing next
IN DEVELOPMENT
Agentic investigation

I’m expanding the automated investigation workflow. The current code has separate diagnosis and planning stages with typed outputs and executable verification. The broader workflow remains in development; the live provider acceptance gate, deployment checks, and human review are still outstanding.

FUTURE
Broader validation

The documented next step is to evaluate independent incidents with a frozen holdout. Optional neural retrieval and deployment adapters also need measured acceptance before making claims about their benefits.

EICCContracts, testing & release decisions

EICC / INTEGRATION WORKSPACE
EICC dark dashboard displaying requirements coverage, integration tests, critical defects, and release readiness for the fictional Northstar project.
Actual EICC workspace. The Northstar scenario is fictional.

IMPLEMENTED

EICC / ENGINEERING NOTES

Tracking requirements through integration and release

Northstar’s fictional case-intake workflow spans legacy records, documents, notifications, identity, reporting, and a partner gateway. In EICC, an analyst can follow a requirement through those systems to its tests and release evidence.

The problem

An interface change can invalidate a test, a stakeholder approval, and a release decision. A dashboard needs to derive readiness from the current contract and its evidence, while retaining the history of what was tested.

A modular monolith

A React and TypeScript workspace calls FastAPI through Nginx or the Vite development proxy. Pydantic validates contracts; domain services own transitions; SQLAlchemy and Alembic manage relational storage. Docker Compose defines the PostgreSQL deployment; SQLite supports local development.

Model the relationships

A common artifact identity and seventeen joined subtype tables connect requirements, integrations, tests, defects, changes, UAT, and releases. Foreign keys enforce the relationships between records. Graph queries compute traceability, impact, and release scope from stored records.

Execute the contract

The runner sends HTTP requests through a fixed in-process transport to REST/JSON and SOAP/XML simulators. It captures request and response evidence for schema mismatches, rejected authentication, timeouts, mapping errors, and downstream faults.

WHEN A CONTRACT CHANGES

Each execution stores a fingerprint of its test and interface contract. Change a mapping, and the earlier pass becomes stale. UAT approvals also depend on the current criteria and evidence. The server rechecks release gates and rejects stale approval when the contract changes.

Workflow integrity

Role checks, opaque cookie sessions, CSRF protection, optimistic revisions, and explicit state transitions protect writes. Execution evidence and generated Markdown document snapshots are immutable through the API. Updates and audit events commit together.

Verification & outcome

Backend, migration, security, and Playwright suites cover the requirements-to-release workflow. The recorded demonstration follows a SOAP failure through correction, retest, UAT, and release completion. Everything runs against a fictional local scenario; a release transition records a decision without deploying external software. EICC has no AI approval path.

What I’m developing next
IN DEVELOPMENT
Enterprise workflow development

I’m developing the requirements, integration, and release workflows described above. The demo shows the current implementation.

FUTURE
Scope to be defined

I haven’t selected the next feature set. External enterprise integrations and production deployment are outside the current demo.

02 / About me

I’m interested in
the whole system.

I’m Muhammed, a Computer Science graduate from the University of Maryland. I build software that uses AI and machine learning, with an interest in how the data and backend services work together.

I work on data processing, model evaluation, backend services, and interfaces. I like tracing a result back to the input, model, or test that produced it, especially when something fails.

EDUCATION

University of Maryland

Bachelor’s Degree in Computer Science

Tools I build with

Technologies used across these projects.

Languages
Python / TypeScript / JavaScript / SQL
AI & machine learning
scikit-learn / River / LangGraph / pandas / NumPy
Backend & data
FastAPI / Pydantic / SQLAlchemy / PostgreSQL / SQLite
Frontend
React / TypeScript / Vite / CSS
Infrastructure
Docker / Nginx / GitHub Actions / Alembic
Quality & developer tools
Playwright / pytest / Git / Ruff / Mypy

03 / Engineering approach

How I approach the work

Check data and training permissions.

A dataset can pass a schema check and still lack permission for training. AutoValue checks both before using it.

AUTOVALUE AI → GOVERNED DATA

Keep the evidence from each run.

FailureLab retains logs, screenshots, and checkpoints so the result can be reviewed against what ran.

FAILURELAB → RETAINED EVIDENCE

Recheck releases after contract changes.

In EICC, a changed contract can invalidate an earlier test pass. The release decision needs to reflect that change.

EICC → TRACEABLE RELEASES

Get in touch.

I’m looking for software engineering and AI/ML opportunities. Email me to discuss a role or a project.

APPLICATION / DETAIL VIEW