Open to cross-functional product leadership roles

Monetization and post-sales intelligence, owned by one person.

Customer Data & Intelligence Platforms
Enterprise Adoption · Agentic AI · Licensing, Entitlement & Monetization

Two things rarely sit with the same product leader: the monetization models that decide what a customer's software is worth, and the post-sales intelligence that shows what they actually did with it. I own both. What the customer bought, what they activated, what they actually consume, and what support and customer success do about the gap.

30 2,000Users across eight functions,
adopted with no mandate
60% 84%License activation lift over
three years, core infrastructure
3,000Accounts served by a virtual
customer success agent
32,000Accounts under one
resolved customer identity
200+Products adopting the licensing
platform I co-founded at HPE

About me

I build the systems that tell a company what its customers bought, what they activated, what they actually use, and what to do about the gap.

What I am looking for

Cross-functional product leadership where customer data, adoption, support and monetization meet: the systems a go-to-market organization runs on, and the AI now being built on top of them.

Now

Nutanix · Director, Product Management · December 2019 to present

I founded and scaled CS360, the customer intelligence platform that Customer Success, Support, Renewals, Services, Sales, Marketing, corporate strategy, Finance, and channel partners run on across a 32,000-account estate. It grew from 30 users to 2,000 entirely by demand: no mandate ever required anyone to use it. In parallel I own licensing and entitlement end to end, from the licensing runtime and license definitions through to the customer-facing portal, and I led the company's monetization transformation across appliance, software-only, subscription, PAYG, BYOL, and True Forward models.

  • Lead a team of Principal and Senior Product Managers, partnered with a 45-person engineering and data science organization.
  • Present and align at Chief Customer Officer, Chief Revenue Officer, and Chief Product Officer level, and with corporate strategy.
  • Previously owned both product and engineering for the platform: a team of 15 plus an outsourced delivery partner scaled from 3 to 8. As the platform grew, engineering consolidated into the central engineering organization.
Before

Fifteen years at HP and HPE Software

First as a chief architect and master technologist, where I co-founded AutoPass, the enterprise licensing platform that grew from a small C library to more than 200 adopting products and still ships today as OpenText AutoPass License Server. Then as a principal product manager for four externally sold products in hybrid cloud management, robotic process automation, and DevOps release orchestration, taking one to a top-5 critical capabilities score in the 2018 Gartner Magic Quadrant in its first year of nomination.

Next

What I am doing now

Agentic AI in production: a virtual customer success agent live to roughly 3,000 accounts, conversational analytics over the data lake, and a generative document system where every deliverable becomes context for the next one. Outside work, an independent technical project: an account knowledge graph for customer-facing teams, more than 30,000 lines built solo, AI-native end to end.

I am looking for cross-functional product leadership where customer data, adoption, support and monetization meet.

The thesis underneath all of it

The hard part of enabling AI is not the AI. It is getting the data ready for it. Enabling agentic workloads meant adding an MCP layer over interfaces that were already there. I built those APIs from 2020 to 2024; the agents arrived in 2025.

Delivered live against a common belief that AI is very complex to implement. My experience was different, and the timeline is why.

Customer Intelligence

One governed view of the customer, built for eight functions with competing definitions of the truth, and adopted because people wanted it rather than because anyone told them to.

Founded and scaled

CS360: the customer intelligence platform

When I was hired there were more than a hundred dashboards built independently by Support, Customer Success, Partners, and Product, producing conflicting values for the same metric with no agreement on which was correct. Product teams counted the node licenses a customer had purchased as the node count; Support counted the physical nodes actually deployed. Both were defensible, and neither team knew the other was answering a different question.

The root cause was not tooling. Functions were building in silos on data they had picked up wherever it happened to sit. The fix was not fewer dashboards. Business users now build their own, more than 1,200 of them, from 80 governed templates: the proliferation was never the problem, the disagreement was.

30 → 2,000 Usersnow serving agents
32,000 Accountsall active customers
10 Sourcesinternal and external
90+ NPSno mandate to use
80 Templates1,200+ custom dashboards
  • A curated, self-service platform on a data lake where business users construct their own analytics on governed data without writing SQL, with a search-based analytics layer on top.
  • The lake is organized as a medallion architecture: raw ingestion, then conformed and quality-checked data, then the governed layer business users actually build on. Self-service only works if the layer people touch is the one that already has the definitions applied to it.
  • Adoption earned by demand across teams entirely outside my authority. The mechanism: a CSM shares an insight in an account team meeting, someone asks where it came from, and that person becomes the next user.
  • Ingests CRM, product usage telemetry, entitlement systems, support data, and third-party enrichment. Activates governed data back out to the customer success platform, partner portal, support portal, and corporate BI through a documented API layer.
  • Established as the enterprise customer data hub and the single source of truth CSMs work from.
  • Underway now: migrating the lake to Apache Iceberg as consumption outgrew the original analytics workload. Sequenced deliberately, with the data behind the highest-volume workloads moved first, where the constraint was actually being felt, rather than holding the benefit back for a single full cutover.
Machine learning in the workflow

Customer health and renewal risk

