Lead maintainer of ReactiveUI Β· Reactive programming for .NET Β· Melbourne, Australia π¦πΊ
- ποΈ Microsoft MVP in Developer Technologies
- ποΈ Former .NET Foundation Board Member (until Feb 2026)
- β‘ Lead maintainer of the ReactiveUI project
- π Co-maintainer of Reactive Marbles β an incubator for Rx-focused libraries
- π¦ Author and maintainer of .NET libraries with 200M+ combined downloads on NuGet
- π Based in Melbourne, Australia
I work on functional reactive programming for .NET β making MVVM, async data, and cross-platform UI feel less like fighting the framework and more like composing observable streams. Lately I've also been building developer tooling for release notes, NuGet, and source-level documentation generation.
|
ReactiveUI Lead Maintainer |
Reactive Marbles Co-Maintainer |
Stars and download counts are live shields and update automatically.
| Repository | Description | Stars | Latest | Downloads |
|---|---|---|---|---|
| refit | Type-safe REST library for .NET, inspired by Retrofit | |||
| ReactiveUI | Functional reactive MVVM for every .NET platform | |||
| Splat | Cross-platform utilities and service location | |||
| Akavache | Async, persistent key-value store on SQLite | |||
| ReactiveUI.Validation | Validation helpers for ReactiveUI apps | |||
| Fusillade | Opinionated HTTP library for mobile |
| Repository | Description | Stars | Latest | Downloads |
|---|---|---|---|---|
| ObservableEvents | Source generator turning .NET events into observables | |||
| PropertyChanged | Lightweight, fast property-changed framework | |||
| Mvvm | Lightweight core MVVM abstractions | |||
| CacheDatabase | Akavache reimplementation on the SQLite-net stack | |||
| Extensions.Hosting | Microsoft.Extensions.Hosting for desktop apps (WPF / WinForms) |
|||
| Locator | Lightweight service-locator built for Marbles | |||
| PlatformSchedulers | Schedulers Rx.NET doesn't ship out of the box | |||
| RoslynHelpers | Shared helpers used across Marbles source generators | |||
| Navigation | View / ViewModel navigation for Marbles apps | β | β |
| Repository | Description | Stars | NuGet |
|---|---|---|---|
| SourceDocParserLib | Roslyn-based assembly + PDB walker that produces strongly-typed Markdown docs (mkdocs-Material, docfx emitters) | ||
| NuStreamDocs | An MkDocs-style C# type-comparable doc layer focused on performance | β | |
| GitReleaseNoteGenerator | C# release-notes generator with Nerdbank.GitVersioning support | ||
| dotnet-mtp-coverage-mcp | MCP server for analysing code coverage from MTP-based .NET test projects | β | |
| CSharpGenerateCommentsOpenAi | Generate C# documentation comments using OpenAI | β | |
| NuGetToCentral | Convert a solution's NuGet references into Central Package Management | β | |
| GitSMimeSign | S/MIME signing tool for individual Git commits |
If my work has helped you or your team, please consider sponsoring me on GitHub. Sponsorship directly funds maintenance and new releases of ReactiveUI, Reactive Marbles, and the rest of the ecosystem.






