Skip to main content

My recent work

Experiments, collaborations, and projects I'm especially proud to have shipped.

atelierbella.art
atelierbella.art — screenshot of the live app

Design-forward artist portfolio

A polished, design-led portfolio I built and shipped for an artist — calm typography, considered motion, and a distinctive look.

Live site · design-led frontend

dicom-fhir-viewer
dicom-fhir-viewer — screenshot of the live app

DICOM viewer with FHIR resources

Upload DICOM scans, browse studies, and view medical images with window/level controls — plus auto-generated FHIR R4 resources. Hono + React + Orthanc.

Medical imaging · React · FHIR R4

clinical-abstention-bench
clinical-abstention-bench — screenshot of the live app

Does a clinical AI follow the evidence?

A 12-case synthetic benchmark for diagnosis, certainty, and urgency across full, ablated, and alternative-supported evidence, with reproducible .NET grading and exact model transcripts.

Clinical AI evaluation · evidence calibration · .NET

ErrorOrX
ErrorOrX — screenshot of the live app

Source generator for Minimal APIs

Generates ASP.NET Core Minimal API endpoints with routing, validation, RFC 9457 problem details, OpenAPI metadata, and Native AOT support.

Source generator · RFC 9457 · AOT

ghostty-theme-catalog
ghostty-theme-catalog — screenshot of the live app

Interactive 463-theme browser

A keyboard-driven catalog of 463 Ghostty themes with fuzzy search and live config apply — shipped on GitHub Pages.

Interactive · fuzzy search · live apply

Qyl.OpenTelemetry.SemanticConventions
Qyl.OpenTelemetry.SemanticConventions — screenshot of the live app

OpenTelemetry semantic conventions for .NET

Stable and incubating runtime constants, a source generator, analyzers, and a Nuke build component — typed OTel semantic conventions for C#.

OpenTelemetry · C# · source generator

ANcpLua.Agents
ANcpLua.Agents — screenshot of the live app

C#-native LLM agent framework

A lean toolkit for the Microsoft Agent Framework — runtime governance primitives, MAF-native OpenTelemetry, workflow helpers, and deterministic testing infrastructure. An instrumentation core, not provider facades. 6 packages.

C# · Microsoft Agent Framework · 6 packages

ANcpLua.NET.Sdk
ANcpLua.NET.Sdk — screenshot of the live app

Opinionated MSBuild SDK

Configures .NET projects from the first build — analyzers, nullable, and polyfills auto-injected. Three variants: Base, Web, Test.

MSBuild SDK · analyzers · polyfills

ANcpLua.Analyzers
ANcpLua.Analyzers — screenshot of the live app

89 Roslyn diagnostics with code fixes

Diagnostics AL1000–AL1899 across nine domains — correctness, reliability, async/threading, AOT/trim safety, ASP.NET Core, and OpenTelemetry — each with a code fix.

Roslyn · 89 diagnostics + fixes

TourPlanner-Angular
TourPlanner-Angular — screenshot of the live app

Full-stack TypeScript SPA on a .NET 10 API

A full tour-planning single-page app with an OpenAPI-typed client against a .NET 10 backend — 429 tests across NUnit and Vitest, fully Dockerised.

TypeScript SPA · .NET 10 · 429 tests

SWEN3.Paperless.RabbitMq
SWEN3.Paperless.RabbitMq — screenshot of the live app

Event-driven messaging pipeline

Document-management ingestion and processing on typed RabbitMQ pub/sub consumers — a published package and a favourite playground for event-driven design.

RabbitMQ · pub/sub · published

DotCov
DotCov — screenshot of the live app

Streaming Cobertura coverage toolkit

A zero-dependency streaming Cobertura parser, a dotnet global tool, and a NUKE build component that gates CI on coverage — it handles 50 MB+ reports without ever loading the whole DOM.

.NET tool · NUKE · CI gate

MapsterExtensions.Generator
MapsterExtensions.Generator — screenshot of the live app

Typed mapping extensions, generated

A source generator that scans your Mapster [Generate] configs and emits one strongly-typed extension per mapping — turning user.Adapt<UserDto>() into user.ToUserDto().

Source generator · Mapster · C#

save-media
save-media — screenshot of the live app

Verified-only video downloader extension

An MV3 extension for Chrome, Edge and Firefox that saves a video only when it can prove the bytes are a complete, playable file — direct MP4/WebM and plain HLS VOD remuxed to one MP4. No DRM bypass, no native host.

Browser extension · TypeScript · MV3

yt-transcript
yt-transcript — screenshot of the live app

YouTube transcripts, extracted or transcribed locally

An MV3 extension that pulls the caption track for any YouTube video into a clean reader panel — and when no captions exist, transcribes the audio locally with Whisper. On-device AI summaries via Chrome Prompt API or Ollama; no server, no telemetry.

Browser extension · Whisper · on-device AI

ANcpLua.BitNet
ANcpLua.BitNet — screenshot of the live app

Microsoft's BitNet as a .NET IChatClient

Wires Microsoft's 1.58-bit BitNet (bitnet.cpp / llama-server) into the Microsoft.Extensions.AI IChatClient abstraction — keyed DI, a health check, and a digest-pinned [BitNet] xUnit fixture. A cheap local model to test against.

Microsoft.Extensions.AI · local LLM · xUnit

Scalar.Kiota.Extension
Scalar.Kiota.Extension — screenshot of the live app

Kiota SDKs inside a Scalar API reference

For ASP.NET Core minimal APIs: generates typed client SDKs with Kiota (TypeScript, C#, Python) and serves them inside a Scalar API reference — one call to add, one to map, Native AOT compatible.

OpenAPI · Kiota · Scalar · AOT

ancplua-claude-plugins
ancplua-claude-plugins — screenshot of the live app

A marketplace of multi-agent Claude Code plugins

Thirteen opinionated Claude Code plugins for parallel agent orchestration — PR-to-merge ferrying, dependency migration, first-principles repo transformation, code review, and test-quality work. Every phase is gated: work only advances when the gate passes.

Claude Code · 13 plugins · 30 agents

Qyl.OpenTelemetry.AutoInstrumentation
Qyl.OpenTelemetry.AutoInstrumentation — screenshot of the live app

Zero-code .NET instrumentation, no profiler

A NativeAOT-ready, vendor-neutral auto-instrumentation runtime in pure managed code — Roslyn-generated interceptors, DiagnosticListener, and a module-initializer bootstrap turn an ordinary PackageReference into traces and metrics. No CLR profiler, no IL rewrite.

OpenTelemetry · Roslyn interceptors · AOT

CreatePdf.NET
CreatePdf.NET — screenshot of the live app

Fluent PDF creation for .NET

A small, fluent .NET library for building PDFs — chain AddText, AddPixelText (bitmap glyphs) and AddLine, then SaveAsync. Text and bitmap rendering with optional OCR; ships on NuGet and Docker Hub for .NET 8/9/10.

PDF · text + bitmap + OCR · NuGet

Let's connect

Open to full-stack C# / .NET and React roles, freelance, and collaboration. Based in Vienna — happy to talk remote or on-site.

© 2026 Alexander Nachtmann · Built with Angular