---
title: "Machine learning engineering"
description: "Ayush Rai on machine learning engineering: a browser workbench for a synthetic retail-demand lifecycle, plus what the public repositories actually contain. No model is trained on this page."
canonical: "https://www.ayushrai.site/pow/ml-engineer/"
last-updated: "2026-10-19"
---

# Machine learning engineering

Source: https://www.ayushrai.site/pow/ml-engineer/
Markdown: https://www.ayushrai.site/pow/ml-engineer.md

Ayush Rai on machine learning engineering: a browser workbench for a synthetic retail-demand lifecycle, plus what the public repositories actually contain. No model is trained on this page.

I work across data pipelines, model training, evaluation, inference, and system reliability to turn machine learning experiments into dependable software.

This page is a frontend simulation. It does not train a model, call a model API, or record production traffic.

Synthetic demonstration. Not a customer system, and not a measured production dataset.

The synthetic table has 31 rows. Validation marks 17 as passed and 14 as failed. Failed rows are reported and kept out of the clean set.

On the time-ordered holdout, the lag baseline MAE is 2.00 and the fixed blend MAE is 1.59. The blend uses coefficients written in the page. They were not fit. R-squared is reported with the caveat that a small holdout can make it look more decisive than it is.

## Case studies

### Retail price optimization

Exists: A search of the public GitHub account ayushrai-hub for notebooks, scikit-learn, and price-optimization code did not find a repository that implements this project.

Implemented: Nothing I can point to in a public repository.

Demonstrated: Not demonstrated here.

Synthetic: The demand table on this page is a separate, labeled demonstration. It is not that project.

Incomplete: There is no public training, evaluation, or serving code to review.

Next: Publish the data contract, the split, the baseline, and the evaluation before describing a result.

### Stock price analysis

Exists: The same public-code search found no LSTM, GRU, Keras, or TensorFlow training implementation, and no notebooks.

Implemented: No model architecture, feature pipeline, temporal split, or metric is available to describe.

Demonstrated: Not demonstrated. I do not claim that a recurrent model beat a baseline.

Synthetic: None attached to this title.

Incomplete: The whole project, as far as the public account shows.

Next: If the work exists elsewhere, add the source, the split, and the measured comparison.

### Adaptive RAG

Source: https://github.com/ayushrai-hub/adaptive-rag

Exists: The repository exists. GitHub lists dhruvsinghal09 as the author of 12 commits and ayushrai-hub as the author of one commit on 1 April 2026 (3bcbf10).

Implemented: That commit adds Docker files, documentation, and a multi-provider LLM factory for OpenAI and NVIDIA, with small edits to the graph and the ReAct agent. The README describes a LangGraph application: classify, retrieve, grade, rewrite, generate, and web search, behind FastAPI and Streamlit.

Demonstrated: Application orchestration around hosted models. A tree listing did not show a test or evaluation suite. This is not a training platform.

Synthetic: I am not labeling the repository’s documents as synthetic. I also have no retrieval-quality numbers to publish.

Incomplete: No measured retrieval or answer quality, no production deployment claim, and no statement that I designed the original system. The GTM page leaves this repository out because the design is Dhruv Singhal’s.

Next: An evaluation set with expected documents, and a test that the router’s three paths fail closed.

### OpenAI-RLHF

Source: https://github.com/ayushrai-hub/OpenAI-RLHF

Exists: The repository exists. Its README says it is an archive of coding evaluation tasks and A/B completion artifacts, and that it does not contain an RLHF, PPO, or DPO trainer.

Implemented: A Months track of ideal_completion.py plus tests.py, a Colosseum track of Completion A/B pairs, and scripts that list tasks, run tests, validate the tree, and export preferences. I did not run that suite while writing this page.

Demonstrated: Evaluation and preference-pair layout. The experience page is where the FoCDoT and Outlier review work is described. This repository is not foundation-model training.

Synthetic: The README does not call the tasks synthetic. I am not republishing a task count as a personal score.

Incomplete: No reward model, no policy update, and no claim that the archived tests were executed in CI for this site.

Next: Run the documented test script on a pinned subset and publish the pass count only after that run.

