Skip to content
Kavyasri Jadala

AI systems · Knowledge · Agents · Applied ML

AI systems built for the real world.

I design and ship agentic AI, knowledge systems, Graph-RAG and applied ML — from data and models to evaluation and production.

8+ years
data, ML and AI in production
Purdue MS
Business Analytics & Information Mgmt
20+ systems
unified into one enterprise knowledge graph
6 domains
pharma, claims, retail, e-commerce, energy, cities
  • Knowledge Graphs
  • Agentic AI
  • Applied ML
  • Multimodal
  • AI Evaluation
  • Production Systems

01 — Selected systems

Systems, not demos — with the numbers.

Knowledge graphs, agents, geospatial risk, governed GenAI and classical forecasting. Each one names the problem, the architecture, my part in it and what was measured — including results that disappointed.

01Enterprise · Bristol Myers Squibb

Healthcare 360 Intelligence

Knowledge graph · Graph-RAG · AWS Neptune · LLMs

Problem
Commercial customer data lived in 20+ systems with no shared meaning. Every business question became a bespoke SQL request, and two teams could get two answers.
System
Entity resolution into a governed RDF/OWL model, SHACL-validated on load into AWS Neptune, with a Graph-RAG assistant that answers in natural language and cites its evidence.
My role
Architect and hands-on lead — semantic model, entity resolution, Graph-RAG, governance
source systems unified
20+source systems unified
recurring ad-hoc requests replaced
~80%recurring ad-hoc requests replaced
SHACL-validated before it reaches the graph
Every loadSHACL-validated before it reaches the graph
  • AWS Neptune
  • RDF / OWL
  • SHACL
  • SPARQL
  • Graph-RAG
  • Entity resolution
  • LLMs
20+ systems → one governed answer
  1. CRMEngagementWeb analyticsOffline
  2. Entity resolutionrules + fuzzy + embeddings · survivorship
  3. Semantic layerRDF / OWL ontology · SHACL gate
  4. Knowledge graphAWS Neptune · SPARQL
  5. Graph-RAGNL → governed query · hybrid retrieval
  6. Evidence-backed answercitations to source records
02Platform · Dalfin.AI

Agentic Application Generation

LLM agents · Code generation · Full-stack · AI platform

Problem
Every internal app re-models the domain by hand — schema, API, screens — and by the third iteration the layers no longer agree.
System
A planner agent extracts the domain from a brief, deck, screenshot or Figma file into a graph; schema, API and UI agents generate from that one graph; 25 validators gate the output.
My role
Built the platform — domain model, agent orchestration, validation and governance
input types incl. screenshots & Figma
5input types incl. screenshots & Figma
automated validators per app
25automated validators per app
reference domains pass (2 after self-repair)
4 / 4reference domains pass (2 after self-repair)
  • Multi-agent orchestration
  • Open-source LLMs
  • VLM input
  • Temporal KG (Graphiti)
  • React
  • REST
View case studySystem design · code private
One graph drives every agent
  1. RequirementsScreenshotFigma
  2. Planner agentdomain extraction → knowledge graph IR
  3. Schema agentAPI agentUI agent
  4. Validation25 validators · targeted repair
  5. Human approvalgovernance gate
  6. Deployable applicationReact · REST · database
03Open research · urban twin in design

Flood Intelligence

Geospatial AI · Risk modelling · Data provenance

Problem
Cities need to know where water will collect, and what to do, before the storm. The obvious model — rainfall in, flooded area out — needs both numbers for the same flood.
System
A provenance-enforced flood dataset across 12 regions (2 in the UAE) whose validator rejects any figure without a source, evidence tier and method — the foundation for an urban flood twin.
My role
Sole author — research design, provenance validator, dataset, statistics
flood events · 12 sites
48flood events · 12 sites
have both rainfall & extent
2 / 48have both rainfall & extent
coverage anti-correlation, p = 0.004
ρ −0.76coverage anti-correlation, p = 0.004
  • Python
  • Geospatial
  • Sentinel-1 / satellite
  • Provenance validator
  • Statistics
