Senior Engineering Technologist | Reactive Programming Specialist | Open Source Contributor
Building reactive, real-time C# solutions with SignalR, MQTT, and industrial PLC integrations
- ποΈ Microsoft MVP in Developer Technologies
- ποΈ .NET Foundation Committee Member
- π OpenUK Honours List Recognition 2025
- πΌ Senior Technologist at AIC Solutions Ltd
- π§ Specializing in Reactive Extensions (Rx) for .NET
- π Industrial automation & PLC communication expert
- π Based in Reading, England
I'm passionate about creating elegant, testable, and reactive solutions for industrial and enterprise applications.
My work focuses on bridging the gap between industrial control systems and modern software architecture using Reactive Extensions.
To learn more about Reactive Extensions read the following online book Introduction To Rx.
|
ReactiveUI Owner / Core Team Member |
Reactive Marbles Owner / Core Team Member |
.NET Foundation Projects Committee Member |
Advanced MVVM framework for .NET - Contributor & Maintainer
| Repository | Description | Stats |
|---|---|---|
| ReactiveUI | Functional reactive MVVM framework for all .NET platforms | |
| ReactiveUI.SourceGenerators | Functional reactive MVVM framework for all .NET platforms | |
| Refit | Automatic type-safe REST library for .NET | |
| Akavache | Async, persistent key-value store | |
| Splat | Cross-platform utilities & service location | |
| ReactiveUI.Validation | Validation helpers for ReactiveUI apps | |
| Fusillade | Opinionated HTTP library for mobile | |
| Sextant | ReactiveUI navigation library | |
| Extensions | Functional reactive MVVM framework for all .NET platforms |
Incubator for Reactive Extensions projects with UI focus - Contributor & Maintainer*
| Repository | Description | Stats |
|---|---|---|
| DynamicData | Reactive collections based on Rx.Net | |
| CrissCross | Navigation framework for ReactiveUI | |
| ObservableEvents | Source generator for events to observables | |
| PropertyChanged | Lightweight property changed framework | |
| CacheDatabase | Akavache reimplementation using SQLite | |
| Extensions.Hosting | Microsoft.Extensions.Hosting for desktop apps | |
| Mvvm | Lightweight MVVM abstractions |
Reactive wrappers for industrial communication protocols
| Repository | Description | Stats | NuGet Version | Downloads |
|---|---|---|---|---|
| S7PlcRx | Siemens S7 PLC communication | |||
| ABPlcRx | Allen Bradley PLC communication | |||
| ModbusRx | Modbus protocol reactive wrapper | |||
| TwinCATRx | Beckhoff TwinCAT communication | |||
| MitsubishiRx | Mitsubishi PLC communication | |||
| OmronPlcRx | Omron PLC communication | |||
| SerialPortRx | Reactive serial port communication |
π‘ MQTTnet.Rx Libraries
Reactive MQTTnet client extensions
π View All Packages
| Package | Stats | NuGet Version | Downloads |
|---|---|---|---|
| MQTTnet.Rx.Client | |||
| MQTTnet.Rx.ABPlc | |||
| MQTTnet.Rx.Modbus | |||
| MQTTnet.Rx.S7Plc | |||
| MQTTnet.Rx.SerialPort | |||
| MQTTnet.Rx.TwinCAT |
| Repository | Description | Stats | Nuget Version | NuGet Downloads |
|---|---|---|---|---|
| Spectre.Console.Rx | Reactive extensions for Spectre.Console | |||
| XamlLEDControl | LED control for XAML applications | |||
| XamlConverters | Collection of XAML value converters | |||
| Localisation.WPF | WPF localization library | |||
| AppBarButton.WPF | AppBar buttons for WPF | |||
| BBCode.WPF | BBCode parser for WPF | |||
| AnimationRx | Reactive animations | |||
| HashTableRx | Reactive hash table implementation | |||
| ReactiveList | Reactive list implementation |
| Repository | Description | Stats | Nuget Version | NuGet Downloads |
|---|---|---|---|---|
| ServiceInstaller | Windows service installer | |||
| CP.Nuke.BuildTools | Nuke build tools collection | |||
| VS.Squirrel | Visual Studio Squirrel addin | Local Download | ||
| Velopack.UI | UI for Clowd.Squirrel | Local Download | ||
| Auto.Squirrel | Squirrel.Windows Package Manager | Local Download |
π CP.Extensions.Hosting Suite
Extension of Microsoft.Extensions.Hosting for desktop applications
π View All Packages
π CrissCross Navigation Framework
Multi-platform navigation framework for ReactiveUI
π View All Packages
I'm always interested in discussing reactive programming, industrial automation, or .NET development!






