Banking graph and NXCore
- for
- Veritran
- when
- 2026
- Problem
- Veritran wanted business value from stored transaction data, as a product bank clients could evaluate.
- My contribution
- Owned the graph feature pipeline, validation and product UI/API, plus the NXCore API end to end.
- Delivered
- Delivered in one month for technical evaluation and demos. Demo stage, no production customer.
- Result
- A bank-data graph product and API, delivered in one month and shown in evaluation demos to bank directors. Demo stage, not banking production.
- Status
- demo stage · 2026
1 monthto a demo-stage graph product, no production deployment
what I foundDocumented assumptions and unknown fields and validated them with a bank contact.
what I foundRows that looked complete could still be failed operations; I corrected the filtering before the first external demo.
what I foundRaised PII concerns and directed fixes to pseudonymization gaps, including in JSON fields.
aggregated relationship failed operation, looked complete
6 nodes · 7 aggregated relationships · 3 failed operations excluded (schematic)
pipeline
From stored transactions to a graph
- 1Stored transactionsthe stored transaction data
- 2Validationfailed operations excluded before anything is aggregated
- 3Pseudonymizationa data engineer's layer; stable hashes preserve joins
- 4Featuresbehavioral and contact features per node
- 5Graphdirected, aggregated relationships; Python/Snowpark and SQL procedures, daily incremental orchestration inside Snowflake
- 6NXCore APIserves the graph to the product
- 7Demosevaluation and demos, no production
discovery
What I checked before the first demo
- Assumptions written downI documented assumptions and unknown fields and validated them with a bank contact
- Failed operationsfully populated rows could still be failed operations, marked success by a specific response code; I corrected the filtering before the first external demo
- PIII raised PII concerns and directed fixes to pseudonymization gaps, including in JSON fields
NXCore
The API that serves it
- Go over stored proceduresan HTTP API over typed Snowflake stored procedures
- Bounded and typedbounded queries and typed errors
- ObservableOpenTelemetry trace correlation and connection pooling
- PermissionsWorkspace permissions integration; a Fastify backend-for-frontend consumes it
ownership
Who did what, and when
- requesta bank-data product to evaluate
- one monthbuilt for evaluation
- first external demoafter the filtering fix
- demosleadership, business developers, directors
- MeFeature pipeline, validation, product UI/API and the NXCore API; chose the features and architecture
- BusinessChose churn and acquisition as the use cases
- A data engineerImplemented the pseudonymization layer
- Other engineersUpstream ingestion and downstream labeling and models
- Validated predictionNot claimed: demo scoring was heuristic and labels were synthetic
What shipped
A bank-data graph, built in one month for evaluation and demos.
demo stage, no production deployment- Supported demos to Veritran leadership, bank business developers and bank directors.
Method and caveats
Demo stage, no production deployment. Demo scoring was heuristic and the labels were synthetic; this is not validated prediction. Business chose churn and acquisition as the use cases.
- Stage: demo and evaluation; no production deployment or customer
- Scoring: heuristic, with synthetic labels; not validated prediction
- The graph above is a schematic with invented names and edges; real volumes are not published