Skip to content

Sofia · Bulgaria

EET · UTC+2

Independent solution architect and developer

I draw the architecture,
then I build it.

Dynamics 365 CRM on Dataverse, ERP on Finance & Operations, and the Azure fabric that carries messages between them. I make the decisions that get expensive later — the data model, the integration pattern, the environment strategy — then write the code that has to live with them.

Dynamics 365 CE · Finance & Operations · Business Central · Azure

End-to-end transactionone write, five hops, one correlation idDataverseAzureFinance & Operations
AccountUpdate · SdkMessage332 ms
PreValidationValidateVatNumber12 ms
PostOperationRaiseBusinessEvent16 ms
Service Bustopic crm.account.v28 ms
FunctionAccountSyncHandler266 ms
Key Vaulttoken · managed identity19 ms
F&O ODataCustCustomerV3 · PATCH212 ms
App Insightsdependency recorded14 ms

A reference flow, not a benchmark. The point is that every hop is named, timed and owned by one person.

What I build

Three planes, one estate

Most Dynamics problems live in the seams between these. I work across all three rather than throwing a specification over the wall between them.

Dynamics 365 CE

Dataverse · model-driven apps

  • Plugins, custom APIs and workflow activities in C#, registered on the pipeline stage the logic actually belongs to
  • PCF controls and model-driven customisation in TypeScript, where the stock control is genuinely the wrong tool
  • Dataverse modelling: relationships, alternate keys, rollups, and a security model that still holds at row level
  • Power Automate where a flow is honest about the job, code where a flow would become forty steps of workarounds

Dynamics 365 ERP

Finance & Operations · Business Central

  • X++ extensions, data entities and the OData surface integrations will actually bind to
  • AL extensions, API pages and event subscribers in Business Central
  • Dual-write and virtual tables between CE and F&O, configured with a view on what happens when one side is down
  • Number sequences, posting logic and batch jobs — the parts that get audited rather than demoed

Azure

the fabric between everything

  • Functions, Service Bus, Logic Apps and API Management carrying traffic between Dynamics and the rest of the estate
  • Bicep or Terraform for anything that has to exist more than once, which is everything
  • Managed identity and Key Vault instead of connection strings pasted into app settings
  • Application Insights end to end, so a failed sync is a query rather than a support call

Architecture

Choosing the integration, not defaulting to it

Almost every Dynamics integration is one of five shapes. Picking the wrong one is the decision that gets expensive later, so this is where the design time goes.

  • Event-driven

    business event → Service Bus → Function

    Reach for it when

    Volumes spike, the receiving system is slow or occasionally offline, and the business can live with a few seconds of lag.

    Leave it alone when

    Someone is at the form, waiting to see the answer before they save.

  • Synchronous call-out

    plug-in, pre-operation

    Reach for it when

    The record must not be saved unless the other system agrees to it first.

    Leave it alone when

    The remote call can outlive the two-minute sandbox limit, or its uptime is not yours to promise.

  • Dual-write

    CE ⇄ F&O, platform-managed

    Reach for it when

    Both sides must share customers, products and addresses as one master, and the standard maps fit the model.

    Leave it alone when

    The mapping needs logic, or you only ever need to read the other side.

  • Virtual tables

    Dataverse over an external provider

    Reach for it when

    The data must be visible and searchable inside Dynamics but has to stay in its source system.

    Leave it alone when

    Users need to filter, sort or roll it up at Dataverse scale.

  • Scheduled batch

    Data Factory · Synapse Link

    Reach for it when

    Millions of rows move on a schedule and nobody is watching them land.

    Leave it alone when

    The business needs the change reflected within the hour.

Positions I hold before the first workshop

  • Configuration before code. Code before a third-party product.
  • Every integration needs a replay path. A message that fails at 02:00 has to be re-drivable at 09:00 without a developer.
  • Environment and solution strategy is architecture, not something to sort out in the last sprint.
  • If it is not in source control, it does not exist.
  • Name the thing that will break first, in writing, in week one.