Operational health per cluster as a customer-facing deliverable, then two models: account-level renewal risk, and per-opportunity renewal risk. Two granularities on purpose, because opportunities inside one account differ by business unit, budget, product, and partner. An account can look healthy while one renewal is at risk, and a CSM has to act on the opportunity, not the average.

  • Fuses structured telemetry with unstructured human judgment: account executive, solution engineer, and CSM free-text notes modeled alongside usage and support signals.
  • Champion count and seniority as a modeled feature. Certified-professional presence as a leading indicator of whether a customer can absorb what they are renewing.
  • Channel partner health trend folded into customer risk.
  • Churn-risk and cross-sell propensity at 73% accuracy, embedded in live renewal workflows rather than in reporting, so risk surfaces as an action.
Master data

Identity resolution, at three levels

Weighted field-level survivorship for account merges, deterministic and probabilistic contact matching, third-party enrichment, and continuous runtime resolution between batch merge cycles, so every consumer works from one resolved entity the source systems could not produce on their own. The approach became the reference pattern for the enterprise customer, contact, and product master.

  • Roughly 1,500 duplicate account clusters were diagnosed not as a hygiene failure but as an unmet product requirement: business units needed entitlement isolation and were creating duplicate accounts to get it.
  • Shipped support-portal multi-tenancy, which removed the reason the duplicates were being created.
  • Resolution does not stop at the account. Entitlement records what a customer bought. Telemetry reports from the clusters actually running. The two are joined on cluster identity, which is what makes activation and consumption computable per customer rather than per contract.
  • Three resolutions have to hold at once for a single activation number to mean anything: the account (who this customer is, across every source system), the cluster (which deployment a license is running on), and the product configuration model (which meter and license metric a telemetry signal maps to). Any one of them wrong and the number is wrong in a way nobody can see.
Defining success

The four adoption metrics the company runs on

I defined them and advised the Chief Customer Officer, Customer Success leadership, and corporate strategy on what to adopt. They knew adoption had to be measured; what they could not do was work out which measures represent real progress, because that answer sits with each product's manager and nobody at that level has the capacity to go product by product and ask. I already had that view, so I brought the recommendation rather than the question. Then I built what makes the metrics operational: the pipelines, the dashboards, the trend views, and the integration where CSMs track quarterly and annual targets against each metric. They are now used in sales and customer success compensation plans and in corporate OKRs.

  • License activation. What percentage of the license capacity a customer purchased has actually been applied to a cluster.
  • Hypervisor adoption. What percentage of a customer's clusters, nodes, and virtual machines run on AHV, the Nutanix hypervisor, rather than a competing one.
  • Product usage, by depth and breadth. Accounts are rated power, standard, enabled, no usage, or usage unknown, based on how many features are in use and how deep and sticky those features are. Features are weighted, because they are not equally meaningful.
  • Product usage, by scale. For infrastructure products, what percentage of the licensed CPU cores are sending telemetry for selected features, measured against the cores the customer actually bought.

Built as real definitions rather than dashboard logic: multi-level rollups from feature to capability to tier to product, weighted across entitlement tiers, with documented rules others could operate.

Governance

Three stakeholders, and a different job with each

  • Product managers. I defend the definition to them, during data modeling and design review. They know their own product's telemetry better than anyone and will find the case where the rule does not fit.
  • Customer experience managers. I defend it to them after rollout, where the test is not whether the metric is theoretically correct but whether it is usable in front of a customer.
  • Corporate strategy. Here I advise rather than defend. And when corporate challenges a definition, I bring in the product manager who already approved it to make the case, instead of making it myself.

That last move is what makes a definition durable. A metric defended by the person who owns the product survives. A metric defended only by the person who built the pipeline is one reorganization away from being redefined.

Reading the trend

A number is not a signal until you know why it moved

  • Every metric is tracked year over year and quarter over quarter. When an account moves, the report says whether it moved because usage changed or because the customer bought more. A ratio can improve for reasons nobody should be congratulated for, and it can fall for reasons worth celebrating.
  • Reported by license age: under six months, six to twelve, twelve to eighteen, and beyond. A license bought last month and one bought two years ago are not the same adoption question, and averaging them hides both.
  • Reported by renewal year cohort, grouping licenses by the year they expire. This shows how one expiry cohort is performing against earlier and later ones, and it tells customer success where to spend attention first: the licenses coming up for renewal soonest, where there is still time to change the outcome.
  • Campaigns and customer engagements report against before-and-after product usage and license activation, closing the loop between intervention and result.
Relationship memory

Closing the loop: the platform's own output becomes its input

For its first five years CS360 ingested structured data only: CRM, product telemetry, entitlement systems, support data, third-party enrichment. It produced a great deal of unstructured material in return, since customer dossiers, health reports, success plans, renewal progress checks, and custom statements of work are all human-readable documents. Those documents left the platform and never came back. The intelligence that went into writing them was lost the moment they were delivered.

Document Center, introduced in 2026, closed that loop. Every deliverable is now authored in the platform, versioned, retained, and re-ingested as part of the corpus.

  • Structured data records what happened. The documents carry why: the customer's own business plans, the commitments made to them, and the judgment of the person who wrote it down.
  • A success plan revised year over year as the customer's business changes becomes a longitudinal record of the relationship that no telemetry can reconstruct.
  • The practical effect on intelligence: questions can now be answered with real historical context rather than against a snapshot of the current state.
