Portfolio
Contents
- Project IoT Cloud
- Project Industrial IoT
- Project National Ski Patrol
- Project Llamapoints
- Project VU Meter — Cross-Platform Real-Time Audio Application
- Project Online Radio Tuner - Internet Radio Streaming app for Windows
- Project Space Lens — Disk Space Visualization for Windows
- Project Sound Capture — Windows Audio Recording Application
- Project Smart Media Converter
- Project Siglent SDS MCP Server — AI-Controlled Oscilloscope Interface
Project IoT Cloud
Designed and developed a production Azure IoT cloud platform for a manufacturer’s device fleet, spanning 20+ microservices on .NET built around Azure IoT Hub, Azure Event Hubs, Azure Functions, Redis/FusionCache, and Azure Data Explorer. Applied Clean Architecture and CQRS (MediatR) with FluentValidation pipeline behaviors and AutoMapper throughout. Integrated SAP via WCF/SOAP and SAP Cloud for Customer (C4C) via OData REST, with multi-layer Polly retry policies and database-backed persistent retry queues for resilience. Engineered a concurrent LRU AMQP device-client connection pool (500 clients), FusionCache circuit-breaker fail-safe (2-hour TTL on Redis outage), and RabbitMQ command routing with Event Hub bypass fallback. Authentication flows through Azure AD B2C custom policies, supporting a multi-tenant API of 44 controllers and 45+ feature domains.
Paragraph 1 Platform & Azure Architecture
Designed and developed a cloud-native Azure IoT platform for managing a manufacturer’s device fleet, comprising 20+ interconnected microservices built on .NET 6/10. Engineered core infrastructure integrating Azure IoT Hub for device connectivity and twin management, Azure Event Hubs for high-throughput telemetry streaming, Azure Functions (both in-process and isolated worker models) for serverless compute, and Azure Data Explorer (Kusto) for time-series analytics. Implemented a distributed caching layer using FusionCache backed by Redis, including circuit-breaker configuration (30-second trip), automatic recovery, and a 2-hour fail-safe fallback to protect device-state reads during cache outages. Authentication and multi-tenant user management were handled via Azure AD B2C with custom policies.
Paragraph 2 Architecture & Design Patterns
Applied Clean Architecture and CQRS principles across all services, using MediatR to decouple commands and queries from HTTP controllers, with a MediatR pipeline behavior layer for automatic FluentValidation enforcement before any handler executes. Structured each service with strict Application / Infrastructure / API layers and used AutoMapper for all DTO projections. Built resilience into service-to-service HTTP communication via Polly, including exponential backoff for IoT Hub device client connections and fixed-interval retry for outbound REST calls. Designed a connection pool for Azure IoT Hub AMQP device clients using a concurrent LRU eviction strategy (configurable up to 500 clients) to support high device concurrency without exhausting connections.
Paragraph 3 Integrations & Scale
Integrated the platform with SAP via WCF/SOAP (equipment lifecycle management) and SAP Cloud for Customer (C4C) via OData REST (CRM ticket management), implementing multi-layer retry logic for distributed locking scenarios: HTTP-level transient retries (Polly) plus application-level object-lock retries with exponential back-off and database-backed persistent retry queues. Device commands were routed through RabbitMQ with per-site routing keys, with Event Hub bypass as a direct fallback path. The main API surface covers 44 controllers across 45+ feature domains ¡ª devices, buildings, users, maintenance contracts, access control, and GDPR data policies ¡ª serving a multi-tenant customer base with role-based authorization derived from Azure AD B2C JWT claims.
Project Industrial IoT
Technical
Designed and implemented a production-grade Industrial IoT (IIoT) platform for manufacturer’s smart factory using Azure IoT Edge and Azure IoT Hub. Architected a set of containerized .NET 6 microservice modules ¡ª including a SQL Server Change Data Capture (CDC) reader, a RabbitMQ consumer, and a message enrichment module ¡ª each built on a shared SDK NuGet library that provides unified dependency injection, CloudEvents v2 message formatting, GZip compression, and an exponential-backoff retry strategy via Polly. Implemented distributed state management for CDC log-sequence numbers (LSN) with pluggable persistence backends (Azure Table Storage and local file), smart-batching to respect IoT Hub’s 240 KB message limit, and LSN range splitting to prevent memory exhaustion on constrained edge devices. Designed the cloud data layer in Azure Data Explorer (Kusto) with time-series optimised tables, IoT Hub-to-ADX ingestion mappings, and materialized views for denormalized analytics. Instrumented all modules with OpenTelemetry (gRPC export to a sidecar collector) and Serilog structured logging, and delivered end-to-end CI/CD on Azure DevOps with unit, integration, and Docker Compose¨Cbased E2E test pipelines.
Ownership focus
Led the architecture and development of a cloud-connected Industrial IoT platform for a manufacturing operation. Built a suite of Azure IoT Edge modules in .NET 6 C# ¡ª a SQL Server CDC-based data ingestion module, a RabbitMQ consumer, and a stream enrichment module ¡ª unified through a shared NuGet SDK that standardises Device Twin configuration management, CloudEvents v2 message serialisation, optional GZip compression, and resilient delivery via Polly exponential-backoff retry policies. Tackled key edge-computing constraints by implementing a smart-batching algorithm (¡Ü240 KB per IoT Hub message), configurable parallel-thread CDC processing, and LSN-range splitting to handle large change windows on memory-limited devices. Designed OPC UA information models for industrial machinery (braiders, extruders, metallised-polymer systems) to provide a vendor-neutral machine communication interface.
Designed the Azure cloud data layer using Azure Data Explorer (Kusto), including IoT Hub to ADX continuous ingestion with CloudEvent-to-schema JSON mappings, time-series optimised table schemas, update policies, and materialized views for high-performance analytical read paths. Managed distributed CDC state with dual persistence (Azure Table Storage + local file fallback) to maintain resilience across network partitions. Instrumented the full platform with OpenTelemetry SDK (metrics and traces exported via gRPC OTLP to a sidecar collector module) and Serilog structured logging with runtime log-level control via IoT Hub direct methods. Delivered CI/CD automation through Azure DevOps YAML pipelines covering NuGet package publishing, unit tests, integration tests, and Docker Compose¨Cbased end-to-end tests, targeting both development and production Azure Container Registries.
Project National Ski Patrol
Technical depth focus
Designed, developed, and maintained a full-stack web application for the National Ski Patrol International Division 1, serving as both a public-facing website and a member portal. Built with Vue 3, TypeScript, and Firebase, the application spans 14,000+ lines of code across 30 views, 11 Pinia stores, and 18 serverless Cloud Functions (Node.js 22). Key features include a dual-type evaluation system (OEC and OET) with template-driven maneuver assessments and full audit trail preservation, role-based access control across six user roles, event management with calendar integration, PDF and Excel report generation, and a content management system for blogs, news, and FAQs. Configured a two-stage Azure DevOps CI/CD pipeline with automatic dev deployment and gated production releases to Firebase Hosting and Cloud Functions.
Impact and ownership focus
Sole developer and architect of a production web application for the National Ski Patrol International Division 1, enabling patrollers across the division to manage evaluations, events, and member records through a secure portal. Built end-to-end using Vue 3, TypeScript, Pinia, and Firebase (Firestore, Cloud Functions, Auth, Hosting), with a focus on real-world usability — including offline-friendly state persistence, incremental OET ski/snowboard evaluations mapped to physical assessment cards, and professional PDF exports with color-coded results. Established the full DevOps lifecycle including CI/CD via Azure DevOps, Firebase emulator configuration for local development, Firestore security rules and indexes, and automated linting and type-checking in the pipeline.
Project Llamapoints
Overview
Sole architect and developer of LlamaPoints, a full-stack, multi-platform SaaS loyalty and rewards platform. Designed and built the entire system end-to-end: a .NET 10 backend (28 API controllers, 160+ endpoints) using CQRS with MediatR and Azure Cosmos DB, 8+ Azure Functions for event-driven processing via change feeds, a Flutter mobile app with multi-flavor builds (3 app variants) serving both customers and business owners, and a Nuxt 4 admin dashboard. The platform enables businesses to create configurable loyalty programs, manage multiple branches and staff with role-based access control, process real-time QR-based transactions, and engage customers through push notifications and marketing campaigns. Integrated Apple StoreKit and Google Play Billing for subscription management, Azure Blob Storage with CDN for media, TimeScaleDB for transaction analytics, and Firebase Auth across all clients. Localized in 7 languages.
Impact and ownership focus
Owned the full delivery lifecycle from architecture through production, including Azure infrastructure provisioned with Terraform, multi-stage Docker builds, and Azure DevOps CI/CD pipelines with environment promotion gates. Built the system around scalable cloud-native patterns: direct-to-blob-storage uploads to avoid large API payloads, idempotency keys for safe retries, async 202 Accepted patterns for long-running operations, Cosmos DB change feeds for event sourcing, and Redis caching. Implemented comprehensive integration testing with TestContainers (Cosmos DB emulator, Redis, Azurite). The auto-generated OpenAPI workflow drives both the Flutter Dart client (built_value serialization) and the TypeScript admin client, keeping all platforms in sync from a single API specification.
Project VU Meter — Cross-Platform Real-Time Audio Application
Designed and built a cross-platform real-time audio VU meter application targeting Windows and macOS, migrated from WPF to Avalonia UI with .NET 10. Engineered the full audio pipeline — from device capture through signal processing to a custom 71-LED visualization rendering at 16ms intervals — achieving sub-20ms monitoring latency.
Implemented platform-specific audio backends including WASAPI loopback on Windows and Core Audio Tap (macOS 14.2+) via custom Objective-C native libraries with P/Invoke interop and lock-free atomic operations for thread-safe real-time audio callbacks. The architecture follows MVVM with CommunityToolkit.Mvvm, dependency injection, and a decoupled pub/sub messaging system supporting runtime backend switching, orientation changes, and dynamic theme swapping across four visual themes. Built the complete macOS App Store deployment pipeline including automated code signing, provisioning profile embedding, single-file publishing, and StoreKit in-app purchase integration via a custom native Objective-C helper library.
The application ships as a single native binary across five runtime identifiers (osx-arm64, osx-x64, win-x64, win-x86, win-arm64) with platform-guarded code paths, custom StyledProperty-based UI controls with compiled bindings for performance, and structured telemetry via Application Insights.
The project demonstrates end-to-end ownership from low-level native audio interop and unsafe memory operations (stackalloc for zero-allocation peak/RMS computation) through UI rendering to App Store monetization.
Project Online Radio Tuner - Internet Radio Streaming app for Windows
Project & Architecture
Designed, developed, and shipped Online Radio Tuner, a production WinUI 3 desktop application published on the Microsoft Store, targeting .NET 10 with multi-architecture support (x86, x64, ARM64) and localized into 8 languages.
The solution spans ~37,500 lines of C# across six projects — including a reusable data library, custom controls library, and MSIX packaging project — following strict MVVM architecture with CommunityToolkit.Mvvm source generators, dependency injection via Microsoft.Extensions.DependencyInjection, and decoupled messaging.
Built a custom audio engine on the native BASS library through a hand-crafted managed interop layer, supporting live Shoutcast/Icecast/HLS streaming, real-time 60 Hz stereo VU metering with pinned unsafe memory buffers, and concurrent stream recording to MP3 without interrupting playback.
Integrations & DevOps
Integrated Spotify Web API (OAuth2 with thread-safe token refresh and LRU caching), Google Cast for Chromecast audio hand-off, and a locally bundled RadioBrowser catalogue of 50,000+ stations with weighted fuzzy similarity search for station discovery.
Secured station URLs at rest using AES-CBC encryption with HMAC-SHA256 authentication via BouncyCastle, and managed versioned SQLite schema migrations across two databases.
Migrated telemetry from the legacy Application Insights SDK to OpenTelemetry with Azure Monitor, instrumenting 25+ custom business events with a comprehensive KQL analytics suite.
Designed a fully automated Azure Pipelines CI/CD workflow — multi-architecture MSIX builds with certificate signing, beta-ring Package Flight deployment via StoreBroker, and a manually-gated production Store release.
Project Space Lens — Disk Space Visualization for Windows
Designed and developed Space Lens, a modern WinUI 3 desktop application for Windows disk space analysis and visualization, built on .NET 10. The application features an interactive D3.js sunburst chart embedded via WebView2 with bidirectional C#/JavaScript interop, enabling real-time navigation and hover-synchronized highlighting across chart and sidebar views.
Engineered intelligent file system scanning with adaptive parallelization — parallel traversal for SSDs and sequential I/O for HDDs — using manual breadth-first enumeration with batch processing for immediate UI responsiveness. Implemented dual storage backends (in-memory and SQLite with WAL mode), a two-pass duplicate file detection system with configurable hashing strategies (SHA256 and XxHash3), and cloud storage-aware exclusion via Windows registry queries. The architecture follows MVVM with dependency injection, ImmutableArray-based tree structures for memory efficiency (~1.6 MB savings at 500K files), and thread-safe concurrent operations throughout.
Built the application from the ground up as a comprehensive disk analysis suite, including WMI-based drive hardware detection, customizable scan profiles, native Windows shell integration via P/Invoke, and a multi-step wizard workflow. Integrated OpenTelemetry with Azure Monitor for production telemetry and Serilog for structured logging. Prepared and shipped the application through the Microsoft Store, handling packaging, deployment automation, and store submission workflows.
Project Sound Capture — Windows Audio Recording Application
Designed, developed, and published Sound Capture, a professional-grade Windows audio recording application available on the Microsoft Store. Built with .NET 10, WinUI 3, and NAudio (WASAPI), the app captures audio from system loopback and microphone inputs, saving in WAV, MP3, and Broadcast Wave Format (BWF). Key features include real-time VU metering with custom-built controls, threshold-triggered automatic recording with pre-roll buffering, configurable recording profiles, and a live audio level chart rendered with SkiaSharp. The application supports x86, x64, and ARM64 architectures and is localized in six languages.
Architected the solution using MVVM with dependency injection, leveraging CommunityToolkit.Mvvm source generators for reactive property binding and WeakReferenceMessenger for decoupled cross-component communication. Implemented a multi-state threshold recording engine with hysteresis, cooldown, and a thread-safe circular audio buffer for capturing audio prior to trigger events. Built a fully automated CI/CD pipeline in Azure Pipelines that compiles platform-specific native DLLs, produces signed MSIX bundles, and deploys through a staged rollout — package flight (beta) followed by production — via the Microsoft Store submission API.
Project Smart Media Converter
Designed and developed a cross-platform desktop application for video and audio conversion, targeting both the Microsoft Store (Windows) and the Apple App Store (macOS). Built with .NET 10, Avalonia UI, and SukiUI, the app wraps FFmpeg behind an intuitive drag-and-drop interface with 11 curated presets for platforms like YouTube, TikTok, Instagram, and Facebook — letting users convert media without needing to understand codecs or command-line tools. Implemented GPU-accelerated encoding across five hardware paths (NVIDIA NVENC, AMD AMF, Intel QSV, Apple VideoToolbox, and MediaFoundation) with runtime encoder detection and vendor-specific quality parameter mapping.
The application features batch conversion with per-file progress tracking and cancellation, real-time filmstrip and waveform previews generated via concurrent FFmpeg processes, a live preview conversion window with debounced scrubbing, and a detailed media properties inspector exposing 28+ metadata fields from FFProbe. Architected using MVVM with CommunityToolkit.Mvvm source generators, Microsoft.Extensions.DependencyInjection, and structured logging via Serilog. Addressed cross-platform challenges including macOS GUI app PATH resolution for bundled FFmpeg binaries, pipe deadlock prevention in process invocation, and platform-aware codec feature detection.
Work in progress, not yet published in the respective app stores.
Project Siglent SDS MCP Server — AI-Controlled Oscilloscope Interface
Technical & Visionary
Designed and developed an open-source Model Context Protocol (MCP) server that bridges AI assistants and laboratory test equipment, enabling natural language control of Siglent oscilloscopes over TCP/SCPI. The TypeScript-based tool provides 12 instrument control capabilities — including real-time waveform acquisition with voltage reconstruction, channel configuration, measurement statistics, and live screenshot capture — all accessible through conversational AI interfaces like Claude.
Engineered a robust protocol stack featuring query serialization, IEEE 488.2 binary frame parsing, and context-aware downsampling, while eliminating the need for proprietary VISA/NI-MAX drivers by operating directly over raw TCP sockets. Published as both an npm package and multi-architecture Docker container, the project demonstrates a novel approach to human-instrument interaction at the intersection of AI and embedded systems.
Impact & Innovation-focused
Created siglent-sds-mcp, an open-source project that reimagines how engineers interact with lab equipment by allowing AI assistants to directly control oscilloscopes through natural language. Instead of manually navigating menus and writing scripts, users can ask Claude to configure channels, capture waveforms, take measurements, and display screenshots — all through conversation. Built with TypeScript on the Model Context Protocol standard, the server communicates with instruments via raw TCP/SCPI, handling binary data parsing, voltage reconstruction from raw ADC samples, and automatic BMP-to-PNG conversion for inline image display.
The project is compatible with multiple AI clients and is published on npm and GitHub Container Registry, showcasing practical applications of AI-driven hardware automation.