ArbreGénéa Lead project
Collaborative, multi-generational family tree platform
ProblemFamily history gets lost across scattered memories and closed, single-user tools — with no shared, multilingual way for relatives to build one living tree together.
ApproachAn event-driven modular monolith of eight DDD modules communicating through a transactional outbox over RabbitMQ/MassTransit; Clean Architecture + CQRS throughout, designed to split into microservices with minimal change.
ResultEight modeled domains, 12-language localization (including RTL), real-time collaborative editing, RSVP events, WebRTC family calls, a PWA with web-push, full observability, and 43 documented ADRs.
.NET 9C#EF CorePostgreSQLRabbitMQMassTransitRedisAngular 21NxKeycloakDockerOpenTelemetry
Private repo — available on request
FileStorageApi
Provider-agnostic file-storage microservice
ProblemApps get locked into a single storage provider; switching later means invasive rewrites of upload, download, and access-control logic.
ApproachOne unified .NET 9 REST API over MinIO, AWS S3, and Azure Blob — selectable purely by configuration — with Clean Architecture + CQRS, presigned URLs, event-raising copy, and background processing.
ResultSwap storage providers by changing configuration, with zero changes to application code.
.NET 9C#MinIOAWS S3Azure BlobHangfireDocker
CopilotHRM Email
Templated, multi-language email microservice
ProblemPlatforms need reliable, templated, multi-language transactional email — sent consistently and tracked, not hand-rolled per feature.
ApproachA standalone .NET service on the Mailgun API with a versioned template engine, per-language variants, attachments, request validation, and a full audit trail of every template version sent.
ResultConsistent, localized transactional email with complete version history across the platform.
.NETC#MailgunMySQLEF CoreFluentValidationSerilog
Private repo — available on request
SFO — Scholarship Access
Opportunity platform for African students
ProblemTalented students miss opportunities because scholarship and fellowship information is scattered and hard to reach.
ApproachA Laravel + React platform that surfaces scholarships and educational opportunities in one place, with the guidance candidates need to prepare and apply.
ResultLowers the barrier to opportunity for candidates across Africa.
PHPLaravelReactMySQL
Private repo — available on request