Target architecture · urban flood twin
  1. RainfallTerrainRoadsBuildings
  2. Feature layergrid · drainage · land use
  3. Flood risk modelblocked until paired data exist
  4. Hotspotsranked cells · drawdown time
  5. Ontology / agent layerassets, owners, interventions
  6. Investigation + actionsscenario comparison
04Enterprise · public companions

Governed Content Intelligence

GenAI · Recommendation · Content lineage · Knowledge graph

Problem
In pharma, AI may only recommend or generate medically, legally and regulatory-approved content — and someone must prove which approved claim each sentence came from.
System
A content graph linking every asset to its evidence, approval and use; generation constrained to approved material; slide-level lineage on every output.
My role
Owned the content-lineage data product and GenAI market adaptation
per-market dossier adaptation
~3 mo → 1 wkper-market dossier adaptation
markets, incl. 6 low- & middle-income
~25markets, incl. 6 low- & middle-income
lineage to source and approval
Slide-levellineage to source and approval
  • GenAI
  • Knowledge graph
  • Lineage
  • Recommendation
  • FastAPI
  • python-pptx
Recommend only what can be traced
  1. Customerprofile & specialty signals
  2. Interactionsengagement history
  3. Content / metadata graphasset → claim → evidence → approval
  4. Ranking / recommendationeligibility first, relevance second
  5. Generated recommendationapproved content only
  6. Evidence / content lineageevery sentence traceable
05Production · Dalfin.AI + research rebuild

Store × SKU Demand Forecasting

Applied ML · Forecasting · LightGBM · MLOps

Problem
A large retailer replenishes 4,000+ SKUs across 33 stores. Per-series models do not scale, and naive forecasts ignore promotions, seasonality and how products steal demand from each other.
System
Global LightGBM over lag, rolling and hierarchy features with a p90 quantile head for safety stock, served per SKU-store by FastAPI and retrained through Airflow + MLflow.
My role
Lead data scientist — models, serving, retraining pipeline, graph-feature ablation
SKUs × stores in production
4,000+ × 33SKUs × stores in production
WMAPE, naive → LightGBM (simulated rebuild)
0.227 → 0.184WMAPE, naive → LightGBM (simulated rebuild)
graph-feature lift — small, and reported
+0.4%graph-feature lift — small, and reported
  • Python
  • SQL
  • LightGBM
  • XGBoost
  • FastAPI
  • Airflow
  • MLflow
  • Docker
View case studySystem design · code private
From history to a served forecast
  1. Sales historyPromotionsCalendarProduct / store graph
  2. Feature pipelinelags · rolling stats · graph embeddings
  3. Global LightGBMpoint forecast + p90 quantile head
  4. Validation gatetime holdout · 7-day embargo · vs naive
  5. MLflow registrypromote on pass
  6. FastAPI forecastsSKU × store · confidence · metadata

Supply chain & applied AI

14 systems for forecasting, planning and routing, each against its baseline.

Forecasting & demand · Inventory & supply planning · Routing & last mile · Pricing & commercial · Agents & LLM platforms · Reliability.

Featured · Routing · fleet optimisation

Fleet routing (CVRP with time windows)

A 300-truck fleet misroutes ~4% of shipments and books drivers a week ahead from a forecast: time-windowed VRP routing with OR-Tools plus a zone-demand forecast.

Peak week: -22.1% road km against the sweep dispatcher (140,683 to 109,607)

  • OR-Tools
  • XGBoost
  • statsmodels
  • scikit-learn

The graph

Navigate the work by skill, not by job title.

Pick a node — SHACL, Forecasting, Agents — and see every case study, experiment and repository that uses it. 9 experiments and 31 repositories are wired in.

02 — Evaluation

AI isn’t finished when the demo works.

Every system here ships behind an evaluation path. Measure two metrics that can disagree, and run the experiment most likely to embarrass the headline.

  1. 01Golden datasetquestions + expected rows + sources
  2. 02Retrieval evalPrecision@K · Recall@K
  3. 03Generation evalformat · schema validity
  4. 04Groundednessevery claim cites retrieved evidence
  5. 05Correctnessfield accuracy vs ground truth
  6. 06Latency / costP50 · P95 · output tokens
  7. 07Human reviewsampled · disagreements become tests