StructuredCRM, telemetry, entitlement, support
+ Unstructuredthe platform's own deliverables, versioned and re-ingested
170person paid services org authoring into it
On how you actually ensure data quality

Compensation linkage is the proof of data quality. A number that determines someone’s payout gets audited by every person it pays. Nobody litigates a dashboard; everybody litigates their comp statement.

And the companion: a compensation-linked metric survives only if it is defended against opposing pressure. One side wanting it easier, one side wanting it harder. A definition with only one critic drifts.

Monetization

Licensing, entitlement, and pricing models end to end, across two companies and two decades: what the customer bought, how it is metered, how it is billed, and how much of it they ever turn on.

Two vocabularies that do not join →
Owned end to end

Licensing and entitlement at Nutanix

I own the license definitions and metrics for all products, the customer-facing licensing portal, the license enforcement runtime, and the licensing support knowledge base and enablement. The scope is 35 products across 8 product families, and two portfolio versions running in parallel: the legacy portfolio and the current one.

60% → 84%license activation, three years, core infrastructure
5–6 → 2–3annual renewal events per customer
1,200+unlicensed clusters surfaced
  • Led the monetization transformation across appliance, software-only, subscription, PAYG, BYOL, and True Forward models: a multi-year program spanning product, finance, sales operations, and channel.
  • Raised activation by making unlicensed clusters visible and turning activation trends into something CSMs and account teams could act on.
  • Shipped seamless licensing, replacing a four-step manual file exchange between the customer's management console and the portal with automated API provisioning.
  • Shipped self-service portfolio conversion in the licensing portal, so customers move themselves from the legacy portfolio to the current one. Running two portfolio versions in parallel is the reality of any long-lived catalog; the question is whether migrating off the old one requires a support case, and here it does not.
  • Hold the licensing seat within New Product Introduction for every product launch and every pricing model launch: the seat where license model and license type are determined and approved across stakeholders.
Built twice, at HPE and at Nutanix

The product configuration model

The canonical mapping of families, bundles, products, SKUs, license types, and meters, in a four-level hierarchy of product, tier, capability, feature, with marketing and CPQ decoupled from it, version ranges, and underlicensed-mode grace periods. It is what makes activation, consumption, and adoption measurable at all, and it gates how fast a new product can be quoted, provisioned, metered, and supported. The four-level rollup behind the adoption metrics is only possible because I owned it.

Four things it has to get right, and where most implementations fall down:

  • Aggregation is a commercial decision, not a technical one. Every usage metric carries its own aggregation function (sum, maximum, average, 95th percentile, count) and every license metric carries its measurement basis (peak, monthly average, cumulative, high watermark). The same telemetry stream rated on peak rather than average is a different invoice, so these belong in a reviewed model, not buried in a rating job where nobody can see them.
  • Enforcement has gradations. A feature can be licensed, compliance-checked, or hard-blocked at runtime, with a grace period in days and a fallback minimum tier when a customer is underlicensed. Blocking every unlicensed call is the naive design, and it converts a commercial conversation into an outage.
  • Telemetry arrives at two levels, feature and platform, and platform metrics carry the scope they were measured at: account, cluster, node, or virtual machine. Both paths join to the same license metric, which is what makes usage ratable against entitlement rather than merely reportable.
  • It tracks usage that is not billable. Whether a feature emits telemetry is a separate property from whether it is licensed, so usage is collected for capabilities nobody is charged for. That is what makes adoption measurable rather than only consumption, and it is why the same model serves the rating engine and the four adoption metrics.
Built twice, at HPE and at Nutanix

The product configuration management system

The application I built on top of the model. Product managers define their product's configuration there and put it through review by the other stakeholders in the product lifecycle process, with named owners and governance roles recorded against each product, so a configuration becomes an approved artifact rather than a spreadsheet someone maintains.

  • It manages the full lifecycle of a configuration: adding, updating, and removing features, and recording the version from which a feature belongs to a tier and the version at which it was retired from that tier or from the product entirely.
  • That version awareness is what keeps entitlement correct over time. Two customers on the same tier and different releases do not have the same feature set, and a system that cannot express this will quietly measure the wrong thing.
  • Every entity is audited and nothing is hard-deleted. Each record carries who changed it and when, and retirement is a soft delete rather than a removal. When entitlement data settles a billing dispute or feeds a compensation plan, the question is never only what the configuration says now, it is what it said last quarter and who changed it.
  • Populated as part of New Product Introduction, where I hold the licensing seat for every product launch and every pricing model launch.
Design decision

Licensing Reimagined

The portal had always applied earliest-expiring licenses first, which is correct if you are managing license inventory. But customers buy hardware and software together, and when they add capacity it arrives with matching software capacity. Their mental model is that the licenses bought with a machine live with that machine. At renewal, once previously purchased licenses were co-termed, customers could not tell which hardware was running which license.

  • The portal now prioritizes the licenses purchased alongside the hardware they run on.
  • Collapsed 5 to 6 annual renewal events per customer to 2 or 3 across the customer base, along with the approval cycles each carried.
