I work in dbt and Snowflake, turning fragmented, awkward source data into layered, tested models that people query without needing to know what the source system looks like. Most of what I am proud of is subtraction: platforms retired, dependencies removed, and logic taken out of places nobody could inspect it.
I came up through BI and reporting, then got more interested in the layer underneath the dashboards: how data gets modelled, tested and governed before anyone sees a chart. That is the work I do now, on dbt and Snowflake, in Data Vault and dimensional patterns with SCD-2 history so a metric can be answered as at a date rather than only as at today.
A lot of what I build sits on sensitive and regulated data, so access control, lineage and auditability are part of building the model rather than something added at the end. I would rather ship the boring, well-tested model than the clever one, and I would rather document a known limitation than quietly hide it.
Selected work
Real work, described without the confidential parts. Where a dataset is sensitive the detail stays general and only the transferable engineering is shown.
Network switching systems emit call records in fragments, so one real phone call arrives as several partial rows, out of order. Built the dbt models that classify call type and assemble those fragments into a single complete, auditable event, extended it across every carrier network, and moved the whole workload off a data lake that was being decommissioned onto Snowflake and Streamlit.
An end-to-end dbt pipeline of more than 35 models taking raw ServiceNow data through cleansing, staging, refined and published layers. SCD-2 state history, Data Vault links to the enterprise account hub, CDC event logs for incremental loads, contracts across layers and row-access policies.
Led the retirement of SAP BusinessObjects as the sole technical contributor, reverse-engineering the business logic inside more than 100 reports and rebuilding it as governed Snowflake models, alongside migrating workloads off the decommissioned Netezza platform.
Helped build the retrieval-augmented generation pipeline behind KiwiStart's AI chat: the knowledge base, embeddings and vector search that decide what the model retrieves before it answers.
Took over Tableau licence management for the wider business, reviewed what each team genuinely needed instead of handing out authoring licences by default, and reduced the estate from around 200 licences to 5 as reporting consolidated onto Power BI.
The stack
Tools I use in production, grouped by the job they do rather than by vendor.
Going deeper
The stack moves. These are the things I am deliberately putting time into rather than picking up by accident.
In progress. Formalising the semantic layer and MetricFlow side of dbt.
Scheduled next. Depth on performance, cost and platform governance.
Moving from Streamlit apps and retrieval pipelines toward production services and testing.
How semantic models and contracts become the interface an AI reads, using Cortex and retrieval patterns.
Get in touch
kishoremohini13@gmail.com
linkedin.com/in/kishoremohini-1109
Auckland, New Zealand