Structural validity vs factual accuracy

Measured · ontoloop
SHACL conformancerecords that validate
  • 3B0%
  • 14B65%
  • 3B + loop85%
  • 14B + loop80%
Field accuracyfields matching ground truth
  • 3B71%
  • 14B85.5%
  • 3B + loop78.5%
  • 14B + loop83.5%

The repair loop lifts a 3B model from 0% to 85% valid records — past a 14B model. It never once made a record more correct: a plausible invented date satisfies every shape. Two metrics, opposite verdicts; both are reported.

Table view · latency and cost
ArmConformanceAccuracyp50 latencyOutput tokens
3B0%71%9.2 s3,300
14B65%85.5%27.2 s3,693
3B + loop85%78.5%19.0 s7,971
14B + loop80%83.5%31.6 s5,826

20 synthetic cases · Ollama on CPU · temperature 0 · seed 20260720.

Release gate

Illustrative

Example thresholds a Graph-RAG release must clear before it reaches users. These are design targets, not measured results.

Recall@10
≥ 0.85
Groundedness
≥ 0.95
Answer correctness
≥ 0.90
Hallucination rate
≤ 2%
P95 latency
≤ 2.5 s
Cost / answer
budgeted per use case

Other measured results on this site: entity resolution P 0.93 / R 0.84 · lineage P 100% / R 90% · spatial-CV accuracy 95.8%.

03 — Engineering proof

Built, tested, shipped.

Real excerpts from public repositories — not screenshots, not pseudocode. Each links to the exact lines on GitHub.

Closed shape: enumerated severity, ID pattern, exactly-one cardinality.

ontoloop/ontology/generated_shapes.ttl ↗
pv:AdverseEvent a sh:NodeShape ;
    rdfs:comment "An untoward medical occurrence. Must name exactly one suspect drug, which is what makes the report actionable for signal detection." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:in ( "mild" "moderate" "severe" "life_threatening" "fatal" ) ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:order 2 ;
            sh:path pv:severity ],
        [ sh:datatype xsd:string ;
            sh:description "Stable identifier, prefixed by record type." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path pv:id ;
            sh:pattern "^(CASE|PT|DRUG|AE)-[0-9]{6}$" ],
        [ sh:in ( "recovered" "recovering" "not_recovered" "fatal" "unknown" ) ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:order 3 ;
            sh:path pv:outcome ],
