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 |
π Sponsor
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.