Practice

How the work actually runs

A Dynamics implementation is judged on its second year, not its go-live. These are the habits that decide which one you get.

Source control
Solutions unpacked with the Power Platform CLI and committed as source, segmented so two people can work the same week without overwriting each other.
Pipelines
Azure DevOps or GitHub Actions builds the managed solution once, then promotes that same artefact through every environment. Nothing is rebuilt per stage.
Testing
Plugin logic unit-tested with FakeXrmEasy, plus a smoke test that runs against the target environment immediately after each deployment.
Telemetry
Application Insights wired through plugins, functions and flows carrying one correlation id, so a failure has a trace instead of a theory.
Handover
Everything lands in your tenant, your repositories and your pipelines, documented as the work happens. If I stop tomorrow, nothing stops.
Promotion pathOne artefact, built once, moved forward.

DEV

unmanaged

BUILD

pack & sign

TEST

managed

UAT

managed

PROD

managed

Stack

Surface area

What I work in day to day, grouped the way a solution is.

Dataverse & customer engagement

  • C# plugins
  • Custom API
  • PCF · TypeScript
  • Dataverse Web API
  • FetchXML
  • Power Automate
  • Model-driven apps
  • Canvas apps
  • Power Fx
  • Security roles

Finance & Operations, Business Central

  • X++
  • Data entities
  • Business events
  • F&O OData
  • AL
  • API pages
  • Dual-write
  • Batch framework

Azure

  • Functions
  • Service Bus
  • Logic Apps
  • API Management
  • Key Vault
  • Managed identity
  • Application Insights
  • Data Factory
  • Synapse Link
  • Entra ID
  • Storage

Engineering

  • .NET · C#
  • TypeScript
  • SQL
  • KQL
  • Bicep
  • Terraform
  • Azure DevOps
  • GitHub Actions
  • Power Platform CLI
  • Git

Working together

Four ways this usually starts

Architecture review

A fixed-scope read of what already exists — the data model, the integrations, the ALM and the licensing — and a written answer to what will break first and what it costs to fix.

Design and build

From the model on the whiteboard through to the deployment pipeline. Both halves by the same person, which is the entire point of hiring one.

Subcontract to a partner

I take the technical stream of your Dynamics programme under your delivery lead, as a named engineer rather than a logo on a bench.

Escalation

Something is slow, failing or unexplained, and it needs someone who will read the trace rather than the ticket.

Contact

Tell me what you are building.

A useful first message is short: what the system has to do, what already exists, and when it has to be live. If it is not work I should take on, I will say so and point you somewhere better.

Based in
Sofia, BulgariaEET · UTC+2
Working in the Microsoft stack
7 yearssince 2019

Credentials

26 in total

Microsoft certifications

Expert
  • PL-600Power Platform Solution Architect
Associate
  • PL-400Power Platform Developer
  • PL-200Power Platform Functional Consultant
  • PL-100Power Platform App Maker
  • MB-280Dynamics 365 Customer Experience Analyst
  • MB-230Dynamics 365 Customer Service Functional Consultant
AI business
  • AB-730AI Business Professional
  • AB-731AI Transformation Leader
Fundamentals
  • PL-900Power Platform
  • MB-910Dynamics 365 (CRM)
  • MB-920Dynamics 365 (ERP)
  • AZ-900Azure
  • AI-900Azure AI
  • DP-900Azure Data
  • MS-900Microsoft 365
  • SC-900Security, Compliance and Identity

LinkedIn certificates

issued with Microsoft

  • Career Essentials in Business Analysis
  • Career Essentials in Cybersecurity
  • Career Essentials in Generative AI
  • Career Essentials in Software Development
  • Career Essentials in System Administration
  • Career Essentials in Sustainable Tech
  • Microsoft Security Essentials Professional Certificate
  • Microsoft Azure AI Essentials Professional Certificate
  • Build Your Generative AI Productivity Skills
  • Microsoft Copilot for Productivity