ontoloop● Python
Agents · SHACLAgent loop that repairs an extracted safety record until SHACL validates it.3B model 0% → 85% conformant
blastradius● Python
Lineage · static analysisColumn-level lineage across SQL and Python: see what breaks before you change a column.100% precision · 90% recall · 42 tests
mdm-entity-resolution● Python
Entity resolutionFragmented HCP records → golden records with survivorship, scored vs ground truth.P 0.93 · R 0.84 · F1 0.88
global-flood-hotspots● Python
Geospatial · provenanceProvenance-validated flood dataset for 12 regions, and why rainfall→extent can't be fit.2 / 48 events paired · ρ −0.76 · 57 tests
landcover-spatial-cv● Python
Computer vision · EOEuroSAT land-cover with spatial cross-validation on 50 km held-out blocks.95.8% spatial accuracy · κ 0.953
crypto-risk-kg● Python
Knowledge graph · securityCrypto-asset knowledge graph with PQC risk scoring and guarded on-prem NL→Cypher.~6,400-node graph · 12 guarded intents
customer360-ontology-graph● Python
Ontology · Graph-RAGOWL ontology, SHACL ingestion gate, graph analytics and cited NL→Cypher answers.demo · no benchmark claimed
commercial-metadata-catalog● Python
Governance · lineageGlossary, catalog and lineage — a slide traces back to its MLR approval.demo · no benchmark claimed
governed-slide-generator● Python
Governed GenAIGenerates decks from approved claims only, with slide-level lineage, via FastAPI.3 approved rendered · 1 draft refused
pharma-commercial-datamodel● Python
Data modellingOne domain modelled as 3NF, a dimensional warehouse with SCD-2, and a graph.5,000 / 5,000 engagements conserved
gulf-shield-osint● Python
Multimodal · SARArabic OSINT classifier plus Sentinel-1 SAR change detection.demo · no benchmark claimed
youtube-summarizer● Python
Multimodal · GenAIVideo intelligence: Whisper transcripts, summaries and visual analysis behind FastAPI.demo · no benchmark claimed
agentic-supply-planning● Python
Agents · supply chainDemand forecasts turned into budgeted, approved purchase orders by a LangGraph supervisor and four agents.WAPE 8.4% vs 19.6% naive · 88% touchless POs
shelf-vision● Python
Computer vision · retailCCTV shelf frames to planogram compliance, store tasks and replenishment, with a 3D store twin (in progress).mAP50 0.976 · false alerts 6.1% → 0% smoothed
retail-demand-forecasting● Python
Forecasting · graph featuresStore × SKU replenishment forecasting with a with/without-graph ablation.WMAPE 0.227 → 0.183 · graph lift +0.4%
novacart-mlops● Python
MLOps · e-commerceChurn, demand forecasting and a Graph-RAG assistant served as one MLOps stack on a simulated retailer.churn ROC-AUC 0.795 · MAPE 6.28% vs 7.50% naive
uae-business-mcp● TypeScript
Agents · MCPMCP server that makes a local UAE business usable by AI agents (in progress).demo · no benchmark claimed
fleet-routing-cvrp● Python
Routing · fleet optimisationA 300-truck fleet misroutes ~4% of shipments and books drivers a week ahead from a forecast: time-windowed VRP routing with OR-Tools plus a zone-demand forecast.Peak week: -22.1% road km against the sweep dispatcher (140,683 to 109,607)
last-mile-dispatch● Python
Last mile · experimentationQuick-commerce hubs dispatching one order per rider by hand miss the 30-minute promise: order bagging, Hungarian rider matching and a hub-randomised A/B test.Fleet cost per delivered order 9.79 to 8.75 AED (-10.6%)
ddmrp-buffers● Python
Inventory · replenishmentA distributor holds 172 days of stock and still stocks out: DDMRP buffers against min-max and reorder-point policies at matched fill rate.DDMRP holds 52.1 days of inventory against 97.6 for legacy min-max (−47%)
intermittent-demand-forecasting● Python
Forecasting · intermittent demandHalf the catalogue sells nothing most weeks, so one method and MAPE pick the wrong model: segment-wise backtest of seven forecasters.LightGBM cuts eight-week WAPE to 21.9% from 29.1% for seasonal naive
supply-chain-twin● Python
Digital twin · supply planningPolicy changes cost a quarter of empty shelves to try for real: a SimPy twin of 2 DCs and 36 stores that accepts a change only if it beats its own error.Ordering every two days alone: -142,008 ±3,375 per quarter (about 6%)
markdown-optimizer● Python
Pricing · markdownA blanket 30% clearance markdown gives margin away on some SKUs and writes off stock on others: per-SKU elasticity and markdown-path search.Promotional margin 56,628 against 18,877 for the 30% rule
llm-cost-router● Python
LLM platform · costEvery LLM request goes to the 7B model because nobody knows when a 3B answer is safe: a verified small-to-large cascade.82.5% completion against 85.0% for the large model alone, at $0.0176 per 1k requests against $0.0452 (61% cheaper)
hcp-graph-targeting● Python
Graph ML · commercial targetingPrescription deciles barely separate launch converters (AUC 0.623): referral-network features and embeddings in a paired ablation.Graph features lift AUC from 0.641 to 0.668 (+0.027, 95% CI +0.018 to +0.037)
agentic-pipeline-builder● Python
Agents · data engineeringOnboarding a new source takes days of manual type, key and join detective work: agents that infer them and emit a tested dbt project and Airflow DAG.88.6% of 45,677 injected defects caught at 98.4% row precision
genai-recommender● Python
Recommender · governed GenAIA commercial team must pick content, channel and message for 20,000 prescribers using approved claims only: sequence recommender, channel policy and governed RAG.206.6 engaged per 1,000 touches against 189.8 logged (+8.9%)
peak-capacity-planner● Python
Capacity planning · MIPRiders must be committed weeks before Ramadan and a 4.2x mega-sale: event-aware forecast, MIP shift plan and an order-by-order replay.17.6% less rider cost, 6.4% less total cost including lost margin
order-outcome-margin● Python
E-commerce · unit economicsOne order in five ends in a return, cancellation, refusal or chargeback: a five-outcome model priced with unit economics, and a COD switch-off rule.Sale-week daily margin error: 4.3% against 22.5% for finance's flat rates
predictive-maintenance● Python
Reliability · maintenanceA crew can do about six planned jobs a week across 200 assets: failure-risk model, break-even rule and crew-budgeted scheduler run closed-loop.unplanned failures 44.2 vs 111.2 a year, cost 2.02M vs 4.01M a year
order-forecast-inventory● Python
Forecasting · inventorySafety stock covers what a smoothed order history misses: SQL-joined customer × SKU panel and two-stage boosted forecasts judged on holding cost.Holding cost at 98% fill falls 48.7% against per-line ETS

