Systems, not screenshots
Most of my work lives behind a customer login, so each entry is the write-up instead: the constraint, the architecture, and what I'd change. Personal projects are marked as such.
Notification SystemA centralized notification system with in-app and email delivery, and per-user preferences so recipients control what they get and which channel it arrives on.
Zeronotification polling requests
C#RabbitMQSignalRSQL Server
SignalR Backplane with RedisKeeping real-time updates in sync across a horizontally scaled application, so a message reaches the people it is meant for no matter which instance they landed on.
Fourreal-time feeds on one backplane
C#ASP.NET Core SignalRRedisAzure
Sync to Async MigrationMigrating a live production backend from synchronous to asynchronous, one controller at a time, without a rewrite and without taking the product down.
100%of the API layer migrated
C#.NET
Dispatch Live GridThe operations grid dispatchers work out of, streaming live status changes into a Kendo Grid over the SignalR backplane so they see a load move the moment it moves.
Livereplaces manual page refresh
AngularKendo GridSignalRTypeScript
Audit LogMiddleware sitting in front of every save that records which fields changed, what they changed from and to, and who changed them.
2 quartersof field-level change history
C#.NETAngular
Multi-tenant Access ControlTenant isolation enforced by scoped access keys and an EF Core global query filter applied to protected entities, so isolation does not depend on every query remembering its WHERE clause.
One filterinstead of every WHERE clause
C#Entity Framework CoreSQL Server