Aleksander Cynarski
Platform & DevOps engineer — I turn processes into code, then let agents run them.
Gliwice, PL · DevOps Expert @ PKO Bank Polski · GitLab since 2022

🧭 What I do
I build internal developer platforms in a heavily regulated environment — self-hosted GitLab, OpenShift, ArgoCD, Terraform/OpenTofu — and I keep pushing the same idea everywhere: if it is a process, it can be a repository. Pipelines, forms, policies, agent behaviour, documentation, even the catalog of tools you are allowed to use. Most of my public work orbits three things:
⚙️ GitLab CI/CD as a product — reusable process pipelines, job contracts, policy-as-code, local pipeline execution.🤖 Agents with an actual contract — LLM agents whose behaviour comes from versioned packages, not from prompts buried in code.🧑💻 Developer experience — if a platform needs a manual, it needs a better UI first.
"You won't lose your job to AI, you'll lose your job to somebody who uses AI."
🗺️ The map
flowchart LR
ME(("automancer"))
subgraph CI["CI/CD as a product"]
GLCI["glci — local GitLab CI, Go"]
SKILLS["gitlab-skills — APM package"]
MRGEN["cookiecutter-mr-generator"]
end
subgraph AGENTS["Agentic engineering"]
CODEMOD["agentic-codemod-pipeline"]
ORWIL["orwil — offline voice assistant"]
MEMVID["memvid — local RAG"]
end
subgraph DX["Developer experience"]
MONAD["Wintermute — JSON forms to pipelines"]
ARRAKIS["Arrakis — repo architecture graph"]
VLTED["vlted — Vault CLI"]
end
subgraph LAB["Lab and hardware"]
ESP["esp32 e-ink + gesture"]
BOX["moadib, mssql — test containers"]
end
subgraph WRITE["Writing"]
BLOG["cynar.ski"]
EIAC["eiac.dev"]
end
ME --> CI
ME --> AGENTS
ME --> DX
ME --> LAB
ME --> WRITE🛠️ Stack
Languages
Platform & delivery
Security & quality
AI / agents

