Sergey Setrin
Enterprise data platforms · Moscow (GMT+3) · fully remote · international B2B contract

Enterprise DWH & Data Architect · Senior System Analyst · LLM Engineering

I turn ambiguous business requirements into scalable warehouse architectures, airtight data models and production SQL — then layer AI on top without giving up control.

20+yrs
Banking data platforms
IT × finance, client and integrator side
5
Enterprise DWH programs
Delivered as architect / lead analyst
10sTB
DDS / DM layers designed
Oracle · Greenplum MPP
4
Oracle certifications
SQL Expert · Advanced PL/SQL · PL/SQL Dev · BI
12
Largest team led
Analysts, developers, testers
150top
sql-ex.ru ranking
of ~1.5M registered users
What I build, end to end
Source systems
Staging
Detail layer
Rules & marts
Reporting

Every arrow in this chain is something I have specified, modeled, coded and reconciled in production.

Profile

Twenty years of banking data, plus the AI layer on top

20+ years building enterprise banking data platforms at the intersection of IT and finance, and 3+ years shipping the LLM tooling that makes analytics teams dramatically faster.

End-to-end warehouse architecture (Stage / ODS / DDS / DM) and entity & dimensional modeling (ERD, PDM in SAP PowerDesigner) at tens-of-terabytes scale, including a production Oracle → Greenplum migration delivered with zero data loss and zero reporting downtime.

System analysis is the through-line: requirements decomposed from C-level reporting down to source systems, undocumented systems documented with stakeholder sign-off, full BRD/FSD → S2T → ERD → UAT lifecycle owned.

01 / Architecture

Warehouse architecture & data modeling

Target models for Stage / ODS / DDS / DM, layer standards, grain, historization (SCD), referential integrity across layers. ERD and physical models in SAP PowerDesigner — including physical models generated by code and validated by strict gates.

02 / Analysis

System analysis end-to-end

Requirements decomposed from C-level reporting down to source systems; sources assessed for completeness, sufficiency and quality; undocumented systems documented with sign-off. BRD/FSD, S2T mappings, incremental and CDC logic, UAT.

03 / Performance

MPP performance & migration

Oracle → Greenplum migrations covering metadata, data and the whole SQL layer. Execution-plan profiling, distribution and partitioning design, motion and skew control — multi-fold runtime cuts on critical high-load reports.

04 / AI

LLM engineering under verification

RAG, agentic and multi-agent workflows, prompt pipelines, evals and multi-model orchestration for SQL generation, documentation and source analysis. Every output passes expert verification; AI proposes, a human approves, deterministic code executes.

Selected engagements — 5

Client programs, described by domain and scale

Client names withheld under NDA. Domain, scale and delivered artifacts are stated; figures are measured from project artifacts.

01
National clearing infrastructure

Oracle Exadata → Greenplum migration of regulatory calculation schemas

Goal

Replace a vendor-locked Oracle platform for regulatory ratio calculation with an import-substituted Greenplum stack — without changing reported figures.

What I did
  • Authored the migration specification package per schema: object inventory (S2T as the single source of scope), data lineage, and three synchronized code representations (production, versioned deploy, diagnostic install).
  • Defined the coding and conversion standard: Oracle → Greenplum type mapping, PL/SQL → PL/pgSQL rewrites, package logic flattened into schema-qualified functions, view materialization strategy.
  • Made MPP optimization a hard requirement: eliminated per-row constructs (correlated subqueries, cursors, accumulator arrays) in favour of set-based steps with explicit distribution and statistics.
  • Built the inventory of what actually runs: 503 warehouse projects reconciled across three raw metadata sources with provenance per row, dedupated to 3,729 unique tables.
Value delivered

Delivery became reviewable and repeatable: a single acceptance criterion (Oracle ↔ Greenplum parity on a regression set of dates), one canonical deployment route, and defect classes turned into automated pre-flight checks instead of production incidents.

2,383
objects in the delivery packages
645 / 629
tables / views converted
933
functions and procedures rewritten
6
schema packages delivered
Oracle ExadataGreenplum 6PL/pgSQLpglastFlywayPython
02
Top-tier universal bank

Statutory (local GAAP) reporting marts on an import-substituted warehouse

