ET Dufitumukiza

Hello, I'm

ET Dufitumukiza

Full-Stack Product Engineer. I design and ship production systems — from distributed .NET APIs to React frontends — with a focus on observability, security, and real-world impact.

Currently building Rentals Hub — a peer-to-peer rental marketplace for Rwanda.

🟢 Production deployed 🌍 4 languages (en / fr / rw / sw) 📡 OpenTelemetry + Grafana ☁️ Fly.io multi-region 🔒 Cloudflare WAF

Featured Project

🏠

Rentals Hub

rentalsrw.com

A peer-to-peer house and car rental marketplace for Rwanda — connecting local property owners with renters via WhatsApp/SMS/phone. Built end-to-end: domain modelling, .NET API, React frontend, CI/CD pipelines, and full observability stack.

Stack

.NET 9 + React

DB

Neon PostgreSQL

CDN

Cloudflare

Deploy

Fly.io + CF Workers

System Architecture

Browser
  │
  ▼
CF Workers ─── CF R2
(React SPA)   (Images)
  │
  ▼  X-Origin-Secret
Fly.io API ×2
(ASP.NET Core)
  │        │
  ▼        ▼
Neon     Redis
(PG)    (Cache)
  │
  ▼
Grafana Cloud
(OTel / Prom)

Engineering Highlights

🔀

Distributed Cache Invalidation

Cross-replica cache coherence across two Fly.io machines — Redis key registry synced without distributed locks. Staleness eliminated at scale.

📡

OpenTelemetry Golden Signals

Full OTel stack: 7 custom business metrics, Prometheus scraping, Grafana Cloud dashboards. PII redacted before export via custom processor.

🔒

Security Architecture

Origin-secret middleware forces all traffic through Cloudflare WAF. JWT + claims auth, per-user rate limiting (not just IP), input sanitization.

🌍

4-Language i18n

English, French, Kinyarwanda and Swahili. Browser auto-detection, localStorage persistence, 200+ keys per locale — built for the East African market.

🖼️

Two-Step Image Pipeline

Temp → validate → atomic promotion to Cloudflare R2. Format-level validation (magic bytes). Background worker purges abandoned uploads.

🚀

Full CI/CD to Production

GitHub Actions pipelines: API → Fly.io (Docker multi-stage), Frontend → Cloudflare Workers. Auto-migrations on startup. Health checks for zero-downtime deploys.

Skills & Stack

Domain Technologies & Concepts
Backend
.NET 9 C# 12 ASP.NET Core EF Core PostgreSQL Redis Polly JWT
Frontend
React 18 TypeScript Vite i18next Leaflet Axios Tailwind CSS
Observability
OpenTelemetry Prometheus Grafana Loki Tempo Golden Signals
Infrastructure
Fly.io Cloudflare (Workers · R2 · WAF) Docker GitHub Actions Neon
Architecture
Clean Architecture Repository Pattern Strategy Pattern DDD Distributed Caching Rate Limiting

How I coordinated cache key invalidation across two Fly.io machines using a Redis registry and fire-and-forget sync.

.NET Redis Distributed Systems

Building Golden Signals metrics, Prometheus scraping, and a 16-panel Grafana dashboard — before production incidents happen.

OpenTelemetry Grafana Prometheus

What it takes to localise a web app for Kinyarwanda, French, and Swahili — the product thinking behind the engineering.

i18next Rwanda Product

Let's talk

Open to engineering roles where product thinking and technical depth both matter. Particularly interested in platforms, marketplaces, and emerging market products.