Kaiserslautern, Germany · open to senior roles

Systems that ship,
and the decisions behind them.

I'm Arib Yousuf — a senior software engineer with 9+ years building production backend and full-stack systems: banking switches, public-sector platforms, smart-city APIs. Most client code is under NDA, so this site shows the next best thing: how I decide.

C# / .NET CoreNode.js / TypeScriptReact / Next.jsM.Sc. CS · RPTU
architecture decision records

Client code is under NDA. Decisions aren't.

Each record below follows the ADR format engineers use in real codebases — context, decision, consequences. Ask me about any of them in an interview; I can go as deep as you like.

ADR-001 · bankingstatus: shipped · scale: transaction alerts

Real-time SMS banking on a live transaction switch

Context

Bank of Punjab needed real-time balance, withdrawal, transfer and alert notifications driven directly off core banking activity, with balance accuracy and core-system load as critical constraints.

Decision

Integrate the IRIS transaction switch with the SMS engine event-driven, not by polling. Map switch events to notification triggers with formatting, delivery and account routing as separate concerns.

Consequences

Event-driven notifications avoided continuous database polling. Defensive handling of partial, reversed, and duplicate transactions reduced the risk of incorrect balance messages.

real-time alerts driven by transaction events
C#SQL Serverevent-drivenfull write-up →
ADR-002 · public-sectorstatus: shipped · scale: multi-tenant platform

Multi-tenant election management platform

Context

Multiple organizations needed end-to-end elections — onboarding, voter records, election setup, and reporting — with isolated tenant data on one platform.

Decision

.NET 6 on Clean Architecture with DDD: election rules modeled as first-class domain concepts, independent of delivery and storage. Tenant boundaries enforced at the domain layer, not the query layer.

Consequences

Per-tenant customization without forking logic. New organization onboarding became configuration, not development. Domain tests run without infrastructure.

tenant-isolated, configurable election workflows
.NET 6Clean ArchitectureDDDmulti-tenant
ADR-003 · smart-citystatus: shipped · scale: three product platforms

NEOM smart-city platform APIs

Context

Three smart-city platforms needed RESTful backends with clear domain separation, high availability, and room to grow independently — under aggressive timelines.

Decision

Modular .NET Core services over a shared kernel: each platform owns its domain, shares cross-cutting infrastructure (auth, logging, data access) instead of duplicating it.

Consequences

Shared authentication, logging, and data-access components reduced duplicated implementation while preserving clear domain boundaries between the platforms.

modular APIs for three smart-city platforms
.NET CoreMSSQLRESTperformance
ADR-004 · commercestatus: shipped · scale: consumer app + CRM

Full-stack grocery platform with payments

Context

A grocery business in Cyprus needed a consumer app and CRM covering ordering, inventory, and payment processing, with failures represented clearly across the workflow.

Decision

TypeScript/React front end over a hardened payment integration: idempotent order creation, explicit failure states, and reconciliation built in from day one rather than bolted on.

Consequences

Idempotent order creation, explicit failure states, and reconciliation made payment handling easier to operate and troubleshoot without duplicating orders.

payment-aware ordering and CRM workflows
TypeScriptReactpayments
ADR-005 · personal · AI toolingstatus: shipped · scale: shipping now

An AI coding agent whose server never sees your code

Context

A terminal coding agent must read source, edit files and run shell commands. Executing those server-side means every user's proprietary code and shell access transit a third party — disqualifying for most teams. And a "plan mode" enforced by prompt instructions is a suggestion, not a safety property.

Decision

The server defines schema-only tool contracts and holds no implementations; the CLI executes them locally, sandboxed to the project root, and auto-continues the agent loop. Plan and Build modes swap the model's exposed toolset between read-only and full write/shell — enforced at the contract layer, not the prompt.

Consequences

Source and shell access never leave the machine. The model cannot edit in Plan mode because no write tool exists to call. Token-metered billing rides on idempotent usage events with balance-gating before the model call.

agent harness over Anthropic & OpenAI models
TypeScriptBunHonoPrismaagentsfull write-up →
capabilities

The stack, by depth.

Bold means daily-driver depth — the things I'd be comfortable owning in production tomorrow.

Backend
  • C# / .NET Core
  • Node.js / Express
  • REST API design
  • RabbitMQ / event-driven
  • SignalR / real-time
Frontend
  • TypeScript
  • React / Next.js
  • Vue.js
  • Tailwind CSS
  • Flutter (mobile)
Data & Ops
  • SQL Server / PostgreSQL
  • EF Core / query tuning
  • Docker
  • Azure
  • CI/CD · Git
changelog

Nine years, one throughline: production software.

Product work across banking, public-sector, smart-city, healthcare, and enterprise systems.

2022 — present · Kaiserslautern
Senior Software Engineer (Working Student, part-time)
Layer Four GmbH

Built Flutter Web enterprise platforms for German clients, including a field-service and administration portal and a GIS platform with embedded ArcGIS maps and Azure AD SSO. Also delivered features for Next.js/.NET project-management and HR systems.

2020 — 2021 · remote
Senior Software Engineer
Green Light Labs

Architected .NET Core and SQL Server APIs for three NEOM smart-city platforms, using modular domain boundaries and shared infrastructure for authentication, logging, and data access (ADR-003).

2019 — 2020
Software Engineer
Binaro

Built a full-stack grocery and payment platform in Cyprus (ADR-004), an immigration case-management CMS in React/.NET Core, and a real-time survey platform.

2018 — 2025 · part-time, concurrent
Freelance Software Engineer
Independent · incl. Lodestone

Delivered complete systems end-to-end: a multi-tenant election platform (ADR-002), the O-WILL legacy-planning app for the UAE, and a bidirectional QuickBooks–Salesforce synchronization engine.

Jan 2018 — Jul 2019 · Karachi
Software Engineer
M3 Technologies

Built enterprise and banking systems in C#/.NET, including the Bank of Punjab IRIS transaction-switch integration behind real-time SMS banking (ADR-001) and an SMS complaint engine for a regional utility.

Apr 2017 — Dec 2017 · Karachi
Junior Software Engineer
Curve Technologies

Built and maintained banking and insurance web applications, including a public bank website and an insurance policy platform, using C#, SQL Server, JavaScript, and AJAX.

M.Sc. Computer Science
RPTU Kaiserslautern-Landau, Germany
completed 2026 · focus: intelligent systems
B.Sc. Computer Science
Karachi Institute of Economics & Technology
2017 · GPA 3.5/4.0 · Dean's Honor Student · Teaching Assistant
final record

Decision: we should talk.

Open to senior backend and full-stack roles in Germany — remote or on-site. The fastest channel is email; I'm happy to walk through any decision record in as much depth as you want.