Partner economics

Partner data entitlement

Attributed license capacity to the selling reseller through order lineage: licenses map to sales orders, orders carry the reseller ID, and quotes, orders, and licenses all live in the data lake. The hard part is that multiple partners' licenses frequently sit on the same customer hardware. A 1,000-core cluster might carry 500 cores from one reseller, 300 from another, 200 from a third.

  • Each reseller sees only their own licensed capacity, but sees the full cluster's utilization, so they understand their influence on performance without seeing another partner's entitlement.
  • Replaced a manual internal reporting process that carried real risk of unintentionally leaking another partner's data.
HP / HPE Software

AutoPass and the metering pipeline behind PAYG

Co-founded and scaled HPE's enterprise entitlement, licensing, and usage-metering platform from around 2007.

  • From a small C library to 200+ adopting products across every HP business unit, at roughly one-third the cost of commercial alternatives, driven across independent engineering organizations with no authority over any of them. Team grew 4X over six years.
  • Still in use by HPE products today, and ships externally as OpenText AutoPass License Server.
  • Introduced token-based licensing: a portfolio-wide entitlement currency customers buy once and spend to activate any product, requiring a consumption ledger with per-product conversion, live balances, and reconciliation.
  • Built the usage metering pipeline behind pay-as-you-go: on-premises license servers reporting to a hosted hub that cleansed data, enforced idempotency against duplicate and replayed events, interpolated across reporting gaps, aggregated, and fed billing. The same data served a usage analytics portal.
On why the unglamorous layer is the load-bearing one

Entitlement tells you what a customer bought. Telemetry tells you what they use. Those are two different vocabularies and they do not join. The product configuration model is what makes them the same language, and until it exists you cannot compute activation, consumption, or adoption at all. That is why I built it twice.

And on customer empathy in pricing systems: the allocation rule that is correct for the vendor’s inventory can be the wrong rule for the customer’s mental model.

AI-Driven Outcomes

Agentic systems running in production against real customers and real revenue, built on top of the platform and the entitlement model rather than beside them.

This tab is the generative and agentic work. The predictive models sit under Customer Intelligence: renewal risk at two granularities, and churn and cross-sell propensity at 73% accuracy, embedded in live workflows rather than in reporting. Different problems, different tools. A probability when the answer is a number, a generated artifact or an executed action when it is not.

In production, July 2026

Virtual CSM

An agentic solution that executes customer lifecycle and adoption workflows with no human in the loop. Phase 1 launched to roughly 3,000 accounts, driven by a success plan co-authored by an AI agent, the customer success manager, and the customer.

  • Grew out of the digital engagement motion I designed and shipped for every account below the threshold for a dedicated CSM, which supplemented lifecycle-triggered workflows with signal-triggered workflows drawing on governed platform data.
Guided adoption

Entitlement-aware guidance in product

Extended the in-product AI agent platform from the management console onto the licensing and support portals, connecting entitlement and usage data to contextual guidance so the agent surfaces unactivated licenses and under-used entitled features at the point of work. Activation strategy becomes an in-product motion rather than only an outbound campaign.

Routing by question shape

CS360.ai: conversational analytics

Conversational access to the data lake on an open-weight 120B model, routing Model Context Protocol for single-account questions where the entity is already known, and a Text-to-SQL agent on a 27B model for questions that must find accounts or span many of them. Graph RAG alongside both.

  • Increased insight depth 60%, measured by previously unused table joins.
  • The design point: users could previously only ask questions the interface had been built to answer, so every new product capability waited in a queue for UI work before it could be measured. Conversational access removed that bottleneck structurally.
  • MCP is bounded retrieval on a known entity. Finding and aggregating across a set needs a query language. Most teams learn this after shipping an MCP server and watching it fail on "show me every account where X."
The closed loop

Document Center

Every customer-facing deliverable is authored with AI, version-controlled, and retained: dossiers, success plans, renewal progress checks, health reports, and custom statements of work, including the deliverables of the 170-person paid services organization. Human and AI collaborative authoring, deliberately not unattended generation.

  • The part that matters: the repository is re-ingested. A CSM updates a success plan year over year as the customer's own business plans change, and that accumulated unstructured history lets the AI answer with real historical context rather than a snapshot.
  • Deliverables become the memory of the relationship instead of files in a folder.
Multi-source reasoning

Success plan generation

Runs a supervisory agent that decides when to pull installed-base data through MCP and when to call a search-grounded frontier model for external data, and then resolves conflicts between the two sources. Conflict resolution is the part most teams handle late and badly.

Released July 2026

Service recommendation agent

When an account executive creates an opportunity, they attach the services relevant to what is being purchased. What existed before was a thin one-to-many product-to-service mapping; what actually happened in practice was that AEs consulted service sales managers and solution architects. This automates that consultation.

  • The retrieval corpus is the services catalog, the opportunity record, operational constraints, and past intake forms containing the questions the experts habitually ask. The questions the experts habitually ask are the decision logic.
  • Budget is the clearest decision parameter: if the customer can fund professional services, recommend those; if they cannot, recommend a workshop service that teaches their own IT team to set the product up.
  • The services eventually selected are ingested back in, closing the loop.