🚀 Selected work
1. glci — GitLab CI, run locally
gitlab.com/paramah/glci ·
glci parses .gitlab-ci.yml, spins up a mock GitLab API and a containerized runner, and executes jobs locally with full runner fidelity. I contributed first-class Podman support — an engine abstraction ([docker] engine = "podman"), socket and connection resolution, glci doctor checks, DinD behaviour and the docs — merged upstream into GitLab's official repository as !141 (labels: 1st contribution, Community contribution).
2. Wintermute — pipelines behind a form
automancer/monad ·
A client app that turns GitLab repositories into runnable processes. Forms are generated at runtime from JSON files in the repo (
.platform/form/), with dynamic fields fed by GitLab REST/GraphQL or any external API, field dependencies, DTO mappers, automatic GraphQL pagination and cross-repository pipeline triggers. Runtime-swappable configuration, hash routing, deep links, Radix UI, dark mode — Clean Architecture end to end.
3. Arrakis — see the architecture you actually have
automancer/arrakis ·
Browser-only visualization of GitLab repository architecture: dependency graph, health scoring, security scan and code preview. OAuth Authorization Code + PKCE with no backend, batched GraphQL file fetching with a REST fallback, tree-sitter/acorn parsers, and layer boundaries enforced by
dependency-cruiser.
4. agentic-codemod-pipeline — agents with a contract
automancer/tests/agentic-codemod-pipeline ·
A reference repo for an agent network that modifies code, driven from GitLab CI. Scout → planner → coder → reviewer → scribe, with behaviour supplied by APM packages (
.apm/agents, skills, instructions, prompts, context) rather than hardcoded prompts — apm-policy.yml constrains what may be installed, apm.lock.yaml pins it. Deterministic steps (ecosystem detection, version bump, tests, git) stay in code; the model only gets what code cannot do. Runs fully offline for demos and tests.
5. gitlab-ci-pipelines — teaching agents our CI
automancer/process/gitlab-skills ·
An APM package that teaches AI coding agents how to author, debug and optimize GitLab CI/CD — combining GitLab's own MIT-licensed CI skill with my layered process architecture: a reusable
common/ + technology/ pipeline, job contracts composed via !reference, snapshot/release workflow typing, and policy validation with OPA Rego, conftest and shellcheck.
6. orwil — a voice assistant that never phones home
automancer/orwil ·
Fully offline assistant: Whisper for speech recognition, Ollama for conversation, four interchangeable TTS engines (SpeechT5, MMS, Piper, Coqui with voice cloning), first-class Polish support and Apple Silicon (MPS) optimization. Rewritten in 3.0 around Clean Architecture.
📦 The rest of the workshop
Everything below lives under the automancer group — my public lab for platform building blocks.
| Project | What it is | Stack |
|---|---|---|
| vlted | CLI for HashiCorp Vault KV v1/v2 — edit secrets with automatic backup and confirmation before write | Python |
| moadib | ADFS mock in Go — always authenticates. OAuth2/OIDC, WS-Federation, discovery + JWKS with real RSA-signed tokens | Go |
| mssql | SQL Server 2022 CI container that bootstraps database and user on start, Postgres-image style | Docker |
| cookiecutter-mr-generator | GitLab CI component that renders a cookiecutter template and opens the merge request in a target repo | GitLab CI |
| playwright-smoketests | Cookiecutter template generating a self-contained Playwright smoke-test project, CI-agnostic by design | TypeScript |
| memvid | Local CLI knowledge base — memvid .mv2 store + LM Studio for embeddings and chat, zero cloud |
Python |
| esp32-einkdashboard | E-paper IoT dashboard: REST widgets, rotating dashboards, MQTT logging, WireGuard, HTTP control API | ESP32 |
| esp32-handsensor | Gesture recognition on PAJ7620U2 with webhooks, MQTT and WireGuard for secure IoT links | ESP32 |
✍️ Writing
cynar.ski 🧪
Developer
☣️ DevOps☣️ Freak — my brain is my enemy, enjoy the ride. My personal tech blog (Polish, Hugo, dark by default). Hands-on notes from the lab:
- Serwer ACME lokalnie w labie — homelab PKI
- Zabawa gopass i procesami — secrets, git, GPG
- Testowanie skryptów powłoki — Bats and shell QA
- Shell w procesach CI/CD — error handling that survives production
- Migracja na Hyprland — desktop as configuration
- IoT, czyli prosta elektronika for fun — ESP32 tinkering
eiac.dev 📐
Everything Is A Code — when everything becomes code. A publication and a catalog about running infrastructure, applications, design and the whole SDLC from code. Six pillars, 100+ curated tools:
Infrastructure·Applications·Design·SDLC·Security·Observability. Recent pieces:
- Platform engineering: normalizacja pracy w organizacji
- Pamięć agenta jako fakt — nine providers, one class of mistake
- Architektura czasoprzestrzenna: system jako jeden graf
- Pipeline bez sekretów: SPIFFE zamiast hasła w CI
📊 Snapshot
| Platform / DevOps engineering for a bank — GitLab, OpenShift, ArgoCD, Terraform, under DORA / GDPR constraints | |
| 15+ in automancer plus personal projects | |
Podman engine support merged into GitLab's glci (!141) |
|
| agent networks with versioned contracts, policy-as-code, contract testing, local-first LLM tooling | |
gitlab-org/ci-cd/runner-tools/glci, gitlab-org/api/client-go |
|
Keyoxide via gitlab_proof |
Let's talk platforms. → cynar.ski · eiac.dev · LinkedIn Everything is a code — including this page.
Personal projects
View allAbout
“You won’t lose your job to AI, you’ll lose your job to somebody who uses AI.” Jensen Huang, CEO of Nvidia