### Revenue Intelligence Engine

Source: https://github.com/ayushrai-hub/REVENUE-INTELLIGENCE-ENGINE

Exists: The repository and the project record exist. The record’s demo field is https://cashmaker-two.vercel.app. A console at https://revopy.vercel.app/ is cited on the product-management page as a console that was opened, and it is a different URL from that demo field.

Implemented: A deterministic 100-point rubric over a bundled set of 42 fictional companies, with normalize, dedupe, mock enrichment, optional LLM research that falls back to a template, and a human approval gate before export. The score is not produced by a trained model.

Demonstrated: An inspectable data-to-decision path and a stop rule. Useful as pipeline and release-gate thinking, not as model training.

Synthetic: The repository says the companies, contacts, signals, and research outputs are synthetic.

Incomplete: No learned model, no live CRM write, and no production monitoring of a predictor.

Next: Keep the rubric. If a model is added later, it should lose to this rubric until a gated comparison says otherwise.

### AGENYRA

Source: https://github.com/ayushrai-hub/AGENYRA

Exists: The public site is https://agenyra.space/ and the repository README describes a pre-release marketplace.

Implemented: Next.js, Drizzle, and Postgres full text. Money is integer minor units. Trust claims carry a provenance label. No training loop or model server is described in that README.

Demonstrated: Product data and explicit provenance. Not a machine-learning lifecycle.

Synthetic: The README’s seed command loads demo catalog rows.

Incomplete: Discovery over those fields, and anything that would be a model, are outside this inspection.

Next: Leave it out of model-training claims. The product page already separates what is built.

### RevenueRoles

Source: https://github.com/ayushrai-hub/RevenueRoles

Exists: The live site is https://revenueroles.in/ and the product record describes job discovery.

Implemented: A job product. A code search for a classifier, an embedding model, scikit-learn, or an OpenAI call in that repository returned no files. I am not describing a trained ranking model.

Demonstrated: Product and data-platform work, documented on the product and GTM pages. Not a model lifecycle.

Synthetic: No model metrics.

Incomplete: Any learned classifier, if one was intended, is not in the search result I checked.

Next: If classification is rules, say so next to the rule. If it becomes a model, add a baseline and a gate.

### SpiderWeb

Source: https://github.com/ayushrai-hub/SpiderWeb

Exists: The repository README describes a local app that reads a LinkedIn data export.

Implemented: Import, normalization, deduplication, and counts of rows read, imported, updated, and rejected. The README says the numbers are counts over the export and that there is no production deployment.

Demonstrated: A data-ingestion path that records rejected rows. That is the part that overlaps this page. There is no trained model in that description.

Synthetic: The user’s own export is not synthetic. This page does not display anyone’s export.

Incomplete: No feature store, no model, no hosted service.

Next: Keep the reject counts. Do not add an inferred score without labeling the rule.

## Proposed next build

The roadmap below is proposed. It is not a list of finished infrastructure.

### Stage 1 — Reproducible baseline

- Write the prediction task the way the problem panel does.
- Validate a real extract with the same style of checks.
- Keep a baseline in the comparison.
- Freeze the split.
- Record the code revision and the data snapshot.

### Stage 2 — Automated pipeline

- Split data preparation into a library the service can import.
- Version datasets and feature specs.
- Track experiments in a real tracker. MLflow is a candidate, not an integration.
- Persist artifacts outside the browser.
- Fail the job when a gate fails.

### Stage 3 — Serving

- Publish the request and response schema.
- Package the model with the feature code.
- Reject invalid requests before prediction.
- Test the contract.
- Benchmark a representative workload before choosing hardware.

### Stage 4 — Reliability

- Structured logs with a model version and a status.
- Health checks that fail when the artifact does not load.
- Input checks separate from accuracy checks.
- A join for delayed ground truth.
- A rollback to the last approved version.

### Stage 5 — Optimization

- Profile the actual bottleneck.
- Measure batching and caching against quality.
- Try quantization only with a second evaluation.
- Compare quality, latency, and cost together.

_Unverified award metrics are omitted. Wording matches the public site._