Released July 2026

Statement of work generation

Triggered when the catalog does not contain what the customer needs, or the default offering is impractical: the standard offering covers five clusters to production in a month, and the customer wants a hundred in three.

  • Generative for language, deterministic for numbers. The model writes the statement of work; a region-specific calculator supplied by the services team computes human resource and travel needs. Never let a language model produce a figure that becomes a commercial commitment.
  • Generated documents land in Document Center, versioned, so each custom scope becomes context the system can draw on later.
On automation judgment

I shipped a fully autonomous lifecycle agent, and deliberately kept a human in the loop for paid services deliverables. The failure cost is different when a customer is paying for the artifact.

Every generated artifact becomes context for the next one. The system is a closed loop rather than a set of generators: what it produced last quarter is what it reasons from this quarter.

Independent technical project

My own research project: an account knowledge graph for customer-facing teams, built solo since July 2026, self-funded and run on my own hardware. The same problem I have spent six years on at enterprise scale, rebuilt from a blank page with current tooling, where every architectural decision is mine and every one of them is visible.

Why this is on the site: it is the one place where you can see how I decide, not just what I shipped. The interesting content below is the judgment calls and what they cost, including the ones that went wrong.
The problem

What it does

A customer success manager inherits accounts they have never touched. What they need to know is public, but it is scattered across encyclopedia entries, regulatory filings, and a hundred press releases, so ramp is measured in months. A frontier model grounded by a search engine does not solve this. It answers about the world as it is now, and when a page is rewritten the previous fact is gone, so "what changed since last year" has no source at all. I use exactly that combination inside this system as a last-resort fetch, so the boundary is one I have tested: it is good at finding a page, and it has no memory of what that page used to say. And nothing public knows what the customer bought from you.

The system reads each account's public pages, extracts the facts a CSM needs, and stores them as connected, dated facts, then answers questions against that graph rather than against retrieved text. Re-reading is automatic, so the picture stays current without anyone maintaining it, and every sentence in an answer links back to the page it came from.

~31,000lines, written solo
Per companysources configured deliberately, never an open crawl
16fact categories extracted
17question intents routed
Jul 2026first commit, evenings and weekends
  • Ingests Wikipedia prose, SEC EDGAR structured financials, company press releases, leadership pages, and any other listing or page an administrator supplies per company. Press releases and similar listings are discovered through a headless browser, because the JavaScript-rendered index pages do not yield links to a plain fetch.
  • Acquisition escalates only when it has to. A plain fetch with mechanical parsing handles most pages. When a page yields nothing usable, it escalates to a rendering and extraction service (Firecrawl), and only when that also fails does it fall back to a search-grounded frontier model (Gemini with Google Search grounding). Each tier costs more than the one below it, so the cheapest method that works is the one that runs, and the expensive path is reserved for the pages that genuinely need it.
  • Multi-tenant by design: one system, many vendors, each seeing only their own data, across four roles whose permissions the server checks on every request rather than hiding buttons in the interface. The graph holds both the customer accounts and the vendor product catalogs those accounts buy from, which is the join that makes an entitlement question answerable at all.
  • Not every source is allowed to define reality. Only a vendor's own pricing and datasheet pages can establish which products exist. A customer story may say an account uses the platform, but it can never invent a product. That rule exists because marketing language in case studies ("the stack", "our automations") was being read as a product catalog and creating one phantom product per phrase.
  • A conversational web interface with named, persisted chat sessions per account, so a CSM's line of enquiry survives a page reload.
Architecture decision

Typed ontology over emergent schema

I evaluated and rejected emergent-schema GraphRAG in favour of a typed Neo4j ontology with schema-guided extraction. The reasoning is a quality-control argument rather than a modelling preference.

  • With an emergent schema, a wrong extraction just becomes another node and looks entirely reasonable. Nothing in the system can tell you it is wrong.
  • With a fixed schema, a wrong extraction fails against the type and you can see it. The schema is the first line of defence, not a constraint on expressiveness.
  • Extracted values are validated before they are written: dates must match a known format or are dropped rather than stored malformed, and unrecognized categories are stored as OTHER alongside the original raw value rather than silently discarded.
  • Free-text fields use a denylist rather than an allowlist, which preserves specific real signal instead of flattening it into a generic bucket.
Data design

Provenance, conflict, and time

  • Provenance on every fact. Each node and relationship links back to the document and text chunk it came from, with the extracting model and timestamp recorded, so every answer is citable and every extraction is auditable.
  • Conflict tracking over silent resolution. When two sources disagree, both claims are kept with their own provenance and raised for review. Silently picking a winner destroys the only evidence that there was a question.
  • Temporal versioning, not overwrites. Facts are merged on a composite key that includes the as-of date, so re-ingestion accumulates a genuine time series rather than overwriting the latest value. Trend questions become answerable with no separate versioning layer.
  • Idempotent re-ingestion. Already-fetched URLs are skipped, so a re-run pays only for what is genuinely new.
Retrieval

Intent routing, and the context graph

