Open Source

Embedded .NET,
built in public.

I'm a team member of the .NET nanoFramework project and author of a library collection that fills the gaps mainline doesn't cover. Everything here is MIT licensed and on GitHub.


Projects

What I've built and released

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.