Skip to content
View CanaanGM's full-sized avatar
🍓
🍓

Block or report CanaanGM

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
CanaanGM/README.md

Greetings and welcome ~!

I'm Canaan, a Human existing on earth who's into computer wizardry.

Backend engineer in Amman, Jordan. Currently at Shory, working on UAE motor-insurance platforms that talk to Abu Dhabi Police services and a network of insurance companies. C#, Redis, SQL Server, Hangfire. Rust when nobody is looking.


⚔️ Things I built that have a number attached

API quota governance, twice. Redis with Lua scripts doing atomic per-company counting across 11+ endpoints, then torn down and rebuilt as a configurable service-category × time-period model. Progressive alerts at 70 / 85 / 95 / 100%, with Hangfire-driven deduplication so one bad afternoon doesn't page anyone four hundred times.

Two breaking-change API migrations, zero broken integrations. Field renames, data type changes, deprecated attributes removed, request bodies restructured — across the externally exposed surface. Every integrated insurance company survived. This is the one I'm smug about.

Monthly credit note generation, whole vertical slice. Migrations and stored procedures, PDF generation, Hangfire orchestration with write-back, finance reporting with transaction-level drill-down, and tests covering eligibility, aggregation, numbering, and the failure paths nobody writes tests for.

PriceMonitor (@ Equiti). Real-time FX pricing alerts over SignalR and MassTransit/RabbitMQ — ingesting live MT4 and PXM feeds, matching configurable thresholds, fanning out to concurrent trader sessions.

A gRPC service wrapping MetaTrader 5 (@ Equiti). 10+ RPC endpoints for positions, orders, deals and trade history. Docker, Kubernetes, Helm, Azure DevOps.

A home server that has survived me. 15+ self-hosted services on Docker Compose, NVIDIA GPU passthrough, Tailscale, LVM, automated drive mounting. Jellyfin and Immich are the load-bearing ones.


🧰 Tools of the trade

C# · ASP.NET Core · EF Core · SQL Server · Redis · Hangfire · RabbitMQ · gRPC · Docker · Kubernetes · Python · Rust · Astro · Linux


📜 Where the actual writing lives

kanaan.dev — around fifty writeups. Keyset vs offset pagination. The .NET dispose pattern. Database partitioning. CAP theorem. Static search with no service behind it. Why I started drawing.

Some of them are about code.


Currently learning: Rust, maths, and how to stop starting new repositories. Progress on the third is disputed. (⊙_⊙)?

kanaan.dev · LinkedIn · canaand1@gmail.com

Pinned Loading

  1. databases-infrastructure databases-infrastructure Public

    On-demand database deployment via Docker Compose. Every flavour of base, none of them running when I do not need them

    Python 1

  2. Exp-1_DDD Exp-1_DDD Public

    A snake and a c that is sharp of mind using a rabbit queue to store cards, but it was filled with rust. Python, C# and Rust talking over RabbitMQ

    Rust

  3. FileOrganizers FileOrganizers Public

    Collection of file-wrangling scripts written for me by me. You are welcome to use them too

    Python

  4. Cube Cube Public

    The very first collab project I made with my friend https://github.com/yousefalshabah

    JavaScript