A question is classified into one of 17 intents, the company name is resolved against the names actually in the graph rather than trusted as typed, and the intent dispatches to a scoped Cypher template. A second call turns the retrieved facts into prose with inline citations.

  • Inference runs on a context graph, not on the whole knowledge graph. The knowledge graph is the record: everything extracted, kept. The context graph is the slice a given question is permitted to reason over, and it is narrower on purpose. A catalog question traverses only the nodes a vendor's own product listings and datasheets put there. A product named in a press release stays in the graph with its provenance intact; it is simply not eligible to answer "what does this vendor sell".
  • So provenance is not only there to cite an answer. It decides which facts are allowed to form one. Source authority is enforced twice: at ingestion, deciding what may create a product, and again at retrieval, deciding what may describe one.
  • If no facts are found, the system short-circuits to a plain "nothing found" without calling the model at all. Handing an empty context to a language model and asking it to answer is how a retrieval system learns to invent things.
  • Every backend implements the same contract, question in and a standardized context, citations and trace bundle out, so retrieval strategies can be swapped and compared without touching the interface.
Division of labour

Use the model for language, use code for structure

A pricing table already contains its own answer in its shape: the column headings are the tiers, the row labels are the features, and a mark in a cell means that tier includes that feature. That grid is walked with plain code and every mark recorded. No model sees it.

  • The model was tried first. On a table of five tiers and forty rows it reliably got the first column right and drifted after that, filling the remaining tiers with generic description rather than what the page said.
  • Counting marks in a grid is not a reasoning task. Anything a page states structurally is taken structurally, and the model is asked only for the things that are genuinely language.
  • This is the same rule as generative for language, deterministic for numbers on the licensing side. Every time I have broken it, in either system, I have paid for it.
Evaluation

Two different questions, kept apart

Extraction quality gets measured, not asserted. The harness separates two things most projects conflate: is the graph structurally valid, and is the extraction correct. The first needs no labelled data and runs after every ingestion; the second needs an answer key and runs before and after every prompt or model change.

  • Structural checks are Cypher queries that must return zero rows, and every check exists because that bug actually happened, with the docstring recording which and when.
  • Three severities kept deliberately separate: error fails the run, warning flags a probable problem with legitimate exceptions, and smell is worth a glance but never fails. Mixing "look at this" in with "this is broken" is how teams learn to ignore their own checks.
  • Ground truth comes from the human-verified lock state: locking an item you have checked is the entire labelling workflow, and when extraction disagrees with the golden record, extraction is wrong until a human consciously decides the source page changed.
  • Precision and recall are always read together. Precision catches invention, recall catches drops, and a run that invents nothing while finding half the catalog scores perfectly on one and terribly on the other. Reporting either alone is how a system gets graded on the failure it does not have.
  • The honest caveat: the eval set scored perfectly the day it was written, because the graph had just been corrected by hand into exactly that state. That proves nothing yet. It starts earning its keep on the next ingestion, when the numbers move and something broken surfaces without anyone spotting it by eye.
How it is built

Stack and working method

Built solo and AI-native end to end, with Claude Code as the primary development agent. Open-weight models run locally on an RTX 5090 through vLLM, alongside frontier APIs, behind a provider-agnostic adapter so extraction, generation, embeddings, and evaluation judging can each move between local and cloud without touching call sites.

  • Neo4j for the typed graph, Postgres for evaluation golden records and run history, Docker for the model serving stack, FastAPI and vanilla JavaScript for the interface. Acquisition runs Playwright and trafilatura first, then Firecrawl, then Gemini with Google Search grounding as the last resort.
  • Config as data. Source toggles, model provider selection, backend selection, and schema definitions live in a versioned config store surfaced through an admin portal, so they change without a redeploy.
  • Shared ingestion, pluggable indexing. Fetching and chunking happen once and several indexers consume the same store, so a later comparison between retrieval architectures is not confounded by different chunking. The planned benchmark measures the typed graph against a vector-only baseline and an unconstrained GraphRAG baseline on the same source material, with a stratified golden question set and blind grading.
  • Started with off-the-shelf orchestration tooling and moved off it within a week once the abstraction cost exceeded what it saved.
  • Self-funded and self-directed, on my own hardware, in evenings and weekends. A product leader who has not built with these tools is guessing at what they cost, where they break, and how long they actually take. I would rather know, and the only reliable way to know is to ship something with them.
What went wrong

The failure that does not look like a failure

One vendor's site sits behind bot protection. It did not serve a "blocked" page, it refused the connection outright, so nothing in the run looked wrong. The model was handed a nearly empty page and politely invented a catalog from the URL alone: 177 products that do not exist. Counting a refused connection as a block and falling back to a different fetch service cut that to 42.

A bad fetch does not look like an error. It looks like a confident, complete, entirely fictional answer. That is the failure mode worth designing against, and it is why acquisition escalates through tiers rather than trusting one.

Separately, the local model has a real capacity limit on dense multi-product pages: it misclassifies entity types, drops optional fields, and occasionally invents a tier from a passing phrase. Temperature and prompt tuning went only so far.

  • Sixteen mechanical defects were fixed across seven rounds, and the pattern was clear: each fix bought one class of error, and a new one arrived behind it.
  • So I stopped chasing individual misclassifications and shipped correction tooling instead. A human can delete a bad item, or delete and block it so no extraction branch can silently recreate it, with the deletion cascading to whatever inherited from it.
  • The judgment: when the error source is a model capability limit rather than a bug, more prompt engineering is a treadmill. A human-in-the-loop correction path with a durable memory of what was rejected is the honest fix.
  • Open defects are tracked in the roadmap with the same candour, including the largest data-quality loss found so far and the specific design decision it needs. An issue you have written down precisely is halfway to a design decision; one you have rounded off is not.
