K. Orkin Works / korkworks.com
Platform & data engineering · AI agents · 20+ years

Twenty years architecting enterprise data platforms and CRM pipelines — now engineering the AI agents, governance, and integration layers that run on top of them.

An AI engineer who came up through the substrate. Data, identity, and the decisions that run on them: the foundation under the feature set, where systems break down and where they must be stabilized. Twenty-plus years across CRM, CDP, eCommerce, and marketing automation, learning where the stack actually fails — and building there.

Currently open
Full-time — AI engineering & platform architecture, Microsoft ecosystem. Remote or Atlanta metro. Say Hello.

Fig. 01 - the stack, in cross-section · survey of record
Five layers: campaigns, platform features, orchestration, identity and data model, decisions and governance. The bottom two are marked as the layer I work. CAMPAIGNS & CONTENT PLATFORM FEATURES ORCHESTRATION IDENTITY & DATA MODEL DECISIONS & GOVERNANCE THE LAYER I WORK
How I read a stack

Judgment, in the order I use it.

Start at the data model and identity graph, not the dashboard; the dashboard is downstream of the failure modes.

Brittle orchestration, email-keyed identity, deletes that suppress instead of transition. A problem you can't name is a problem you're about to migrate.

Fit beats hype, and declining a tool is a deliverable. Some of the best calls I've made were the word "no" with receipts attached.

Build for the bad day. If there is no safe rollback or staging path, it is a liability, not an architecture.

The newest platform in the range
I build on AI. I don't just use it.

AI is the newest platform I architect on, and I treat it like any platform: build on it, evaluate it honestly, know when to decline it. The Surveyor Agent and Inspector Agent are custom-built reasoning agents in production.

Deep on Microsoft Copilot and Claude, with Gemini in the working rotation and OpenAI's image models driving the generative pipelines.

Selected AI-engineering work · sheet index
Anthropic ClaudeMCP · agent designCDP
agent layer · reasoning modeled from senior-architect judgment

The Surveyor Agent - a stack-diagnostic reasoning agent

Problem
Platform audits happen after scoping; by the time anyone reads the configuration, the misconfigurations are already load-bearing.
Read
Catching broken configurations is pattern recognition developed across years of ecosystem audits — a consistent heuristic, and a consistent heuristic can be modeled into a diagnostic layer.
Call
Architected and shipped the Surveyor Agent: a diagnostic reasoning layer that validates stack configuration integrity before scoping. Proven against a hard real-world case — a multi-hop configuration relay no one owned end to end — audited front to back, with the gaps surfaced.
Outcome
In production at codedrovers.com. Its forerunner — an earlier discovery agent I built solo — was showcased at the Bloomreach American Town Hall: one of a handful featured worldwide, the only solo entry among teams of seven to nine, and a standout in a field of ~250 across 35 partner agencies.
estate auditverificationdeployed
every file claims to be canon the one the bytes actually back

How I know which "source of truth" is actually true

Problem
In a heavily-iterated system, every file claims to be the source of truth, and they can't all be right.
Read
You can't trust what a document says about itself. The reliable signal is the bytes: what's current, what's a stale copy, what quietly contradicts what.
Call
Built and deployed an estate-audit layer that reads contents, not labels: it names the version the evidence supports as canonical, flags what's drifted, and abstains with receipts when the bytes genuinely don't decide. Adversarial "cry-wolf" cases gate every verdict before it ships; a wrong call gets reopened against the record and corrected, never overwritten.
Outcome
An estate you can trust: every "this is canon" claim checked against what's physically there, with the evidence attached to the verdict.
Pythonprivacy engineeringdeterministic
raw content content-free flags agentic triage

A privacy boundary the model never crosses

Problem
To let an AI audit a system, you usually have to show it the system - including the parts that must never leave the building.
Read
The agent doesn't need the sensitive value. It needs to know a value is there and what kind. Those are different, and the difference is the whole safety case.
Call
Engineered a deterministic scout that inspects the cells and emits content-free flags (never a raw value or a matched string): it sees the cells so the agent only ever sees flags, and nothing sensitive crosses the model boundary.
Outcome
An AI that can reason about sensitive data without ever being handed it. The boundary is the feature.
PythonModel Context Protocolopen source
a deterministic audit engine a public MCP server, shipped

An open-source MCP server that hands an AI judgment, not just a diff

Problem
Everyone with a drafts pile has the same one: a dozen near-identical files, no reliable way to know which is current, and every dedup tool happy to delete the wrong one.
Read
A diff tells you what changed and refuses to say whether it matters. The missing piece is judgment, read from the bytes rather than the filename, and a model can supply it if you hand it the right deterministic evidence.
Call
Built and shipped a public MCP server (Python) that gives any AI assistant that evidence: which lines exist in only one place, which file is a subset of another, what actually changed, plus the rules to act on it. Local-first, no API key, diagnose-only; it proposes, it never deletes.
Outcome
Live and open-source at github.com/kellyorkin/cane-mcp. Anyone can install it and get an evidence-backed answer in one command.
also in the drawer
AI-05
Generative content pipeline at collection scale — Python + image-model pipelines generating to a schema'd JSON catalog; 100+ artifacts served live with CI/CD deployment across my own domains.
AI-06
Production MCP server, both sides of the protocol — auth-gated TypeScript server on the Anthropic Messages API, with client-side tool-use loops implemented directly against the wire format.
AI-07
Multi-model ensemble, on the record — Claude, Copilot, and Gemini under scoped roles, written compacts, ADR decision records, and source-provenance rules.
Enterprise & platform engagements · sheet index

