Skip to content

Open source

Things I built because I needed them

Mostly .NET and Dataverse tooling. One of these has been downloaded 4.6 million times, which still surprises me. The open source is on GitHub. The Spotler Connector is a commercial product rather than a repo, and is marked as such.

Flowline CLI

Dataverse ALM CLI. Structured workflow, git-tracked solutions, fast push to DEV.

Dataverse ALM is mostly undocumented local habit. Everyone has their own export script, their own folder layout, and their own idea of what “the solution is in git” actually means. Mine was a text file of commands I pasted from, and it had been quietly running my ALM for three years.

Flowline CLI is that text file turned into a tool: solutions tracked in git the way code is, a push to DEV that takes one command, and a workflow that survives being handed to someone else.

Flowline sync running in a terminal: prerequisite checks, a version bump, then a tree of what changed in the solution across entities, plugin steps, web resources and workflows.
New C# On GitHub →

OpenTelemetry for Dataverse

ServiceClient instrumentation for OpenTelemetry .NET.

The Dataverse client is a black box. You cannot see how many calls your plugin actually made, which one was slow, or what got retried on the way. So people guess, or wrap the thing in stopwatch code and guess with numbers.

This makes those calls show up as spans in whatever tracing tool the team already runs. No new dashboard, no separate tool to learn. The calls just appear next to everything else the request did.

A trace waterfall for a contact sync, showing each nested Dataverse and service call with its own duration, from 168 ms at the top down to microseconds.

Money as a first-class citizen in .NET. Currencies and formatting handled properly, so you stop passing decimals around and hoping.

4.6M downloads C# On GitHub →

Two-way integration between Spotler and Dynamics 365, Dataverse and Power Apps. Build with a messaging architecture using NServiceBus.

In production since 2020 C# See the product →

Earns Its Keep

Every Sunday, one post on Dataverse, .NET, and whether the tools we rely on still deserve to be there.