Goal

Move statutory reporting marts from a legacy Oracle warehouse into the bank's new Greenplum platform, under the bank's own modeling and code standards.

What I did
  • Owned the physical model: layer and prefix taxonomy, storage and distribution policy per table class, mandatory technical columns, historization boundaries, replicated reference tables.
  • Codified the settings-table template and the migration of legacy configuration, including expansion of account-mask ranges into explicit rows for join efficiency.
  • Generated PowerDesigner physical models programmatically and gated them: XML integrity, extended Greenplum attributes, distribution keys, layout readability — ten automated checks, each born from a real review defect.
  • Wrote the code standard applied at review: step-partitioned calculation functions, mandatory aliasing, and a numeric join-cost gate that caps query complexity before it reaches the cluster.
Value delivered

Model and code reviews started passing on the first submission: the standard is explicit, machine-checked where possible, and the review checklist matches what the gates verify.

6,011
objects in the corporate model
142,163
columns catalogued
10
automated model gates
≤12
join-cost budget per query
Greenplum (Arenadata)SAP PowerDesignerPL/pgSQLPythonConfluence
03
Top-tier universal bank

Management reporting (MIS) rebuilt for the new platform

Goal

Rebuild management-reporting pipelines on the new warehouse so results reconcile with the legacy system and fit the platform's execution budget.

What I did
  • Reconciled three independent sources of truth about one warehouse — the corporate physical model, the live Greenplum dictionary and the legacy Oracle dictionary — and documented every divergence with a verdict.
  • Redesigned calculation pipelines as materialized steps instead of nested CTEs, with one distribution key per pipeline and reference data read exactly once.
  • Built the automation: sandbox generators, dictionary-driven validators and a single quality gate; every stand failure became a permanent checker.
  • Turned the whole prose corpus (analyses, SQL, journals) into an addressable, deterministic knowledge base so answers cite file, section and line instead of being recalled.
Value delivered

Scan volume for the flagship pipeline dropped from 384 GB to 163 GB, and a class of defects that used to surface on the stand is now caught before submission.

3,888
tables in the analysed model
116,060
columns profiled
384→163
GB scanned per run
60+
generators and checkers
GreenplumPostgreSQLPythonPowerDesignerDocker
04
Central-Asian fintech marketplace

Warehouse platform standards, mart specifications and migration governance

Goal

Give a fast-growing data platform (Greenplum + dbt + Airflow) a written standard and a repeatable specification format, while migrating analytics off a legacy ClickHouse layer.

What I did
  • Co-authored the development standard: responsibility split between analysts and engineers, distribution and partitioning thresholds, storage defaults, incremental and historization rules, spill and skew diagnostics.
  • Established the data-mart card as the delivery unit: passport (grain, SCD, distribution, schedule), source-to-target mapping with verbatim transformations, and an honest prototype that only reads objects that actually exist.
  • Ran migration governance as a workbook: field-level inventory, per-object estimates and ownership, blocker rows addressed to a named owner, and a resource plan against the working calendar.
  • Normalized scattered requirements into canonical attributes and a conformed-dimension bus matrix, then split them into engineering, analysis and BI tasks with explicit definitions of done.
Value delivered

Ambiguous requests became estimable work items with owners, and marts arrived in a shape engineers could implement without a second round of clarification.

25
standard clauses agreed
~25
mart specifications authored
982
source fields inventoried
1,495
attribute mappings traced
GreenplumdbtAirflowClickHouseOracleQlik Sense
05
Digital bank

Data Vault 2.0 warehouse and an ETL package factory

Goal

Cover a core banking system in a Data Vault 2.0 warehouse on Greenplum and industrialize the ETL layer so new source tables become pipelines predictably.

What I did
  • Specified the layer and key conventions (hash keys, service columns, storage and partitioning) and the production shape of mart functions: idempotent period-scoped rebuild, deduplicated satellites, run logging.
  • Generated the ETL package per source-system chunk — landing / raw / business-vault configurations, orchestrator DAG with batching, metadata registration — driven by generators rather than hand editing.
  • Enforced correctness with zero-tolerance audits (naming, key rules, historization mode, DAG-to-chunk parity) that must report no findings before delivery.
  • Reconstructed the banking domain from data rather than metadata: credit chain, provisioning against the regulator's rules with the rounding tolerance the core system actually uses, posting anatomy, card and client canon.