04 — How I build

From an ambiguous problem to a system that stays correct.

The same loop on every project. Each stage leaves an artifact behind — that is what makes the next one checkable.

  1. 01 →

    Discover

    Find the decision the system serves and the data that actually exists.

    • decision owner
    • baseline
    • success metric
  2. 02 →

    Model the domain

    Write the meaning down before writing code.

    • ontology
    • entity model
    • SHACL shapes
  3. 03 →

    Build the data layer

    Ingest, resolve identities, validate on load.

    • entity resolution
    • lineage
    • feature store
  4. 04 →

    Train · retrieve · reason

    Pick the cheapest method that clears the bar.

    • LightGBM
    • hybrid retrieval
    • agents + tools
  5. 05 →

    Evaluate

    Golden sets, two metrics that can disagree, the embarrassing test.

    • golden set
    • groundedness
    • ablations
  6. 06 →

    Deploy

    Behind an API, with access control and a rollback path.

    • FastAPI
    • Docker
    • MLflow registry
  7. 07 →

    Observe

    Watch drift, latency, cost and the questions it fails.

    • PSI drift
    • P95 latency
    • token cost
  8. 08 ↺

    Improve

    Failures become test cases; test cases become the next release.

    • error taxonomy
    • regression set
    • retraining

05 — Stack

Tools I reach for, grouped by the job they do.

AI systems

  • LLMs
  • RAG
  • Agents
  • VLMs
  • PyTorch
  • TensorFlow
  • LangChain

Knowledge systems

  • RDF
  • OWL
  • SHACL
  • SPARQL
  • LinkML
  • Ontologies
  • Entity resolution

Graph

  • AWS Neptune
  • Neo4j
  • Cypher
  • GraphQL
  • Graph-RAG
  • Graph ML

Data

  • Python
  • SQL
  • Spark
  • Databricks
  • Microsoft Fabric
  • FAISS · Pinecone

Production

  • AWS
  • Azure
  • GCP
  • Docker
  • FastAPI
  • Airflow · MLflow
  • Monitoring

06 — About

Hands on the system, eyes on the decision.

I work where AI engineering, data systems and product meet — writing the ontology, the pipeline and the evaluation myself, and sitting with the people who will act on the output. Eight years across pharma, claims, retail, e-commerce and energy. MS from Purdue. Based in Dubai.

  1. NowHealthcare claims AIKnowledge graph & document AI
  2. 2026Dalfin.AI · DubaiLead Data Scientist
  3. 2024 — 26Bristol Myers SquibbSenior Manager, Data Science
  4. 2023 — 24Purdue UniversityMS · Data Scientist, industry partners