Ama Senevirathne β Full-Stack Software Engineer Β· .NET 10 / C# / Angular 20 / TypeScript / Next.js
Microservices Β· DDD Β· CQRS Β· Event Sourcing Β· .NET Aspire Β· PostgreSQL Β· RabbitMQ Β· Docker Β· Kubernetes Β· Azure Β· AI/LLM engineering Β· Accessibility (WCAG 2.2)
β FreshCart backend Β· storefront
β freshcart-backend Β· freshcart-web Β· credscan Β· dupesweep Β· dupehunter Β· fastdl Β· polyai-dotnet Β· a11y-scope
Each FreshCart service gets the architecture its own requirements call for β not one pattern copy-pasted twelve times. Ordering earns DDD + a saga because it holds the richest invariants; Basket gets Redis + outbox because it's transient, high-throughput state; Payment gets event sourcing because compliance demands an immutable audit trail. That's a deliberate per-service decision, documented and enforced in the repo's own engineering standards.
- π§ͺ Up next: a self-improving personal agent runtime β exploring the Hermes Agent / OpenClaw class of self-improving, learning-loop agent frameworks as a base to build on.
Connect β LinkedIn Β· GitHub Β· support@iykons.com
Portfolio repos β freshcart-backend Β· a11y-scope Β· polyai-dotnet Β· dupesweep Β· fastdl