The load-bearing idea

A fixed schema makes extraction errors visible rather than plausible.

This is the whole argument for the typed ontology, and it generalizes past this project: in any generative system, the question that matters is not how often it is wrong but whether being wrong is detectable. Everything else here, the provenance, the conflict records, the invariants, the golden set, the lock state, is a different answer to that same question.

More about me

The earlier career the four sections above are built on: externally sold products with analyst recognition, two decades of architecture, the leadership record, and the credentials.

2015 to 2019

Externally sold products and analyst recognition

Principal Product Manager at HPE Software and Micro Focus, owning strategy and roadmap for four externally sold products spanning IT process automation, robotic process automation, and DevOps release orchestration.

  • Led Hybrid Cloud Management to a top-5 critical capabilities score in the 2018 Gartner Magic Quadrant for Application Release Orchestration, in its first year of nomination.
  • Strong Performer in The Forrester Wave: Continuous Delivery and Release Automation, 2018.
  • Represented the products externally with analysts, partners, and customers, and partnered with go-to-market teams on launch and enablement.
2005 to 2015

Chief Architect, HP Software

  • HP OpenView Self-Healing Services, 2005. Product-embedded automated support. A client inside the customer's environment detected faults, collected diagnostic state at the moment of failure, transmitted it for central analysis against known solutions and patch status, and returned the resolution to the customer. Case deflection through automated diagnosis, two decades before the tooling caught up with the idea.
  • Service-oriented redesign of the support ecosystem: a four-layer architecture of capabilities, services, processes, and views that decoupled support business processes from underlying IT capability, including the first taxonomies defined for the support domain.
  • Supportability Platform: unified licensing, self-healing, and patch distribution on shared infrastructure, surfacing extended license revenue opportunities from support telemetry.
  • Identity access management: SAML, OAuth, OpenID Connect, WS-Security.
Leadership

Organization and scope

  • Reporting to the VP of Product Management, leading a team of Principal and Senior PMs, partnering with a 45-person engineering and data science organization.
  • Roughly a decade of people leadership across product and engineering.
  • Previously owned product and engineering together: a team of 15, plus a delivery partner scaled from 3 to 8.
  • Aligns at CCO, CRO, and CPO level.
Credentials

Standards, patents, education

  • Named contributor, DMTF DSP-IS0301, Software Identification and Entitlement Usage Metrics, listed alongside contributors from Microsoft, IBM, VMware, Citrix, Novell, Huawei, JP Morgan Chase, and Flexera. Read the specification.
  • Contributor, ISO/IEC 19770-3, the entitlement schema standard defining how software licensing terms, rights, limitations, and metrics are expressed in machine-readable form.
  • 2 patents.
  • M.Sc. Computer Science, Manonmaniam Sundaranar University.
  • B.Sc. Computer Science, Bharathiar University.
  • Pragmatic Marketing · Leading SAFe · TOGAF.
Background

Career arc

  • Nutanix, Director of Product Management, 2019 to present.
  • HPE Software / Micro Focus, Principal Product Manager, 2015 to 2019.
  • HP Software, Chief Architect and Master Technologist, 2005 to 2015.
  • Trigent Software, Software Architect, 1999 to 2005.
  • Moved to the United States in 2014 as a chief architect on an internal transfer. U.S. citizen.

Recommendations

A platform that nobody was ever ordered to use grows to two thousand people only if the person building it is listening.

The six below were received on LinkedIn in August 2026.
Who wrote them
Ajay Muppidi CS360 Engineering
Kanishk Kumar CS360 user,
customer facing
Mayank Gupta CS360 user,
marketing
Aneesh Kunjan Vendor lead,
part business owner
Prince Raj Direct report
Kevin Laine CS360 user,
customer facing

How I work, in their words

I grow people, not just products

I moved an engineer on my team into product management and gave him real ownership rather than supervised tasks. Mentorship is how a platform outlives the person who started it.

“He personally guided my transition from Engineer to Product Manager. He gave me the strategic clarity and autonomy needed to own the product, while always coaching me through high-stakes decisions.”Prince Raj, direct report

I translate between two rooms

Business strategy on one side, engineering execution on the other. My job is to make each side legible to the other without diluting either, and to protect the engineering team's bandwidth while doing it.

“A rare talent for bridging high-level business strategy with technical execution. His roadmaps were razor-sharp with zero moving goalposts.”Ajay Muppidi, CS360 Engineering

I ask before I decide

Every request has a reason behind it that the request itself does not state. I would rather understand the problem the person is carrying than deliver exactly what was asked for.

“He combines strong product vision with humility, empathy, and a genuine willingness to listen. He consistently welcomed feedback and understood the challenges behind each request.”Kanishk Kumar, CS360 user, customer facing