Value delivered

Onboarding a new source area became a generated, audited package instead of bespoke work; domain answers now rest on verified runs, which matters because the metadata layer demonstrably disagrees with the data.

4,473
source tables in scope
54,505
source fields mapped
70 / 71
ETL packages / DAGs generated
4
blocking audits before delivery
Greenplum 6Data Vault 2.0Spark on K8sAirflowOraclePython

No engagements in this category.

Products & R&D — 8

What I build when I own the whole stack

Own products and R&D. Built solo or as lead architect; figures measured from the repositories.

Regulatory CDM & lineage platform Flagship

Central-bank reporting, source to submitted form
Goal

Prove that every field of every regulatory form can be traced back to a source column through an approved, auditable chain — and keep that guarantee automated as the model grows.

Approach
  • Canonical data model over the full regulatory form set, with transformation rules carrying explicit atomic steps and ready-to-review SQL prototypes.
  • Acceptance built as gates rather than opinion: terminal reachability, business-approval coverage, ambiguity resolution, plus nine extended semantic checks (temporal consistency, aggregation grain, cross-form reconciliation, silent-override and default-inflation detection).
  • Physical layer with 100% comment coverage, distribution documented per table, and an idempotent installer that renders any script into a repeatable form and proves it by two live runs plus catalog diff.
  • Append-only audit trail with hash-chained records, so evidence cannot be quietly rewritten.
Value

A reporting model that can answer an auditor's question mechanically — which rule produced this figure, from which source, approved by whom — instead of by manual archaeology.

191
regulatory forms covered
1,098
transformation rules
13,388
field bindings, all approved
1,918
tables / 44,474 columns commented
PostgreSQL 16GreenplumPythonAirflowNeo4j / OpenLineage exports

Marketplace seller copilot

Diagnostics and actions for e-commerce listings
Goal

Give a marketplace seller a diagnosis of their listing plus concrete actions, rather than generic AI copywriting.

Approach
  • Mobile-first PWA over a provider-agnostic LLM backend; prompt, response validator, API specification and evals changed as one unit — a drift between them is treated as a defect.
  • Evaluation contour beyond assertions: fixtures for stable inputs, deterministic baselines and inputs that must be rejected, plus content-quality guards for language, placeholder text and category coherence.
  • Operator surface with budget hard-stops before provider calls, logging sanitation and rollout readiness that only trusts a full verification run.
Value

LLM output became reviewable engineering: regressions are locked by tests, and release readiness is a measured state rather than a feeling.

109
evaluation files
29
defect-locking regression smokes
Node.jsPWAAnthropic APIOllamaJSON contracts

Vertical video generator for real estate

Photos and facts to a finished reel
Goal

Turn a handful of property photos and facts into a publishable vertical video with script and subtitles, with no paid API in the MVP path.

Approach
  • Contracts-first delivery: every interface versioned as schema plus golden fixture plus a fixture that must fail, with a dependency-free validator reused by the layer above it.
  • Event-stream contract fixed by sequence fixtures, including terminal replay on reconnect and an out-of-order event that must be rejected.
  • Promotion fence for canonical documents: source path, decision id and content hash in the header, edits only through a new version.
Value

A media pipeline where the boundary between components is enforced by tests, so a backend change cannot silently break the renderer.

3
versioned contracts
0
paid APIs in the MVP path
Next.jsTypeScriptffmpeglocal TTSOllama / Qwen

Operations assistant for regulated SMB

Documents, requests and contracts with a human gate
Goal

Put retrieval-augmented answering into back-office operations where a wrong answer has legal cost, so the assistant must be provably grounded.

Approach
  • Retrieval evaluated by a deterministic offline gate on an isolated corpus: source hit rate, citation precision, groundedness and a fail-closed answer when the corpus does not contain the fact.
  • Every external connector ships as adapter plus mock, with live mode behind explicit flags and read access separated from write access.
  • Each mutating endpoint has a read-only pre-flight twin that reveals blockers before side effects; dual approval and requester-approver separation for high-risk actions.
