Skip to content
View shadowmodder's full-sized avatar
👽
👽

Block or report shadowmodder

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
shadowmodder/README.md

Sudhir Vissa

Machine-learning engineer focused on the parts that actually decide whether ML works in production — evaluation, calibration, thresholds, drift, identity/fraud signals, serving, and the tooling around them. Also building production agentic systems: tool loops, MCP servers, streaming parsers, and agent memory.

Blog · LinkedIn


Upstream contributions

Bug fixes shipped to production ML/LLM libraries. Open PRs tracked at PORTFOLIO.md. Table below updates automatically each day — merged PRs appear here once landed.

PRRepositoryDescriptionMerged
(none merged yet — 9 open PRs in review)

Writing

Technical posts on production ML/LLM systems.

PostTags
Your Fraud Model's Scores Are Not Probabilitiescalibration · production ML · fraud
RAG Retrieval Isn't a Similarity ProblemRAG · IR metrics · NDCG · MRR
Running an LLM Gateway in ProductionLLM · rate limiting · cost · caching
Streaming LLMs in Production: The Edge Cases That Break Your Appstreaming · SSE · LangChain · production
Fine-Tuning vs. Prompting: A Decision Framework That Doesn't Lie to Youfine-tuning · LoRA · RAG · prompting

Also on LinkedIn.


Agentic & LLM infrastructure

RepoWhat it does
tool-loopCorrect agentic tool-use loop: parallel dispatch, error isolation, auto-schema from Python functions
mcp-quickserverMCP server template: tools, resources, and prompts with stdio and SSE transports
stream-parseParse streaming LLM output: incremental JSON, markdown blocks, tool-call deltas, SSE events
agent-scratchpadPersistent vector memory for agents: embed, store, retrieve by cosine similarity
prompt-cache-benchBenchmark prompt caching: cache hit rate, latency delta, cost savings with real measurements
llm-eval-liteAssertion-based eval harness for LLM/agent outputs; composite checks (AllOf, AnyOf)
rag-evalRAG pipeline evaluation: chunking strategies, retrieval quality, answer faithfulness
llm-gatewayProduction Anthropic API proxy: token-bucket rate limiting, retry with backoff, cost tracking
rag-demoEnd-to-end RAG demo: BM25 + tool-loop agent + faithfulness eval + persistent memory

ML evaluation & calibration

RepoWhat it does
ml-eval-reportBinary-classifier eval: metrics, ROC/PR + AUC, threshold sweep, Brier score, ECE
calibrate-mlProbability calibration: Platt scaling, isotonic regression, ECE, reliability diagram
thresholdkitPick operating thresholds under precision / FPR / cost / expected-value constraints
rankevalNDCG, MRR, AP@K, P@K, R@K — ranking metrics for search, recommendation, RAG

Production ML & data

RepoWhat it does
featurecheckFeature drift (PSI/KS/chi-squared) + schema/null/dtype validation
idgraphIdentity/entity graphs from shared signals; surface synthetic-identity rings + risk scoring
pii-redactorDetect & redact PII (email, phone, SSN, IP, Luhn-validated cards); custom patterns
capture-qaImage capture-quality gates (sharpness, exposure, resolution)
modelcard-genGenerate Model Card markdown from a JSON config

Systems & infrastructure

RepoWhat it does
tps-benchHTTP throughput & p50/p90/p99 latency benchmark for serving endpoints; warmup + JSON output
cmsketchCount-Min Sketch: approximate counts over high-cardinality streams; merge + serialization

Background

20+ years across devices, cloud, and ML — biometrics & sensing at Motorola/Google/Lenovo, real-time services at Amazon Alexa scale, ML-platform work at SpotHero and Apple (feature pipelines, scoring infrastructure, model monitoring, data-science tooling). ~50 granted patents.

Pinned Loading

  1. cmsketchcmsketchPublic

    A small, dependency-free [Count-Min Sketch](https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch) in Rust —

    Rust

  2. idgraphidgraphPublic

    Coordinated fraud and synthetic-identity rings show up as **accounts that quietly share signals** — the same d

    Python

  3. llm-eval-litellm-eval-litePublic

    You don't always need a heavyweight eval framework — sometimes you just need to assert that the model said the

    Python

  4. ml-eval-reportml-eval-reportPublic

    Lightweight, dependency-light evaluation for **binary classifiers**. NumPy in, plain-Python and markdown out —

    Python

  5. thresholdkitthresholdkitPublic

    Choosing the decision threshold is where most fraud / risk / identity models actually live or die. `thresholdk

    Python

  6. tps-benchtps-benchPublic

    A single-binary HTTP load tester for **model-serving endpoints** (or any HTTP service). No dependencies beyond

    Go