---
title: "Blake Bauman | Principal Technical Architect"
url: "https://blakebauman.com/"
description: "Blake Bauman is a Principal Technical Architect at Adobe, based in Arizona, who architects enterprise commerce and builds agent infrastructure."
updated: "2026-10-07"
---

# Blake Bauman

> Blake Bauman is a Principal Technical Architect at Adobe, based in Arizona, who architects enterprise commerce and builds agent infrastructure.

I'm a Principal Technical Architect at Adobe. For Fortune 500 clients I architect and ship enterprise commerce on Adobe Commerce and AEM Edge Delivery Services, including one of the first production EDS plus Commerce B2B integrations.

Increasingly that means the agentic layer on top of it. I build client solutions on Adobe Experience Platform Agent Orchestrator and CX Enterprise Coworker, which coordinate agents across analytics, content production, and journey orchestration with governance and human approval in the loop, and I've contributed to the core code behind them.

I know how Commerce systems fail, how to migrate them, and how to build teams around them.

Outside client work I build agent infrastructure in four layers, and the layering is the argument: agents in production need a harness to run in, a way to know whether they are working, a governed boundary to reach tools through, and a supply of reusable capability.

Felix is the harness. Agents are authored as YAML manifests and compiled into governed runtimes with durable execution, memory, skills, and approvals, served over REST, an OpenAI-compatible API, A2A, and MCP at the same time. Python, self-hostable, Apache-2.0.

Memoturn is the evaluation layer, an open-source AI engineering platform for building, evaluating, and monitoring LLM applications in production: tracing, evals, a prompt registry, and cost analytics, all OpenTelemetry-native.

Fold is the governance layer, an enterprise MCP gateway in Go that federates every MCP server behind one governed endpoint with deny-by-default policy and credential brokering. Skillist is the skills layer, a realtime registry where agents publish, version, and discover reusable skills.

Earlier iterations of this work ran on AWS Bedrock, AgentCore, and LangGraph. The list below is the live record; the chatbot below it answers questions about it.

## Case studies