Value

An assistant that says "not found" instead of inventing, and a rollout path where enabling real integrations is a deliberate, reversible switch.

fail-closed
unknown-answer policy
read ≠ write
adapter permission model
PythonFastAPIpgvectorRAG evalsPrometheus

Integration hub: identity, payments, LLM channel

One contract, providers behind adapters
Goal

Stop rewriting integrations per project: expose one stable interface per domain and hide the provider and the jurisdiction behind it.

Approach
  • Identity as a single provider interface normalizing six live providers, with the protocol quirks of each documented rather than discovered twice.
  • Unified LLM channel with free and paid tiers, model-array fallback handled by the gateway, zero-retention flags and a demo mode that works with no key at all.
  • Payment and billing domains split by jurisdiction behind the same contract, so a project chooses a zone instead of a vendor.
Value

Adding a provider or a country stopped touching product code, and every consumer degrades gracefully instead of failing when a key is absent.

6
identity providers verified live
2
jurisdiction zones behind one contract
PythonFastAPIOAuth2 / PKCEOpenRouterKeycloak

OCR / vision scoring service

Screenshots to a priced valuation
Goal

Read structured facts off user screenshots and turn them into a defensible price, with no hand-waved coefficients.

Approach
  • Three recognition engines behind one record contract with automatic fallback, so the engine can change without touching the frontend.
  • Cost control and reproducibility: expensive vision calls cached by image hash, low-confidence values routed to review instead of being written.
  • Pricing calibrated by non-negative least squares against actual sales rather than intuition, with a golden set guarding every runtime change.
Value

Recognition accuracy and price quality became measurable, and the strict mode means the service never silently invents a value it could not read.

R² 0.42 → 0.82
price model after calibration
100%
golden-set classification
FastAPIEasyOCRCLIPVision LLMSciPySQLite

Legaltech mobile app

Citizen document workflows
Goal

Walk a non-lawyer from a life situation to a correctly filled document package they can actually submit.

Approach
  • Situation catalogue with questionnaire-driven document generation, evidence hub and case tracking, content shipped as versioned data bundles rather than hard-coded screens.
  • Personal-data compliance built in: consent flow, local PIN lock, revoke-and-delete path.
  • Payment channel abstracted behind one purchase interface, with an unavailable-channel fallback so an unsupported store degrades instead of crashing.
Value

Content and monetization can change per market without touching the UI layer, and the build stays green when a payment provider is unavailable.

74
guided situations
12
legal categories
Flutter / DartJSON content bundlesPDF / DOCX generation

Engineering knowledge system for AI agents

Distilled standards that agents actually follow
Goal

Stop re-explaining project standards to AI assistants: encode each domain's conventions, traps and acceptance checklists once, in a form an agent loads automatically.

Approach
  • Twenty-nine skills distilled from real repositories and incident registers, grouped by prefix — warehouse, per-client standards, product domains, cross-cutting discipline.
  • Single-source discipline: canonical copies, generated HTML catalogue, mirror synchronization and a re-tiling tool so a shared block cannot drift between copies.
  • Every skill carries the reason it exists and the acceptance checklist, so its guidance is auditable rather than folklore.
Value

Onboarding a new engagement or agent takes minutes: the standard, the known traps and the definition of done arrive together.

29
skills in the library
1
source of truth per rule
MarkdownPythonClaude CodeGit

No products in this category.

How I work

Acceptance is a gate, not an opinion

Most warehouse incidents I have met were not caused by hard problems — they were caused by "done" meaning different things to different people. So I make the definition explicit and machine-checked wherever it can be.

TECHNICAL_PASS
It runs, it is idempotent, row counts and keys reconcile.
Not business acceptance. A generic copier that matches row counts stops here.
BUSINESS_READY
A domain formula exists, a method-specific validator passes, sources and references are covered, numbers reconcile within stated tolerance.
Still one step short: nothing has been recomputed twice yet.
ACCEPTED
Business-ready plus a live double recalculation, zero critical data-quality findings and documented evidence.
Only the owner signs this off. An agent may never assign it.

Lineage recursively, or the status is capped

