Projects
What I've built and released
CCSWE.nanoFramework
A collection of production-quality libraries for .NET nanoFramework — Generic Host, DI, WebServer, threading, NeoPixel, and more. MIT licensed, available on NuGet.
- Application infrastructure: Hosting, Configuration, Logging, Mediator
- Networking: WebServer, DhcpServer, MdnsServer
- Hardware: NeoPixel driver, color utilities
CCSWE.Avalonia
A small collection of libraries for the Avalonia UI framework — .NET Generic Host bootstrap, a compile-time AOT- and trim-safe ViewLocator, and a standalone Material 3 theme. For Avalonia 12. MIT licensed, on NuGet.
- Hosting: bootstrap a desktop app on the .NET Generic Host
- ViewLocator: compile-time, AOT- and trim-safe view resolution
- Material: a standalone Material 3 theme for Avalonia
Emily.Clock
A custom nightlight clock built for my daughter — WiFi-connected, web-configurable, and running entirely on .NET nanoFramework and CCSWE libraries.
- ESP32-based with display and audio
- Web UI + REST API over WiFi, mDNS discovery
- Sun/moon bedtime indicators, 3D-printed case
Remote.Adb
I moved my development to a remote machine but my Android devices stayed local. Remote.Adb opens the SSH reverse tunnel that lets the remote adb reach them, and manages emulators too. Cross-platform, .NET 10 and Avalonia.
- SSH reverse tunnel with fault detection and auto-reconnect
- Emulator management — list, start, stop, create, edit
- Live listing of the connected devices
Upstream contributions
nanoFramework team member
I'm a team member of the .NET nanoFramework project — an open-source platform for bringing C# development to resource-constrained embedded devices. Beyond filing PRs, I've contributed full libraries back upstream. The DhcpServer library I wrote was accepted into the nanoFramework project to replace the existing implementation.
CCSWE.nanoFramework covers what mainline won't take — libraries that are too opinionated, out of scope, or reflect a different architectural position. Where work meets the bar, it goes back. That two-way relationship is by design.