overthinking
the spacing.
There is a very real chance I moved something three pixels to the left while making this website. Nobody will notice. I will.
There are no achievements hidden here. There is, however, a completely unnecessary WebGL game running behind this page.
The site is a collection of worlds rather than a list of credentials.
Playlists, old eras, radio nostalgia and songs that refuse to leave.
Frames, textures, streets, places and little visual accidents worth keeping.
Data, AI, systems, experiments and the engineering that somehow made it to production.
Things I learned, noticed, built, misunderstood and then understood slightly better.
There is a very real chance I moved something three pixels to the left while making this website. Nobody will notice. I will.
that I heard for approximately eleven seconds.
There are currently 47 versions of later.
because “good enough” felt slightly rude.
Research status: significantly more tabs opened.
A little less “professional bio”, a little more “what makes Mayank tick”: music, machines, sport, games, food, travel, and a frankly unreasonable number of browser tabs.
I like computers for the same reason I like a good strategy game: there is always another layer underneath. I enjoy coding, tinkering, figuring out how things work, trying things just to see what happens, and occasionally spending far too long making something unnecessarily polished.
Music is a big part of the background noise. So are Formula 1 weekends, Real Madrid matches, tennis, strategy games, travelling somewhere new, and stopping for food because a place looked interesting. I’m especially drawn to people and ideas with a certain mindset , the kind of persistence you see in Novak Djokovic and Cristiano Ronaldo: keep improving, stay stubborn when it matters, and somehow find another gear when everyone else thinks the job is done.
And yes, despite having an entire career around modern technology, I still open The Verge and XDA Developers basically every day like it is 2014 and I’m waiting to discover the next piece of tech that will completely change my life. It usually does not. I still check tomorrow.
Travel keeps the rest of it moving. Give me a new city, a mountain road, an unfamiliar menu or a completely unplanned afternoon and I’m interested. I like collecting experiences more than souvenirs , good songs, ridiculous sports moments, strange little discoveries, great meals and stories that start with “we probably shouldn’t have gone there” are generally enough.
I can lose an afternoon to a machine, a weird bug, a new tool, or an idea that started with “I wonder if…”
Blues, old records, modern discoveries, playlists, radio rabbit holes and songs that somehow become part of a particular memory.
Cars are great. Strategy is better. Tyres, timing, engineering, tiny margins and the occasional decision that makes everyone yell at the screen.
Big nights, ridiculous standards, beautiful football and the belief that a match is never really over until it is over.
Especially the Djokovic school of mentality: stay in the fight, solve the problem in front of you, and make the next point matter more than the last one.
I like systems where patience, planning and one slightly questionable decision can completely change the outcome.
New places are best explored slowly, preferably with a good walk, a questionable detour and something local on the plate.
The Verge, XDA, old forums, new hardware, strange software and “just five minutes” of reading that somehow becomes an hour.
A small corner of the internet for the music that follows me around , old blues, modern discoveries, late-night listening, road-trip songs and anything that earns another play.
The kind of song that makes you stop doing whatever you were doing for a minute.
My playlists jump around quite a bit. Blues, guitar-driven stuff, feel-good records, newer releases, songs for travelling and the occasional track that gets played far more times than it probably deserves.
These are the playlists I actually keep around. No elaborate genre taxonomy , just music I like, music I discover, and music that fits a particular moment.
Open any playlist and let Apple Music take it from here.
Blues, soul and the kind of guitar playing that makes you pay attention.
Easy listening, good moods and songs that make an ordinary day feel a little better.
Laid-back grooves, warm guitars and the sort of songs that reward slowing down.
New releases and fresh finds , because the old favorites still need some competition.
Guitar, songwriting and the particular kind of calm that works equally well on a drive or at midnight.
Seven systems. Seven different problems. The work below is written the way the systems were built: start with the question, expose the architecture, show the constraint, then make the outcome impossible to miss.
VITALS
VITALS is the evolution of an intent-routed RAG chatbot into an enterprise GraphRAG platform on Oracle 26ai and OCI Generative AI.
The goal was never to make a chatbot that sounds intelligent. It was to make one that can navigate real enterprise data, use the right capability, validate the path it takes, and show its work.
A PySpark schema-extraction pipeline maps 74 tables, roughly 1,900 columns and 157 date formats. That metadata feeds real-time SQL validation across both chatbot generations, giving the model a constrained view of what the underlying data can actually support.
The first system lived on Databricks Apps with Unity Catalog Volumes and Foundation Model APIs. Its successor moved to Oracle 26ai for infrastructure-level needs, adding Property Graph and AI Vector Search through OCI Generative AI.
LangGraph handles multi-step reasoning and tool routing; Cotiviti’s Langfuse gateway provides observability; OpenShift/Kubernetes provides the deployment path. The result cut pipeline-question lookup from about three hours to under a minute.
A production-grade GenAI system, not a prompt demo. The work spans schema discovery, intent routing, tool calling, SQL safety, retrieval, graph reasoning, observability and Kubernetes deployment.
The first generation used Databricks Apps, Unity Catalog Volumes and Foundation Model APIs with eight native LLM tools and two-phase SQL validation. The successor moved the graph and vector layer to Oracle 26ai and OCI Generative AI, while LangGraph StateGraph routing and the Langfuse gateway kept the system observable and controllable.
The engineering connected model behavior to real enterprise metadata: 74 tables, about 1,900 columns and 157 date formats. That turned a roughly three-hour pipeline-question lookup into an answer in under a minute.
CLAIMS KNOWLEDGE BASE
Before an AI system can answer well, someone has to make the underlying knowledge legible. This project built that layer from first principles.
141 files across four claims streams.
Python-generated cross-links~960 chunks, embedded and FAISS-indexed.
semantic retrieval layer244 nodes and 610 edges in an Oracle Property Graph.
relationships become explicitInteractive Three.js 3D lineage with 1,146 edges.
knowledge becomes navigableThe knowledge layer became the retrieval backbone behind the chatbot lineage above, cutting new-engineer ramp time from six weeks to under two.
This is the knowledge engineering underneath an AI product: content normalization, retrieval design, relationship modeling and an interface for exploring how information connects.
A 141-file knowledge base was created across four claims streams, with Python-generated cross-links, about 960 chunks and FAISS retrieval. The same knowledge was represented as an Oracle Property Graph with 244 nodes and 610 edges, then exposed through a Three.js 3D exploration layer with 1,146 edges.
The result became the retrieval backbone for the chatbot lineage and reduced new-engineer ramp time from six weeks to under two. It shows the ability to turn messy domain knowledge into infrastructure another system can actually use.
Core member of a five-engineer team building a 14-service multi-agent analytics platform evolving toward Sales Copilot / RFP Copilot.
A 100× unit-scaling bug and a silent-failure path producing blank AI narratives were traced across the orchestrator/MCP boundary.
Every fix was validated against live production data, with 9 of 10 real-world cases passing. A separate aggregation-logic bug was also found that code review alone had missed.
Strong systems debugging inside a distributed AI architecture. The interesting part is not simply that there were agents, but that failures had to be traced across services, tool boundaries and model infrastructure.
As part of a five-engineer team, the platform grew to 14 services with a LangGraph orchestrator, seven MCP tool servers, a two-tier LiteLLM gateway and Langfuse tracing, aimed toward Sales Copilot and RFP Copilot workflows.
A 100× unit-scaling defect and a silent path that produced blank AI narratives were traced across the orchestrator and MCP boundary. Fixes were checked against live production data, with nine of ten real-world cases passing, and an additional aggregation bug was found beyond the original failure.
DATA HEALTH SCORECARD
A weekly Oracle-vs-HDFS reconciliation system that turns data quality from an incident reaction into a repeatable health signal.
Baseline statistical deviation.
9-6-3-6-9 architecture using reconstruction error.
Seasonality-aware decomposition plus isolation-based anomaly detection.
A data engineering problem treated as a measurable ML and reporting system. Instead of waiting for reconciliation incidents, the pipeline creates a repeatable weekly health signal.
Oracle and HDFS data were reconciled using Apache Iceberg snapshots across 374 clients and five years of history. Fifteen PySpark features were produced per client-month and scored with three complementary approaches: z-score deviation, a 9-6-3-6-9 autoencoder using reconstruction error, and STL plus Isolation Forest for seasonality-aware anomalies.
The pipeline covered more than $4B of paid-claims client-month data, was Oozie-orchestrated and emitted a self-contained HTML scorecard. The reporting pattern was later adopted team-wide.
Oozie-orchestrated. Self-contained HTML output. Later adopted team-wide as the standard reporting pattern.
RULE CUSTOMIZATION INTELLIGENCE
The pipeline reconstructs standard and client-customized rule versions, follows fork chains and measures code-scope drift across every client.
Standard-vs-client behavior, fork chains and code-scope drift become structured signals rather than manual code reading.
Power BI lineage visualization turns the output into a ranked report for Client Medical Directors.
This project turns code-level customization into business-level intelligence. Instead of manually comparing rule implementations, the pipeline reconstructs lineage and quantifies how clients diverge from the standard.
Standard and customized rule versions were reverse-engineered in PySpark and Hive, fork chains were followed, and code-scope drift was converted into 38 behavior dimensions. A 44-column scoring output and Power BI lineage view turned those signals into a ranked report for Client Medical Directors.
A review process that could take three days became same-day. The analysis surfaced more than $10M in annual recoverable savings opportunity, while false positives were hardened rather than simply reported.
TIN EXPOSURE ANALYTICS ENGINE
A production Impala SQL engine measuring how much of a provider TIN’s claims volume is touched by editing rules , then turning that exposure into a Top-20% prioritization view.
tables
logical sections
SQL lines owned end-to-end
The engine turns a large recurring SQL asset into a decision surface: where claims volume is exposed, how that exposure compares, and which slice deserves attention first.
A large production SQL asset made useful to decision-makers. The value is in translating thousands of lines of recurring analytics into a prioritization model people can act on.
The Impala engine spans about 4,400 lines, 28 tables and 12 logical sections. It measures provider TIN claims volume touched by editing rules using two comparison views: production financials against Rule Value Addition projections, and one client against peers on the same rule. Results can be sliced by Line of Business, State, Product and Claim Type.
A Top-20% view ranks exposure by annualized savings so teams can focus attention where it is most consequential, rather than treating every provider or rule as equally important.
LEGACY SQL & PIG → PYSPARK
25+ Hive/Impala SQL and Pig scripts migrated to PySpark, Oozie workflows re-platformed, Oracle EDW → HDFS ETL automated, and a React-based Spark performance analyzer built to make tuning visible.
Hands-on modernization across code, compute, orchestration and developer tooling. This was not a one-file conversion exercise; it covered the surrounding data platform needed to run the workloads reliably.
More than 25 legacy Hive/Impala SQL and Pig scripts were migrated to PySpark using Spark SQL and Parquet. Oozie workflows were re-platformed, Oracle EDW to HDFS extraction was automated through Sqoop, and a custom React Spark performance analyzer made runtime behavior easier to inspect and tune.
The modernization delivered runtime improvements of up to 90% after migration and tuning, while eliminating about eight hours of weekly manual data-pull work. It also replaced a legacy operating model with something the team could inspect, tune and extend.
Modernization here was not a rewrite for its own sake. It was a way to make the data estate faster to run, easier to inspect, and less expensive to operate.
Technical notes, experiments, internet archaeology and the occasional extremely unnecessary deep dive.
The path from “I should probably learn this” to something that actually shipped.
Why live data keeps winning arguments that code review thought it had already won.
Migration, profiling, measuring, then resisting the urge to rewrite everything.
A little digital archaeology project for anyone nostalgic about internet-era radio.
Some things are just interesting. That is a pretty good reason to learn them, build them, photograph them, or spend an embarrassing number of tabs researching them.
The things that never quite earn a category, but somehow keep becoming a category.
Old websites, old radio archives, forgotten interfaces and strange little corners of the web.
Spacing, motion, microinteractions, type, and the suspicious belief that one more polish pass will fix everything.
Small scripts, visualizations, prototypes and “wait, can I make this?” projects.
Films, tools, books, sites, songs, places and anything that deserves an aggressively enthusiastic link.
For work, collaboration, interesting ideas, a good song, a strange internet find, or just a “hey, this is cool” message.