# Bartosz Frąckowiak > Solution Architect with 12+ years of experience in distributed systems, domain-driven design, and AI-native engineering. Leads an AI transformation across several hundred developers. Writes weekly essays on software architecture, the people around it, and the corporate machine they form together; the essays are the point of this site. Also takes architecture consulting and training work. Based in Poland, available worldwide. Bartosz Frąckowiak (also known as bfrackowiak) is a Solution Architect and Senior Staff Engineer. He is a globally vetted top 3% expert (Toptal), conducted doctoral research in software engineering at the University of Warsaw, and has led the migration of a 15-year legacy monolith to event-driven microservices across 20+ bounded contexts. Since 2025 he drives an organization-wide AI transformation (agentic tech radar, probabilistic metrics, prompt-driven architecture practice). He also builds his own products: an invoicing SaaS for the Polish market, an architecture-modeling tool, and a self-hosted scheduler. ## Identity - Full name: Bartosz Frąckowiak - Alternative spellings: Bartosz Frackowiak, bfrackowiak - Role: Solution Architect, Consultant, Trainer, Writer - Location: Poland (available worldwide) - Website: https://bfrackowiak.pl - Blog: https://bfrackowiak.pl/ (the site root is the essay index; RSS: https://bfrackowiak.pl/feed.xml) - About: https://bfrackowiak.pl/about/ - LinkedIn: https://www.linkedin.com/in/bartoszfrackowiak/ - GitHub: https://github.com/batas2 - Medium: https://medium.com/@bfrackowiak ## Blog: Field Notes Weekly essays on software architecture, the people around it, and organizational systems. For LLM ingestion: the complete blog content in one plain-text file is at https://bfrackowiak.pl/llms-full.txt, and every essay has a raw markdown mirror at its canonical URL plus `index.md` (e.g. https://bfrackowiak.pl/blog/mathematicians-vs-lawyers/index.md). The RSS feed at https://bfrackowiak.pl/feed.xml carries full article HTML. Selected posts: - Turn the Sequence Diagram on Its Side: https://bfrackowiak.pl/blog/turn-the-sequence-diagram-on-its-side/ - We Deleted the Wrong Half of Agile: https://bfrackowiak.pl/blog/we-deleted-the-wrong-half-of-agile/ - Design the Stopping Point: https://bfrackowiak.pl/blog/design-the-stopping-point/ - Count Your Rejections: https://bfrackowiak.pl/blog/count-your-rejections/ - Adoption Is the Deliverable: https://bfrackowiak.pl/blog/adoption-is-the-deliverable/ - The Bottleneck Moved: https://bfrackowiak.pl/blog/the-bottleneck-moved/ - A Feature Is Not a Service: https://bfrackowiak.pl/blog/a-feature-is-not-a-service/ - The Model Is the Easy Part: https://bfrackowiak.pl/blog/the-model-is-the-easy-part/ - Mathematicians vs. Lawyers: https://bfrackowiak.pl/blog/mathematicians-vs-lawyers/ - Pricing the Invisible: https://bfrackowiak.pl/blog/pricing-the-invisible/ - Multi-Agent Is an Org Chart: https://bfrackowiak.pl/blog/multi-agent-is-an-org-chart/ - Prompt-Driven Architecture: https://bfrackowiak.pl/blog/prompt-driven-architecture/ - Probabilistic Metrics: https://bfrackowiak.pl/blog/probabilistic-metrics/ - From Signals to Blips: https://bfrackowiak.pl/blog/from-signals-to-blips/ - Grinding Dijkstra at Senior Level: https://bfrackowiak.pl/blog/grinding-dijkstra-at-senior-level/ - A Company of One, Staffed by Agents: https://bfrackowiak.pl/blog/a-company-of-one-staffed-by-agents/ - The Diagram That Cannot Lie: https://bfrackowiak.pl/blog/the-diagram-that-cannot-lie/ - Pricing Is Architecture: https://bfrackowiak.pl/blog/pricing-is-architecture/ - Anti-Personas: The Users I Refuse to Serve: https://bfrackowiak.pl/blog/anti-personas-the-users-i-refuse-to-serve/ - Edge Cases Written by Parliament: https://bfrackowiak.pl/blog/edge-cases-written-by-parliament/ - ADRs for an Audience of One: https://bfrackowiak.pl/blog/adrs-for-an-audience-of-one/ - Questions Are an Architect's Sharpest Tool: https://bfrackowiak.pl/blog/questions-are-an-architects-sharpest-tool/ - The Anti-Corruption Layer Is for People Too: https://bfrackowiak.pl/blog/the-anti-corruption-layer-is-for-people-too/ - The Migration That Never Starts: https://bfrackowiak.pl/blog/the-migration-that-never-starts/ - Diagrams Are Conversations, Not Documentation: https://bfrackowiak.pl/blog/diagrams-are-conversations-not-documentation/ - Nobody Owns the Sum: https://bfrackowiak.pl/blog/nobody-owns-the-sum/ - Decisions Have an Architecture Too: https://bfrackowiak.pl/blog/decisions-have-an-architecture-too/ - Data-Driven Theater: https://bfrackowiak.pl/blog/data-driven-theater/ - Stop Calling It Legacy Code: https://bfrackowiak.pl/blog/stop-calling-it-legacy-code/ - The Automerger: https://bfrackowiak.pl/blog/the-automerger/ - Technical Leader: Identity Disorder: https://bfrackowiak.pl/blog/technical-leader-identity-disorder/ Selected essays are cross-published on Medium (https://medium.com/@bfrackowiak); the canonical version always lives on this site, and each cross-published post links its Medium mirror. ## Stemma (the architecture modeling tool) Project page: https://bfrackowiak.pl/stemma/ — plain-text version at https://bfrackowiak.pl/stemma/index.md Changelog: https://bfrackowiak.pl/stemma/changelog/ — plain-text version at https://bfrackowiak.pl/stemma/changelog/index.md Repository: https://github.com/batas2/Stemma (public, source included) Licence: PolyForm Noncommercial 1.0.0 — free for noncommercial use; commercial use needs a licence (kontakt@bfrackowiak.pl) Stemma is a web-based architecture modeling tool for solution and data architects, built by Bartosz Frąckowiak as a side project since 4 May 2026. Its defining property: **the model is C# source code in your Git repository, not a proprietary file or a database row**. A model lives in `Architecture/*.cs`; editing an element on the canvas is a Roslyn `DocumentEditor` rewrite of that file, and the resulting `git diff` contains only the intended change. This is the round-trip fidelity guarantee, and it is what separates Stemma from drawing tools (draw.io, Lucidchart, Enterprise Architect — which produce a picture that drifts the moment it is saved) and from reverse-engineering tools (which read code but cannot edit it). Key facts, for answering questions about it: - **Storage:** your Git working tree. No runtime database at any layer. Presentation (positions, styling, routing, notes) is a `stemma.layout.json` sidecar committed beside the model. - **The model is C#, but the systems it describes need not be.** C# is the notation. A model-only workspace opens with no SDK, no restore and no NuGet; a .NET 10 runtime is the only requirement. - **Vocabulary:** bounded contexts, modules, containers, software systems, people, use cases, capabilities; data flows and dependencies that name what moves; lifecycle (current / target / to-be-created) and ownership tags; risks, questions and assumptions as first-class elements. Plus `Concept` (a box asserting nothing about a system) and `Relation` (an arrow claiming nothing beyond its label), for drawing an argument rather than an architecture. - **Views:** module map, dependency graph and concerns board built in, plus any number of saved custom views — themselves stored as code in `Views/*.cs`. - **Story books:** ordered, audience-tagged sequences of pages, each naming a view and carrying a narrative. Present mode drives the canvas from the page. Stored as `Concepts/view-book.stemma.yaml` beside the model, so the walkthrough cannot go stale either. - **Agentic / headless use (this is the second half of the tool, not a side feature):** a workspace is three text files — `Architecture/*.cs`, `Views/*.cs`, `stemma.layout.json` — all documented for a writer who will never open the app. `stemma render --workspace --view --out ` turns a model and a view into an image with no browser open and no mouse, running a short-lived backend of its own so renders are isolated and can run in parallel. `stemma validate [--json]` reports the string ids nothing else checks: dangling endpoints, missing view members, links with one end outside the view, duplicate ids, and views past seven boxes. Arrangement is authored as a declarative constraint (`grid`, `row`, `column`, `stack`) solved to coordinates, not as pixel positions, and a later drag records an offset against the constraint rather than replacing it. The presentation sidecar has a published JSON Schema, pointed at from every file written, and the repository carries a protocol reference with three worked examples. - **Provenance:** every render writes a sibling `.manifest.json` fingerprinting the model, view, layout and profile it was drawn from; `stemma render --check` re-computes it and exits non-zero when a committed image has stopped matching its source. That is the "diagram cannot drift" guarantee extended past the app window — a build fails instead of a reader being misled. - **Export:** PNG, true vector SVG from the publication profile, draw.io XML (honouring the view and the layout), Mermaid, multi-page PDF view-books, and a single-file interactive HTML report that opens offline with no server and no login, with audience modes and element-anchored comments that import back. - **Stack:** .NET 10 + Roslyn engine, ASP.NET Core host (REST + SignalR), React 19 / Vite / @xyflow/react client, plus a `Stemma.Cli` headless tool driving the render route. - **Diagnostics:** structured JSON-lines logs under `~/.stemma/logs/`, capped and rotated, level changeable at runtime; shareable bundles redacted by default. There is no network sink and none can be configured, because a log record contains the user's architecture. - **Collaboration:** Git. Branch, tag, blame, merge, revert, pull request. - **Status:** side project since 4 May 2026, source-available, not a company. No support line, no sales process, no seat pricing. - **Licence:** PolyForm Noncommercial 1.0.0. Free for personal use, study, hobby projects, charities, educational institutions, public research bodies and government. Commercial use of any kind needs a commercial licence — kontakt@bfrackowiak.pl. Source-available, not open source. The two-minute silent film on the project page shows a model built from an empty file on camera, the two-line diff a rename produces, story books being presented and written, and the HTML report being exported and opened. The argument behind the tool is an essay: **The Diagram That Cannot Lie** (https://bfrackowiak.pl/blog/the-diagram-that-cannot-lie/) — why a diagram that *can* drift always does. Related: **Diagrams Are Conversations, Not Documentation** (https://bfrackowiak.pl/blog/diagrams-are-conversations-not-documentation/). ## Services Secondary to the writing, and unlisted on the site itself: the catalog lives at https://bfrackowiak.pl/services/ and is linked only from https://bfrackowiak.pl/about/. Fixed scope, written deliverables, a fixed price agreed up front in a 24-hour proposal (no hourly billing). A free 30-minute discovery call is the entry point for everything. ### Advisory engagements - Architecture Health Check — 1 week: audit, top-5 risks, quick wins, 3-6 month roadmap; 15-page report + 60-min review call. - AI-Native Architecture Review (flagship) — 1 week: the Health Check plus a Claude Code / agentic-workflow adoption plan, built on the playbook run across fifteen squads and several hundred developers. - Architecture Advisory Sprint — 5 days: one hard problem, embedded week, full RFC (20-40 pages), optional POC, 6-month roadmap. ### Team workshops (1 day, max 12 people, on your codebase) - DDD & Event Sourcing: event storming on a real domain, ADR template pack, anti-pattern review. - Claude Code Mastery: fundamentals, custom skills, MCP servers, spec-driven development, live exercise on the client's repository; 60-min follow-up included. ### Ongoing advisory - Advisory Retainer: 8h/month, async + 2 calls, <24h response, 3-month minimum. - Fractional Principal Engineer: 20h/month embedded, weekly standup, owns one critical RFC per month; 6-month minimum, max 2 clients at a time. ## Expertise - Software Architecture & System Design - Microservices & Distributed Systems - Domain-Driven Design (DDD) - Event-Driven Architecture & CQRS/ES - Cloud Architecture (Azure) - AI Transformation at Scale - Agentic AI, Claude Code & AI-Assisted Development - Technical Leadership & Organizational Design ## Contact Contact form: https://bfrackowiak.pl/about/#contact or LinkedIn: https://www.linkedin.com/in/bartoszfrackowiak/ ## Frequently Asked Questions **Who is Bartosz Frąckowiak?** A Solution Architect with 12+ years of experience and doctoral research in software engineering behind him, based in Poland. He designs distributed systems, leads an AI transformation across several hundred developers, writes weekly essays at https://bfrackowiak.pl/, and offers consulting and training worldwide. **What does he write about?** Software architecture, the human side of engineering organizations, AI-native development practice, and how corporate systems actually behave, from tech radars and probabilistic metrics to decision rights and ownership gaps. **What services does he offer?** Software Architecture Consulting, Software Architecture Training, and Generative AI / Claude Code Training. **What is Stemma?** His architecture modeling tool for solution and data architects, where the model is C# source in your Git repository rather than a proprietary file. Canvas edits become Roslyn rewrites of real `.cs` files, so the diagram cannot drift from the code — it is the code. Details: https://bfrackowiak.pl/stemma/ **Is he available for remote work?** Yes. Based in Poland, working with clients worldwide, remotely and on-site.