I'm Prakhar — I turn raw, messy data into clean marts, live API integrations, and dashboards teams actually trust. Eight years across the full data stack.
What I do
From the OAuth handshake on an API to the number a stakeholder finally reads on a dashboard.
Reliable pipelines from ingestion through staging, intermediate, and mart layers — documented and tested.
Custom integration microservices with OAuth 2.0, encrypted tokens, caching, and CSRF protection.
Large-scale CRM transformations — extraction, field mapping, and migration across legacy systems.
Turning warehouse data into dashboards stakeholders read daily — with methodology they trust.
GA4 pipelines, consent tracking, ROAS and conversion reporting across many locations, like-for-like.
Schema design, query optimization, and Cloud SQL / Cloud Run to keep data fast and structured.
About
I studied Industrial & Production Engineering at SGSITS, Indore — a discipline built around systems, flow, and eliminating bottlenecks. That way of thinking is exactly what I carry into data engineering: treat a pipeline like a production line, and design it so nothing jams downstream.
Over eight years I've grown from BI reporting into a Senior Analytical Engineer role, designing scalable cloud data warehouses on Snowflake, building trusted transformation layers in dbt, and shipping backend integration services on Google Cloud. I've built fact-and-dimension models for enterprise reporting, migrated millions of records into Salesforce, and delivered dashboards that leadership checks every morning.
I explain complex things in plain language, verify against real data before I ship, and I'm the person who reads the schema twice so the pipeline doesn't break at 2am. On the side, I build and run dataanalystinterview.com, a prep platform for aspiring analysts across India.
Selected work
A closer look at the systems I've designed and shipped — architecture, trade-offs, and outcomes.
The product needed live Profit & Loss, Balance Sheet, and Cash Flow data pulled from members' QuickBooks Online accounts and surfaced inside a financial dashboard. I evaluated two approaches, then designed, built, and shipped the one that gave us full control.
The service handles the full OAuth 2.0 lifecycle with Intuit, then stores each member's access & refresh tokens Fernet-encrypted in a Postgres (Cloud SQL) database — keyed by a stable member identifier rather than a raw company ID. Report endpoints (/reports/pnl, /reports/balance-sheet, /reports/cash-flow) fetch from the QBO API with a 24-hour cache to stay well within rate limits, and are protected against cross-site abuse via a nonce/source cookie scheme. Cleaned output lands in Postgres analytics marts, modeled in dbt for the dashboard to read.
Work flowed through a dedicated staging branch with pull-request review before promotion. The service builds and deploys as a Google Cloud service (Cloud Run), so releases are containerized, repeatable, and rollback-friendly — no manual server babysitting. Secrets and DB credentials are injected at runtime, never committed.
A member-based organization was moving off Nimble AMS (plus a legacy Salesforce instance) onto a brand-new Salesforce org spanning Sales Cloud, Revenue Cloud, and Service Cloud. My role: design and run the data migration — extraction, transformation, field mapping, and load — at a scale that broke past the original estimates.
Pulled member, account, order, and transaction data from Nimble AMS and the legacy Salesforce instance using SSIS + KingswaySoft connectors, staging everything in a controlled intermediate layer for profiling.
Applied field mapping, de-duplication, and reference-data alignment. The core challenge was the Global Person identity model — resolving one real person across multiple source records into a single, trusted contact.
Loaded into the new org following an Account = Organization, Contact = Person model (deliberately avoiding Person Accounts), with validation passes and reconciliation counts after each batch.
Profiling revealed the true migration volume was around 5 million records — far beyond the original 1M assumption — which reshaped the whole batching and performance strategy. The Global Person ID model was the highest-priority blocker: get identity resolution wrong and every downstream relationship breaks. I mapped the join logic carefully, verified against real data rather than assumptions, and flagged the count breach early so scope and timeline could be re-planned.
Built on SSIS and KingswaySoft for the heavy ETL lifting, with Salesforce Data Loader for targeted loads — a stack I've used across multiple PostgreSQL→Salesforce and legacy→Salesforce migrations.
Supported a migration from Salesforce CPQ to Revenue Cloud Advanced (RCA), focused on the data side: extracting CPQ objects, transforming them, and mapping fields into the new revenue model. Coordinated across a stack that included SSIS, KingswaySoft, Workato, Sage Intacct, and Snowflake, keeping quote-to-revenue continuity intact through the cutover.
A product team needed a new tracking attribute to flow all the way from raw source data into the reporting layer, without breaking any downstream model. I designed the change through dbt's layered architecture rather than patching the mart directly — so the field stays traceable and testable at every step.
The new field was added at the staging layer first, verified against real production rows (not assumed sample values), then threaded through the intermediate layer where the core business joins live, and finally exposed in the mart that the dashboard reads. Each layer got its own YAML documentation and dbt tests, and the change went through a senior-reviewed pull request before merging to the shared branch.
Key lesson carried forward: never guess example values in YAML descriptions or tests — always pull a real row from the warehouse to confirm the field behaves as expected before documenting it.
Leadership needed to compare marketing performance across 100+ locations fairly — but each location had different session volumes, call-tracking setups, and campaign spends. The challenge wasn't just pulling data; it was building one consistent methodology so every location could be compared like-for-like.
The trickiest part was defining Conversion Rate consistently: calls, sales, website enquiry forms, and email leads all needed to be counted — and double-counted paths excluded — the same way, everywhere. I documented the exact formula and every exclusion rule so any location's number could be trusted at a glance, then handed the full methodology over in writing for the reporting team to maintain independently.
Operational teams needed dashboards that updated in near real time, without waiting on a nightly batch job. I connected Snowflake directly to Looker Studio for live KPI visibility, then separately led a workstream migrating an existing reporting suite off legacy tooling and onto Power BI — keeping both platforms in sync with the same underlying warehouse models.
The Power BI migration was designed so it didn't disrupt existing report consumers — the underlying Snowflake models stayed the single source of truth, with both BI tools pointed at the same governed layer instead of duplicating logic in each front end.
Founded and run a content platform helping aspiring data analysts across India prepare for interviews — covering SQL, Python, and career guidance at scale. Rather than writing every article by hand, I built an automated content pipeline so the site could grow consistently.
The platform covers SQL fundamentals, Python for analytics, and career guides tailored to the Indian job market, with content scaled through the automation workflow rather than manual publishing — freeing time to focus on quality and monetization strategy (currently working toward Google AdSense approval).
Journey
Roles across product data teams, AI-driven companies, and agency analytics — always closer to the data.
Let's build
Open to senior data engineering roles and contracts — integrations, CRM migrations, analytics pipelines, and dashboards. Usually reply within a day.