Yogendrasinh Sodha

Data engineer. I make messy operational data answer questions.

How the production analysis MCP server works A question in plain language goes to an MCP tool layer offering SQL execution, document generation and retrieval. The layer reads the production SQL Server and an index of equipment manuals, returns an answer, and writes every access to an audit log. A question in plain language An answer MCP tool layer SQL execution Document generation Retrieval over manuals Production SQL Server Equipment manuals Audit log — every access recorded
Schematic. The tools are separate on purpose, and every call is logged.

Production analysis MCP server

Used by analysts and managers where I work.

A FastMCP server over the production database, with a knowledge base built from the bag-machine and extrusion manuals. SQL execution, document generation and retrieval are exposed as separate tools, with schema introspection and audit logging, so a language model can reach production data safely and every access leaves a record.

It replaced ad-hoc analysis requests. It is now the tool I reach for first rather than the exception.

Python · FastMCP · SQL Server · RAG

How the production data pipelines are arranged Data from the ERP system and from machine sensors over PLC and OPC-UA is ingested in batch and streaming pipelines, modelled into fact and dimension tables, and served to reporting. ERP Machine sensors PLC · OPC-UA Ingestion Python · PySpark batch + streaming Dimensional models fact + dimension production · material · QC Reporting
Schematic. Around fifteen pipelines feed these models.

Pipelines and dimensional models

Used by every report the business runs on.

Fact and dimension models in SQL Server, fed by around fifteen batch and streaming pipelines across production, material and QC. Terabyte-scale ingestion from the ERP system and from machine sensors, with acquisition taken straight off the hardware through PLCs and Kepware over OPC-UA.

Python · PySpark · SQL Server · Kepware / OPC-UA

Screenshot to come: the Titan dashboard, cropped to the panel — once showing 3/3 online · leader #1, once after killing node 1 showing 2/3 online · leader #2.

Titan — distributed SQLite

Used by anyone who pip installs it.

A distributed, highly available SQLite database written in Rust, with the Raft consensus engine built from scratch: leader election, failover, replicated multi-table transactions, an HTTP API and a Python client. A three-node cluster survives losing a node without losing data.

Rust · Raft · SQLite · Tokio

Screenshot to come: one real screen of MenuWeek in use — the planned dinner, the grocery list and who is cooking.

MenuWeek

Used by ten roommates, every evening.

A dinner planner for a ten-person household: the menu, the groceries, the prep tasks and who cooks what, for around twenty plates, pure vegetarian with no onion or garlic. A React progressive web app with accounts behind it, installable to a phone's home screen.

React · Supabase · Vercel

Also built

About

I'm a data engineer. The work has the same shape wherever I've done it: an ocean of raw data in, something clean and usable out — pipelines, models, and tools people actually open. Right now that's a manufacturer in New York, where the data comes off physical machines; before that it was a data lake on AWS. Evenings, I build small things that remove a bottleneck. Titan is Rust, a language I learned by building it. Badminton is the love; pickleball and volleyball are what actually get played.

Photograph to come.