A mart is only accepted when every published row unwinds to concrete detail-layer sources through explicit keys. Chains that end in seed data, a generic copier or an unresolved bucket are capped at technical pass, with the reason recorded.

Numbers are measured, never recalled

Every figure in a report, commit or decision record comes from a command, with the formula shown when it is derived. Row counts come from an actual count, not from planner statistics.

Evidence levels are stated honestly

Static review, smoke, targeted tests, runtime pass and full verification are different claims. Calling a read-through a runtime pass is the failure mode I design against.

AI proposes, a human approves, deterministic code executes

Language models are excellent at drafting mappings, documentation and SQL, and unfit to be in the data path. Their output is a design-time artifact frozen by an approval gate; the load itself stays deterministic and idempotent.

Every incident becomes a permanent check

A defect that reached a test stand is not closed until it exists as an automated checker or a written safeguard. That register is why the same class of error stops recurring.

Documentation is generated, not maintained by hand

Specifications, model files and catalogues are produced by code from the same source as the deliverable, with validators that fail the build on divergence — so the document and the system cannot drift apart.

Stack

What I work with

Depth where it pays off — warehouse platforms, SQL and modeling — and working fluency in the surrounding engineering.

Depth, in years
Banking data platforms
20+yrs
Reporting, warehouses and data quality since 2004
Oracle
16yrs
PL/SQL, performance, 4 certifications, BI
Greenplum MPP
4yrs
Distribution, partitioning, migration, tuning
LLM engineering
3+yrs
RAG, agents, evals, multi-model orchestration
Warehouse platforms
Oracle (16 yrs)Greenplum / Arenadata (4 yrs)PostgreSQLTeradataMS SQL ServerHadoopClickHouse
Modeling & architecture
ERD / physical modelsSAP PowerDesignerData Vault 2.0Kimball dimensionalStage / ODS / DDS / DMSCD historizationDistribution & partitioning
SQL & performance
Advanced SQLPL/SQLPL/pgSQLExecution-plan profilingMPP motion & skew controlQuery refactoringSpill diagnostics
Engineering & transformation
dbtAirflowSparkKafkaPython / pandasIncremental & CDC loadsOpenMetadataGit
Analysis & delivery
BRD / FSD / FRDS2T mappingsData lineageUATUML / BPMNConfluence / JiraWaterfall & Agile
Reporting & quality
Statutory (local GAAP)IFRSMIS & C-level dashboardsOracle BIPower BIQlik SenseDQ gates & governance
AI / LLM engineering
RAG pipelinesAgentic & multi-agent workflowsPrompt contractsEvals & fixturesMulti-model orchestrationClaude / GPT / Grok / QwenHuman-approval gates
Track record

Where this came from

2022 — now
Senior System Analyst · DWH Architect · Analytics LeadMajor bank (NDA)DDS/DM architecture, Oracle → Greenplum migration, dbt & metadata, LLM tooling, team of up to 12
2021 — 2022
Data EngineerInnotech Group (NDA)Data governance at enterprise scale, Hadoop warehouse specifications
2019 — 2021
Director of ProjectsR-Style SoftLabPortfolio of banking DWH implementations; data quality built as a function from scratch
2017 — 2018
Project Manager, Data QualitySberbankDQ check system and automation on enterprise warehouse
2016 — 2017
Senior Project ManagerR-Style SoftLabProduction Oracle DWH and MIS delivery for banking clients
2014 — 2015
Data Quality Team LeadPromsvyazbankSole owner of data quality across two warehouse platforms
2004 — 2014
Analyst → Team LeadBanks & consultanciesRegulatory and management reporting, warehouse delivery, Oracle BI
  • Master's Degree in Finance — Kyiv National Economic University, 2003 (with honours)
  • Oracle Database SQL Expert · Advanced PL/SQL · PL/SQL Developer Associate · BI Foundation Suite 11g
  • English B2 · Russian native · Ukrainian native
Contact

Open to fully remote engagements

Moscow (GMT+3) · fully remote · international B2B contract. Warehouse architecture, system analysis, migration and reporting programs — plus the AI tooling that speeds them up without loosening control.

Fastest reply: Telegram or email. Time zone GMT+3, comfortable overlap with EU and US East.