I earn adoption across the aisle

Most teams that depend on my platforms have never reported to me. At HPE I drove adoption across independent engineering organizations with no authority over any of them.

“A rare product leader, equally sharp in the data model and in stakeholder conversations about the decision at hand.”Mayank Gupta, CS360 user, marketing

I stay close to the build

I set direction and I stay in the detail. Sitting with the engineers through the hard parts is how the direction stays honest.

“Arul truly leads from the front, balancing sharp strategic direction with hands-on execution.”Aneesh Kunjan, vendor lead, part business owner

I make complexity land

The measure of a customer intelligence platform is whether the person in front of the customer can use what it produced without a translation layer.

“Making complex customer data easy to understand and present to all our customers. What you provided made every client conversation more impactful.”Kevin Laine, CS360 user, customer facing

The full recommendations

AM
Member of Technical Staff 3, Nutanix
CS360 Engineering

Arul is an exceptional product leader and a true driving force behind CS360. As Director of Product Management, he spearheaded strategy across both CS360 and the licensing domain, championing CS360 enterprise-wide to significantly expand its adoption and user base.

Among his many contributions, he excelled at driving complex cross-functional initiatives, such as aligning product managers across multiple teams to build embedded product adoption analytics directly into the platform.

From a developer's perspective, working under Arul was a masterclass in product leadership. He had a rare talent for bridging high-level business strategy with technical execution, seamlessly translating innovative requirements, from text-to-SQL integrations to conversational AI agents, into clear, actionable engineering goals. His roadmaps were razor-sharp with zero moving goalposts, he respected technical trade-offs, and he consistently protected our bandwidth while granting us the autonomy to build quality software. Beyond his product vision, his active mentorship, advocacy, and personal investment in my professional growth set the benchmark for leadership. Arul doesn't just scale products, he elevates and empowers the engineers building them.

Any organization looking for an exceptional product leader would be immensely fortunate to have him.

KK
Customer Experience Manager, Nutanix · solution architecture, customer success
CS360 User, Customer Facing

Arul is an exceptional product leader whose vision has made a lasting impact across Nutanix. He envisioned and led the development of CS360, transforming it into a highly valued platform used across Customer Success, Renewals, Services, and Sales. CS360 was the first system to combine data from licensing, CRM, Support, and other sources to provide deep, actionable customer insights. His thoughtful decision-making reshaped how teams use telemetry and reporting to understand adoption, identify risks, share meaningful insights with strategic customers, and act on that intelligence.

I used CS360 extensively as a TAM to share operational insights and as a Resident to deliver infrastructure-focused reports on enterprise system usage and efficiency, helping customers identify risks, optimize resources, and make informed decisions. More recently, as a CXM, I saw how Arul's leadership enhanced our ability and internal systems to build stronger success plans, identify adoption opportunities, and deliver greater customer value.

What distinguishes Arul is his ability to combine strong product vision with humility, empathy, and a genuine willingness to listen. He consistently welcomed feedback, understood the challenges behind each request, and translated complex business needs into practical, impactful solutions. Arul has earned the trust and respect of the broader Nutanix community, and any organization would be fortunate to have him as a leader.

MG
GTM Leader · ex-Nutanix, Intel, AMD · Berkeley, IITB
CS360 User, Marketing

I worked with Arul at Nutanix, where I led product marketing, and his team built the customer insight platform for SaaS Engineering.

Campaign attribution is often a black box for product marketing. But when my team needed visibility into campaign performance, Arul and his team built a product that helped connect campaigns to outcomes. We could see campaign attribution by marketing key, play, status, and product focus. We could track which campaigns moved license activation and product usage.

For subscription renewals and adoption, this was a huge upgrade.

He's a rare product leader, equally sharp in the data model and in stakeholder conversations about the decision at hand. Any organization building customer intelligence or adoption platforms would be lucky to have him.

AK
Tech Lead, Pumex InfoTech Pvt Ltd
Vendor Lead, Part Business Owner

Having worked closely in the team led by Arul, I can confidently say he is one of the most visionary and inspiring leaders I've had the privilege to work with. Arul truly leads from the front, balancing sharp strategic direction with hands-on execution. I had the opportunity to be part of the CS360 journey from its absolute inception to seeing it scale into a highly reputed, mission-critical platform. That remarkable transformation was a direct result of Arul's clear product vision and his ability to rally the entire team around a shared goal.

PR
Senior Product Manager, Nutanix
Direct report

Working under Arul has been a defining highlight of my career. He possesses a rare combination of sharp product vision and genuine empathy for his team. Beyond envisioning products from zero to one, Arul is an exceptional mentor: he personally guided my transition from Engineer to Product Manager. When we built CS360 from scratch, he gave me the strategic clarity and autonomy needed to own the product, while always coaching me through high-stakes decisions.

Under his leadership, CS360 scaled from a few initial users to over 2000+, becoming essential tooling for the business. Any organization looking for a visionary leader who builds both game-changing products and high-performing talent would be lucky to have him.

KL
Cloud Architect, Nutanix
CS360 User, Customer Facing

Thank you Arul for making complex customer data easy to understand and present to all our customers. What you were able to provide absolutely made every client conversation more impactful.