
Denis Dmitriev
AI Builder & ITAM Veteran
21 years of data pipelines and compliance engineering — now applied to building with AI, running local LLMs, and shipping AI-assisted software end-to-end.
// about
From IT Asset Management → Building with AI
Twenty-one years engineering data pipelines, compliance reporting, and integration plumbing for enterprise ITAM platforms — Snow, Flexera, IBM QRadar, OpenAI, Power BI. Every project was variations on the same theme: extract messy data, encode domain rules, ship something automated that holds up at audit-grade quality. That instinct turned out to be exactly the foundation modern AI work needs.
Around 2024 I went deep into AI hands-on: built a home GPU cluster running Ollama, ComfyUI, and OpenWebUI on five NVIDIA cards (≈104 GB VRAM). Started using Claude Code CLI as my primary IDE — not as an assistant on the side, but as the way I write software. The portfolio you're reading was built that way. So was the n8n LinkedIn auto-publisher behind dmt-lab.nl. So was a microservices algorithmic-trading platform running 24/7 on dedicated hardware.
What I build now sits at the intersection of two things I already knew how to do well — data pipelines and enterprise integration — and one I learned by stress-testing it: practical AI engineering. Running models locally to understand their failure modes. Using SaaS LLMs cost-efficiently. Writing prompts that hold under production load. Designing AI workflows that don't drift between releases. The same engineering discipline I brought to license compliance, now applied to systems where the data sources are tokens and embeddings.
// projects
AI Projects
Three tracks of AI work. Applied AI — bringing AI vendors into enterprise ITAM systems where they didn't exist before. Built with AI — production software shipped collaboratively with Claude Code as primary IDE. Local AI Lab — hands-on infrastructure to understand model behavior at the metal.
The thread connecting all three: the same data-pipeline and compliance-engineering discipline that defined two decades of ITAM work, now applied to systems where the inputs are tokens, embeddings, and probabilistic outputs.
Client-touching work anonymized for confidentiality. Personal projects fully detailed.
Automated Trading System — Production Claude-Code Microservices, 24/7
Wanted the hardest possible test of AI-assisted development: a 24/7 production system trading real money against a live exchange, with audit trails, risk controls, regime-aware strategies, backtesting, and full operational observability. Not a toy. Not a notebook. Something that has to be right at 3am on a Tuesday when a new strategy ships and BTC takes a 4% leg down. If Claude Code can co-author a system at this scale and stay coherent over hundreds of iterations, the proof transfers to anything else I'd build with it.
Home AI Lab — Local LLM Infrastructure
Wanted to understand AI capabilities and failure modes hands-on, not just by reading benchmarks. Running models on a SaaS API doesn't teach you what happens when the GPU runs out of VRAM mid-inference, when a quantization choice flips a model's reasoning behavior, or when ComfyUI graphs hit a memory wall on multi-pass image generation.
Apartment Tracker — Claude Agents Scoring Slovenian Rental Listings
Our family had to vacate a long-term Ljubljana rental and find a new long-term place in Kranj before the end of June — a hard, school-year-bound deadline. Slovenian rental portals have no usable alerts, no cross-portal dedup, no notion of a personal scoring rubric, and they're scattered across Slovene-language sites. Refreshing nepremicnine.net by hand twice a day doesn't scale, and the family member doing the search reads Russian more comfortably than Slovene.
ChatGPT Enterprise Compliance Connector
An enterprise had deployed ChatGPT broadly — hundreds of users, real daily usage — but their ITAM platform (Snow License Manager) had no native connector to OpenAI. The SAM team couldn't answer basic compliance questions: who's actually using it, who hasn't logged in for months, what should be reclaimed.
n8n LinkedIn Auto-Publisher — AI-Collaboration Build
dmt-lab.nl had 12 substantive technical articles sitting unread because nothing was driving traffic. Manual LinkedIn posting at the cadence needed (Mon/Thu 09:00 for compounding visibility, distinct 24-hour engagement windows per post) would have meant 6-10 hours of upfront work plus ongoing willpower. SaaS schedulers don't integrate with the blog DB, the OG metadata, or my image library.
// skills
Skills & Technologies
Four skill clusters — three about AI, one anchored to the 20+ years of data-pipeline and integration work that makes them usable in practice.
LLM Engineering
Building with frontier and local models — knowing where each one fits
- Claude API / Anthropic SDKPrompt design, tool use, context engineering
- Claude CLI as runtime agentShell-out via Max-OAuth session, JSON-schema outputs, daily budget caps
- OpenAI APICompliance API, GPT integration patterns
- OllamaLocal model inference across multiple GPUs
- ComfyUIImage-generation pipelines, custom node graphs
- OpenWebUIInterface layer for local LLM stacks
AI-Assisted Development
Software written with AI as primary collaborator, not autocomplete
- Claude Code CLIPrimary IDE for Next.js, Python, Node.js, n8n
- Agent orchestrationMulti-step coding loops, planning, code review
- Spec-driven devSource-of-truth docs that drive code, content, copy
- Plan-first disciplineMandatory plan-mode + plans committed to git for audit (287 plans in ATS alone)
- Self-maintaining docsAgent-authored knowledge base with MD5-drift detection rebuilding stale articles
- Test-driven AI workflowsBacktesting + locking behavior with tests before extending
AI Workflow Automation
Self-hosted automation pipelines for content, data, and integrations
- n8nOAuth, cron, retries, PostgreSQL-backed queues
- LinkedIn Posts APIMulti-step image upload, escape rules, comments
- PostgreSQL queue designStatus state machines, position ordering
- Docker on shared infraNPM, Cloudflare, shared external networks
- Production web scrapingMulti-source adapter pattern, Cloudflare bypass via residential mesh, ELT raw-HTML re-parse layer
- Telegram Bot APIBot supergroup alerts, photo captions, dedup
- Local systemd timers for Claude jobsDeferred + recurring claude --print jobs that survive reboots, inherit full env (DB, MCP, repo)
Foundations (anchored to 20+ years of ITAM)
The data engineering discipline that makes AI usable in enterprise
- Pythonpandas, sqlalchemy, FastAPI — same toolkit, new domain
- SQL Server / PostgreSQLT-SQL, stored procedures, schema design (42 tables / 134 migrations in ATS)
- Data pipelines & ETLAPI → transform → import, retry & fallback patterns
- Linux / Docker / ProxmoxMulti-node home lab, GPU passthrough, networking
- REST API integrationOAuth, pagination, rate-limit handling
- ITAM backgroundSnow, Flexera, Power BI — see dmt-lab.nl for that track
// blog
Blog / Articles
Build-story write-ups from the AI projects — Claude Code workflows, local LLM lessons, and AI-meets-ITAM integration patterns.
The Flagship — A Production Trading System as the Proof That Agentic AI-Human Collaboration Scales
Hybrid Python + Node.js microservices, 11 strategies, 42 DB tables, 134 migrations, 287 committed plans, 151 agent-authored knowledge-base articles, 11 specialized agents, 16 slash-commands, all coordinated through Claude Code. What discipline AI-collaboration at production scale actually requires.
Two Claude Agents Inside a Production Scraper — Building a Family Apartment Tracker
A real-deadline family apartment search, automated end-to-end: TypeScript scraper, Postgres ELT, multi-source adapters, two Claude CLI agents in production, Russian-language Telegram alerts. Notes on agents-at-runtime vs. agents-in-the-IDE.