- [felix](https://blakebauman.com/work/felix.md): A self-hostable agents harness. Agents are YAML, not code, and the runtime they compile into is governed by default.
- [memoturn](https://blakebauman.com/work/memoturn.md): An open-source AI engineering platform: tracing, evals, prompts and cost analytics, with the transactional and analytical stores kept apart on purpose.
- [fold](https://blakebauman.com/work/fold.md): One governed endpoint between every MCP client and every MCP server. Forty out of forty on the official conformance suite, on every merge.

## Experience

### Principal Technical Architect, Adobe (2022–Present)

*Remote, United States*

Delivered one of the first production AEM Edge Delivery Services plus Adobe Commerce B2B integrations, for a Fortune 500 company. Now works the agentic layer on top of that stack from both sides: builds client solutions on Adobe Experience Platform Agent Orchestrator, which plans a task, calls the specialized Experience Platform agents it needs, and returns one response under human oversight, and on CX Enterprise Coworker, Adobe's agentic CX platform that reached general availability in June 2026, and has contributed to the core code behind them. Ran a webinar on Commerce with Edge Delivery that became a reference for Adobe's enterprise teams.

- Delivered one of the first production integrations of AEM Edge Delivery Services with Adobe Commerce B2B, for a Fortune 500 client.
- Builds client solutions on Adobe Experience Platform Agent Orchestrator, the layer that plans a task, calls the specialized Experience Platform agents it needs, and returns one response with human oversight throughout.
- Works on CX Enterprise Coworker, Adobe's agentic customer experience platform announced at Adobe Summit in April 2026 and generally available in June 2026, which takes multiple actions against a goal across analytics, content production, and journey orchestration.
- Has contributed to the core product code behind both agentic products, not only to client implementations on top of them.
- Ran a webinar on Adobe Commerce with Edge Delivery Services that became a reference for Adobe's enterprise teams.
- Leads cross-functional delivery teams and internal enablement for enterprise Commerce and Edge Delivery engagements.

Tech: Adobe Commerce, AEM Edge Delivery Services, Adobe Experience Platform, Adobe Experience Platform Agent Orchestrator, CX Enterprise Coworker, JavaScript, GraphQL, PHP

### Technical Architect, Adobe (2019–2022)

*Remote, United States*

Led migration of a global beverage company from Adobe Commerce on-prem to Cloud, with zero downtime. Built the architectural review process for enterprise Commerce implementations.

- Led a global beverage company's migration from Adobe Commerce on-premise to Adobe Commerce Cloud with zero downtime.
- Built the architectural review process Adobe used for enterprise Commerce implementations, turning a case-by-case judgement call into a repeatable gate.
- Worked the failure modes of large Commerce systems directly: what breaks under load, what breaks during migration, and what has to be true before a cutover is safe.

Tech: Adobe Commerce, Magento Commerce, PHP, MySQL, Redis, AWS

### Technical Architect, Lyons Consulting Group (Capgemini) (2017–2019)

*United States*

Led design and implementation of Adobe Commerce for a leading activewear company. Spearheaded Adobe Scene7 integration to optimize product imagery, improving visual merchandising and site performance.

- Led design and implementation of Adobe Commerce for a leading activewear brand.
- Spearheaded an Adobe Scene7 integration for dynamic product imagery, improving visual merchandising and page performance together rather than trading one for the other.
- This is where the commerce-platform grounding comes from: the Magento and Adobe Commerce depth underneath the later Adobe architecture work.

Tech: Magento Commerce, Adobe Commerce, Adobe Scene7, PHP, MySQL, JavaScript

## Projects

### felix (prototype)

Self-hostable agents harness in Python. Agents are authored as felix/v1 YAML manifests and compiled into governed runtimes with durable fibers, memory, skills, eval, approvals, and sandboxes. One agent is served over four surfaces at once: REST/SSE, an OpenAI-compatible /v1, A2A JSON-RPC, and MCP. Live runs can be forked, rewound, and steered.

- Manifest-driven: an apiVersion: felix/v1 YAML document compiles into a runnable governed agent, so changing behaviour is a config change rather than a code change.
- One agent is exposed over four surfaces simultaneously: REST/SSE, an OpenAI-compatible /v1 where the manifest name is the model id, A2A JSON-RPC, and MCP.
- Durable execution: spec.execution.mode durable enqueues a fiber and returns 202 with a resume token; a crashed run resumes from the session log in Postgres, with no external workflow engine.
- Seven orchestration patterns are registered rather than hard-coded: react, deep, reflect and plan_execute run a single agent, while router, parallel and groupchat coordinate several. The registry is open, so a pattern is added by registering a builder rather than by editing the runtime.
- Sessions can be forked, rewound, and steered mid-run, with compacting, windowed, summarizing, semantic, and full-replay strategies chosen per agent.
- Safe across replicas: a rewind on one replica survives a turn running on another through a conditional leaf-epoch write, and a resent stream with the same Idempotency-Key replays what the first send wrote instead of running a second turn.
- Hosted workspaces: each thread's or tenant's files and shell run in their own sandbox, a Cloudflare Container with the internet off, and a hosted shell never falls back to the host.
- Two first-party clients, a web UI and a terminal UI, share one engine whose single event switch answers every frame a run blocks on: tool requests, approvals, and questions.
- A dropped stream is recoverable: structural SSE frames carry an id cursor and the thread can be replayed and tailed. A transient turn is torn down on disconnect; a durable run is not, only the poll that was watching it.
- Tools declare whether they are safe to re-run after a crash; the default is that they are not, because re-running a search costs latency while re-running a payment charges twice.
- Extended thinking is replayed correctly across tool calls: signed reasoning blocks are persisted and replayed, and a block whose signature was not captured is dropped rather than sent.
- Everything the harness knows about a model lives in one record per family, and an unknown model id defaults to the current request shape but a conservative context window.
- Governance is first-class: auth, approvals, an append-only audit trail, usage meters, and opt-in SOC 2 and EU AI Act mappings.
- Vendor independence by construction: object store, secrets backend, and warehouse are Protocols, so the same code runs on a filesystem-only VM or on AWS and GCP.

Tech: Python, FastAPI, Granian, Taskiq, PostgreSQL, pgvector, Valkey, Docker, Helm, MCP, A2A, OpenTelemetry, Cloudflare Containers  
Source: https://github.com/felix-run/felix  
Site: https://docs.felix.run/  
Case study: https://blakebauman.com/work/felix.md

### blakebauman.com (production)

This site. React Router v7 with SSR on Cloudflare Workers, and a retrieval-grounded resume chatbot: Workers AI embeddings, Vectorize semantic search over the same record the page renders, and a streamed LLM response.

- Retrieval over the same record the page renders: the chat and the page cannot disagree, because they read the same source.
- A topic guardrail runs before the model, so off-topic and prompt-injection attempts are refused without spending an inference call.
- Retrieved chunks are fenced in the prompt as reference material, and replayed conversation history is treated as untrusted input.
- Answers surface which sections grounded them, so a claim can be traced back to the record.
- Rate limited per IP at the edge with the native Workers rate-limiting binding.

Tech: TypeScript, React Router v7, Cloudflare Workers, Workers AI, Vectorize, D1, Tailwind CSS, Zod  
Source: https://github.com/blakebauman/blakebauman.dev  
Site: https://blakebauman.com/

### timetracker-app (production)

Toggl-style time tracking on Cloudflare Workers, D1, and Durable Objects, with a Workers AI chat agent that can create and edit entries under human approval, read-only Google Calendar sync with cron auto-tracking, and an offline mutation queue.

- Authentication covers passkeys, TOTP two-factor, magic links, and organizations, built on Better Auth, the most complete auth implementation on this record.
- The chat agent is an Agents-SDK Durable Object over Workers AI, and every write it proposes goes through human approval.
- Read-only Google Calendar sync with a cron job that auto-tracks matching events, so the calendar is a source and never a target.
- Offline-first: mutations queue in IndexedDB and drain when the connection returns.
- Cross-tab realtime state through a Durable Object WebSocket rather than polling.
- Reports export to CSV and Excel, with AI-generated narrative summaries alongside the numbers.
- Pushes time entries to Adobe Workfront and Microsoft Dynamics.
- MV3 Chrome extension, and Playwright end-to-end coverage.

Tech: TypeScript, Cloudflare Workers, D1, Durable Objects, Hono, React 19, Shadcn UI, Better Auth, Workers AI, Agents SDK, Playwright  
Source: https://github.com/blakebauman/timetracker-app  
Site: https://timetracker.run/

### memoturn (production)

Open-source AI engineering platform for building, evaluating, and monitoring LLM applications in production: tracing and observability over OpenTelemetry, an evaluation framework spanning offline datasets, online production sampling, and human review, a versioned prompt registry with deployment channels, and cost/token/latency dashboards.

- Tracing and observability built on OpenTelemetry rather than a bespoke wire format, so LLM spans sit in the same trace as the rest of the system.
- Evaluation spans all three modes that matter in production: offline datasets, online sampling of live traffic, and human review.
- Versioned prompt registry with deployment channels, so a prompt change ships and rolls back like code instead of being edited in place.
- Cost, token, and latency analytics on Apache Doris for OLAP alongside PostgreSQL via Prisma for OLTP.
- Ships TypeScript, Python, and Go SDKs with LangChain and OpenAI integrations.
- Multi-provider playground with streaming, plus SSO, RBAC, and audit logs for team use.
- An MCP server exposes prompts and datasets directly to agent IDEs, so the eval loop reaches the place the prompts are actually written.

Tech: TypeScript, Bun, Hono, TanStack Router, PostgreSQL, Prisma, Apache Doris, Redis, BullMQ, OpenTelemetry, MCP, Python, Go  
Source: https://github.com/memoturn/memoturn  
Site: https://memoturn.com/  
Case study: https://blakebauman.com/work/memoturn.md

### edgevault (production)

Open-core configuration, secrets, and feature-flag platform built on the Cloudflare Developer Platform. Five Workers split along the control-plane/data-plane line, with an envelope-encrypted secrets vault and sub-10ms flag delivery at the edge.

- Control plane and data plane are separate Workers on purpose: a slow or failing management API cannot slow down flag evaluation.
- Envelope-encrypted secrets vault, so the storage layer never holds a usable plaintext secret.
- Dev-to-prod promotion runs as a Cloudflare Workflow with an AI risk scan and a waitForEvent human approval gate: a config change gets the same treatment as a deploy.
- Real-time config updates over WebSocket Hibernation, which keeps idle connections free rather than paying per open socket.
- Audit events drain through a queue into NDJSON on R2, keeping the write path off the request path.
- Vectorize-backed semantic search over configuration, plus a Streamable-HTTP MCP server so agents can read and change config under the same policy as humans.
- Open-core: the MIT core is public, the Stripe billing layer is kept proprietary.

Tech: TypeScript, Cloudflare Workers, Durable Objects, Hono, KV, R2, Queues, Vectorize, Neon Postgres, Hyperdrive, MCP  
Source: https://github.com/blakebauman/edgevault  
Site: https://edgevault.io/

### deckhand (prototype)

Local-first desktop app for Docker and Kubernetes. A Tauri 2 shell over a Go sidecar that exposes Docker, Compose, Kubernetes, Helm, and Linux Firecracker microVMs through one localhost HTTP API.

- A Go sidecar owns every integration and speaks one localhost HTTP API, so the UI never shells out to docker or kubectl itself.
- Covers Docker, Compose, Kubernetes, and Helm from a single surface, plus Firecracker microVMs on Linux.
- Adobe Spectrum design system, macOS and Linux, MIT licensed.
- Pre-release: DMGs are ad-hoc signed, not notarized.

Tech: TypeScript, Go, Tauri, Docker, Kubernetes, Helm, Firecracker  
Source: https://github.com/blakebauman/deckhand

### fold (production)

Enterprise MCP gateway: one governed endpoint between every MCP client and every MCP server. Federates multiple servers behind namespaced tools with deny-by-default ABAC policy, JWT/JWKS auth with OAuth token exchange (RFC 8693), and credential brokering so agents never hold raw API keys.

- Federates many MCP servers behind one endpoint with namespaced tools, so an agent connects once instead of holding N server connections and N sets of credentials.
- Deny-by-default ABAC policy with structured audit events emitted for every request, including denials. The denials are the point, since an ungoverned gateway can't prove what it refused.
- Credential brokering with OAuth 2.0 token exchange (RFC 8693) so agents never hold raw API keys.
- Single static Go binary in a roughly 22 MB distroless image, built on the official MCP Go SDK, with optional Redis for distributed fleet state.
- Operational surface: rate limiting, circuit breakers, caching, load balancing with health checks, dynamic registry discovery, hot config reload, and a Kubernetes discovery controller with a Helm chart.
- Passes the official MCP conformance suite 40/40; shipped at v1.15.0 with the API contract frozen at v1.0.0, hardened with fuzzers and chaos tests.
- OpenTelemetry tracing and Prometheus metrics throughout.

Tech: Go, MCP, OAuth 2.0, Redis, Kubernetes, Helm, OpenTelemetry, Prometheus, Docker  
Source: https://github.com/fold-run/fold  
Site: https://fold.run/  
Case study: https://blakebauman.com/work/fold.md

### skillist (production)

Realtime registry and management platform for AI agent skills: publish, version, improve, and deliver reusable skills that agents discover and execute, following the agentskills.io spec.

- A registry for agent skills that follows the agentskills.io spec, so skills are portable rather than tied to one runtime.
- Realtime publish and discovery over WebSocket and SSE backed by Durable Objects, so agents see a new skill version without polling.
- Hosted sandbox execution environment, so a skill can be tried before an agent is trusted to run it.
- Two npm packages published under MIT, including @skillist/cli for local skill development.
- Neon Postgres via Hyperdrive with R2 and KV storage, a Vite and TanStack Router console, and Better Auth covering OAuth, magic links, and passkeys.

Tech: TypeScript, Cloudflare Workers, Hono, Durable Objects, Neon Postgres, Hyperdrive, R2, TanStack Router, Tailwind CSS, Better Auth  
Source: https://github.com/skillist-io/skillist  
Site: https://skillist.io/

### prompton (prototype)

Native, conversation-first database client with a Rust tool-calling agent. Ask a question in English, watch it write and run the SQL, and keep production connections read-only until a human approves the write.

- Production connections are read-only by default and stay that way until a human approves the specific mutation.
- The agent loop lives in Rust alongside the drivers, not in the UI layer.
- Agent skills are on-disk SKILL.md files, so what the agent knows about a schema is reviewable and diffable.
- Virtualized results grid with in-place cell editing for large result sets.
- Provider-agnostic: Ollama, any OpenAI-compatible endpoint, or Anthropic.
- Credentials are held in the OS keyring. macOS and Linux, with CI running typecheck, build, and cargo test.
- Self-described MVP.

Tech: TypeScript, Rust, Tauri, PostgreSQL, MySQL, SQLite, Cloudflare D1, Anthropic, Ollama  
Source: https://github.com/blakebauman/prompton

### vital (production)

A Claude Code plugin packaging a go-to-market agency as agents: nine specialists (strategy, GTM, brand, design, marketing, PR, engineering, capital, and a lead that scopes and synthesizes) plus twenty-two portable skills.

- A lead agent scopes the brief and routes to specialists, instead of the user having to know which discipline they need.
- Twenty-two skills written as portable SKILL.md files, usable outside the plugin.
- Installed via /plugin marketplace add blakebauman/vital.

Tech: Python, Claude Code, Agent Skills, Markdown  
Source: https://github.com/blakebauman/vital

### memoturn-db (prototype)

Agent-memory database in Rust. Typed memories (facts, events, instructions, tasks) under namespace/profile/memory isolation, with hybrid recall that fuses full-text, topic, and vector search.

- Memories are typed and topic-keyed, so a new fact about a topic supersedes the old one instead of accumulating contradictions.
- Ingest is idempotent and content-addressed: replaying the same input does not duplicate memory.
- Hybrid recall fuses FTS5, topic lookup, and vector ANN with reciprocal rank fusion rather than picking one retrieval mode.
- Many tiny databases per profile rather than one shared table, with hot/warm/cold tiering and object storage as the source of truth.
- O(1) copy-on-write branches with epoch fencing, so an agent can fork its memory to try something and throw it away.
- Single-writer safety via etcd leases with failover under 15 seconds.
- The README is deliberate about status: architecture and working prototype, not a shipped database.

Tech: Rust, libSQL, SQLite, etcd, Kubernetes, MCP, TypeScript, Python  
Source: https://github.com/blakebauman/memoturn-db

### nomoji.dev (production)

Configures granular emoji control across AI coding assistants (Claude Code, Cursor, Copilot, Gemini CLI), so emoji stop leaking into documentation, console logs, CLI output, and commit messages.

- Emits per-assistant configuration: a Claude Code subagent, Cursor rules, Copilot instructions, and Gemini CLI settings from one source.
- Presets plus a REST API and shareable configs, so a team applies one policy rather than each engineer configuring their own.
- Git hooks catch emoji at commit time as the last line of defence.

Tech: TypeScript, Cloudflare Workers, CLI  
Source: https://github.com/blakebauman/nomoji.dev  
Site: https://nomoji.dev/

### CaveAcoustics (prototype)

Org for a suite of JUCE audio plugins for ambient music producers: Cave Delay, Cave Reverb, Cave Chorus, Cave Granular, plus a shared GUI module and licensing system.

- Five JUCE plugins sharing a common GUI module and a reusable licensing module, so the shared parts were factored out rather than copied.
- Real-time audio is a hard deadline problem: the DSP path cannot allocate or block, which is a different discipline from the request/response work everywhere else on this record.
- The storefront reuses the same Cloudflare stack as the rest of the portfolio.
- Last active early 2026.

Tech: C++, JUCE, CMake, DSP, TypeScript, Cloudflare Workers  
Source: https://github.com/CaveAcoustics

### catalog-normalize (prototype)

Cloudflare-native product catalog normalization platform. Handles identity resolution and unified attribute schemas across heterogeneous catalogs.

Tech: TypeScript, Cloudflare Workers, D1

## Recognition

### 2nd Place: Adobe AI Summit & Hackathon (2025)

An award for a content generation plugin for Adobe DA.live that uses Adobe Commerce catalog data, a multi-agent workflow built on LangChain domain agents, and LLMs to generate AEM-ready product content. Features context-aware generation, real-time WebSocket streaming, batch page updates, and Adobe Firefly integration. This second-place finish at the Adobe AI Summit and Hackathon is the only competitive award, prize, or formal recognition on this record.

## Tools

- Edge & Runtime: Cloudflare Workers, Durable Objects, Cloudflare Workflows, Cloudflare Queues, Edge Computing, Hono, Bun
- AI & Agents: LangChain, LangGraph, LangSmith, Claude, Python, AWS Bedrock, AgentCore, MCP, A2A, Workers AI, Cloudflare Agents SDK, Adobe Agent Orchestrator, Adobe Experience Platform Agent Orchestrator, CX Enterprise Coworker
- Commerce: Adobe Commerce, Magento Commerce, AEM Edge Delivery Services, Agentic Commerce Protocol, Stripe, Medusa
- Data & Backend: Postgres, Prisma, Drizzle ORM, Apache Doris, Redis, Neon, Hyperdrive, libSQL, pgvector, Temporal
- Systems & Infra: Go, Rust, Kubernetes, Helm, Docker, OpenTelemetry, Prometheus, Terraform, Firecracker
- Native & Desktop: C++, JUCE, CMake, Tauri, DSP
- Frontend: JavaScript, TypeScript, React, React Router, TanStack Router, Tailwind CSS

## Contact

- Email: blake.bauman@gmail.com
- https://www.linkedin.com/in/blakebauman
- https://github.com/blakebauman
- https://bsky.app/profile/blakebauman.dev