Exhibits

Dynamics 365Dataverse · Power PlatformCopilot Studio
on a live enterprise platform · without breaking what's already running

Sole owner of a Customer Engagement workstream, inside a live enterprise migration

Problem
A multi-year enterprise Dynamics 365 Customer Engagement migration for a major US manufacturer — with a full systems-integrator team already migrating the core Sales & Service modules on the same platform, changing the ground daily.
Read
The hard part of enterprise Dynamics isn't the build; it's standing up something new that has to coexist with someone else's live business rules and workflows without collision, across a rigorous deployment pipeline, while the platform underneath keeps moving.
Call
Sole architect and owner of the Customer Insights workstream, end to end — BRDs and architecture through custom entities, configuration, and data migration — delivered on a multi-tenant ALM pipeline (two dev tenants → QA → UAT → prod) and engineered to coexist with the client's live Sales & Service platform.
Outcome
A workstream that a standard model spreads across a team, owned by one architect, shipped into a production environment it was never allowed to break.

Not a one-off: the practice behind it ran assessment through reporting across production client environments.

UnicaAcousticAmazon Pinpoint / AWSdeliverability · identity
on-prem (Unica) SaaS (Acoustic) cloud-native (Amazon Pinpoint)

Owning the data through an enterprise messaging migration

Problem
A major US telecom moving off aging messaging infrastructure (Unica, then Acoustic), at risk of dragging deliverability and identity debt straight into each new environment.
Read
The send engine was never the blocker; unresolved identity and unmanaged deliverability simply port legacy debt forward. Whoever owns the data through a migration owns whether it lands clean.
Call
Owned the data across the move from Unica to Acoustic — import pipelines by API and manual load, cleansing, normalization, compliance, and reporting — holding identity and deliverability posture steady as the platform underneath changed. Contributed to the subsequent move onto Amazon Pinpoint.
Outcome
The legacy debt didn't make the trip. The data landed clean, compliant, and reportable in each environment it passed through.
Amazon Redshift · SQLMessageGearswarehouse-native
cloud data warehouse (Amazon Redshift) SaaS execution (MessageGears)

Warehouse-native decisioning at scale

Problem
A top US quick-service brand needed decisioning that could run against the real system of record, at volumes standard ESP architectures fail to support.
Read
Copying the data into the messaging tool just recreates the staleness problem one layer over. Evaluate the logic against the warehouse, where the truth already lives.
Call
Contributed to the SQL-to-MessageGears schema — the query and data logic reading direct from the client's Amazon Redshift warehouse — and owned its integrity across the life of the engagement.
Outcome
Decisioning that reads the source of record instead of a lagging copy — and a schema that stayed correct as the program changed around it.
The Range

MarTech is one domain in the range, not the range.

The through-line is data and platform architecture; the substrate outlasts the feature set.

Platforms

Every platform below: hands-on deployment in production or a fully populated proof of concept. The exhibits are selected; this is the index.

Dynamics 365 CEPower PlatformPower AutomatePower AppsDataversePower BIExcelAdobe WorkfrontMessageGearsBloomreachSegmentmParticleAmperityBrazeKlaviyoHubSpotZetaMoEngageAmazon PinpointAcousticUnicaMicrosoft CopilotAnthropic Claude

Specialties

Identity resolutionDeliverabilityData governanceJourney orchestrationWarehouse-native architectureMigration & re-platformingAPI integration
Author & query — hands on the keys
SQLSOQLLiquidJinjaHTML/CSSPower FxPower Automate expressions

Read, direct & ship — AI-assisted
PythonJavaScriptTypeScript

The templating, query, and low-code expression languages I write directly — where personalization and data access actually fail. The general-purpose languages I read fluently and ship through an AI toolchain I direct and review.

Certified: Dynamics 365 Fundamentals (CRM) · Microsoft Dynamics CRM Application Specialist (BY93FA-A49529) · Workfront · Braze · Klaviyo Developer · Anthropic's Claude curriculum
Microsoft Learn: 155 modules · 43 learning paths, deep in the Microsoft ecosystem.
Full certification list on LinkedIn.

The estate I test against

Platform coverage is tested against environments I own - populated, and complex enough to fail.

SegmentTwilio EngageKlaviyoBrazeHubSpotAcousticMailChimp

Maintained sandboxes populated with synthetic customer graphs to test edge-case Liquid templating, webhook limits, and sync latency under load. The infrastructure extends to personal projects: the gallery at Lore Faire is a live product catalog, structured and hosted to test JS and catalog behavior against something real.

The Surveyor tests only against environments I own — a governance rule the estate exists to make possible.

Off duty · same engineer

The range isn't a sidebar. It's the same practice in other materials.

I write long-form fiction - mysteries, a Wodehouse-flavored Holmes crossover, and historical nonfiction; one published. Claude works the editor's desk: I write the drafts, Claude handles the strikethrough.

I make jewelry inspired by fantasy, mythology, and the Victorian era at Lore Faire, by hand - the gallery is always open.