Backend Engineer · Egypt

Backend systems that feel effortless.

Most of my time goes into building the stuff users never see but always feel — auth flows, data models, APIs, caching layers, and the glue that keeps real-time features from falling apart. Lately I've been deep in a CRM/ERP codebase where one wrong abstraction breaks three modules, so I focus heavily on domain modeling, event-driven patterns, and writing code that the next person can actually follow.

Selected work

What I've built.

Three projects, each with a different shape — but the backend work is always mine.

WordyMe OSS logo

WordyMe OSS

Open-source educational platform

I jumped in to tackle the most complex backend features—specifically figuring out how to efficiently store nested document hierarchies and getting real-time collaboration to stay perfectly in sync.

Self-hostable education workspace with hierarchical documents, real-time sync, and a rich editor.

Stack
Express.jsBetter AuthDrizzle ORMlibSQLSocket.ioZodOpenAPITurborepo

Monorepo setup

Turborepo splits the SDK, types, UI, and editor into their own packages — so nothing bleeds where it shouldn't.

Live collaboration

Socket.io handles the syncing so two people can edit the same doc without stepping on each other.

Nested documents

Spaces, notes inside notes, favorites, version history — basically the hierarchy you'd expect from a real workspace.

Built to self-host

Fully self-hostable so teams can deploy it on their own infrastructure and keep complete control over their internal documents.

Turjuman logo

Turjuman

AI-powered translation platform

I built out the backend pipeline, wiring up the external AI services and setting up caching and usage limits to keep everything fast and predictable.

Translate text or speak into it — powered by Gemini and Deepgram, with saved history and a free/premium tier system.

Stack
Node.jsExpress.jsMongoDBMongooseJWTRedisDeepgramGoogle GeminiVercel

User accounts

JWT-based auth — users can save translations, search their history, and bookmark favorites.

Usage limits

Free users get a cap, premium users get priority. The logic tracks it all per-account.

Voice input

You talk, Deepgram transcribes it, Gemini translates it. The whole chain runs in one request.

Cached reads

Translations sit in MongoDB, but hot data goes through Redis so repeated lookups are instant.

ReactSuite logo

ReactSuite

Next-gen ERP/CRM platform

WIP

I'm focusing on building an architecture that won't turn into a mess later. That means organizing code by domain, keeping modules decoupled, and enforcing strict type safety.

An ERP/CRM platform I'm building for teams that outgrow spreadsheets — focused on clean domain models, fully typed APIs, and live dashboards.

Stack
NestJSTypeScriptoRPCDrizzle ORMPostgreSQLBetter AuthAmazon S3 logoAmazon S3ZodSentryDocker

DDD structure

Structuring the logic so each module owns its own domain. This helps keep complex business rules organized and readable.

Event bus

Modules talk through events, not direct imports. So when Orders changes, Invoices reacts without either knowing the other's internals.

Typed APIs (oRPC)

Using oRPC to share types between the frontend and backend, catching schema changes at build time instead of in production.

Live dashboards

SSE pushes updates to the UI as things happen — no polling, no stale data sitting on someone's screen.

How I work

Habits I bring to every codebase.

Not frameworks or methodologies — just the things I've learned to do by default because skipping them always costs more later.

01 //

I start with the API contract

Architecture

I prefer to define the routes, validation, response shapes, and error cases before writing feature code. It helps save everyone time later — especially the frontend devs consuming the API.

Route designZod validationError contracts
02 //

Data belongs somewhere specific

Reliability

I try to ensure every piece of data has a clear owner. I rely on domain-driven principles to keep the logic organized, adding indexing and caching only where queries actually need it.

AggregatesBounded contextsTargeted caching
03 //

Security ships with the feature

Trust

Permission checks, input sanitization, and rate limits shouldn't be a follow-up ticket. I make sure they are baked in from the start to ensure the application is secure by default.

Auth checksInput sanitizationRate limits
04 //

I think about who's next

Leadership

I write code assuming someone else will maintain it. I prioritize clear boundaries, good logs, and obvious naming so the next engineer doesn't have to reverse-engineer my work.

Clear namingGood logsObvious boundaries

Technical stack

Simple view of what I use and why.

Grouped by the backend problems teams care about. Swipe to explore the toolset behind each area.

Architecture9 tools

Backend Core

API contracts, services, validation, and docs.

Node.jsExpress.jsHonoNestJSREST APIsoRPCTypeScriptZodOpenAPI
Reliability9 tools

Data & Persistence

Model, query, cache, and persist product data reliably.

PostgreSQLMongoDBMongooseSupabaseDrizzle ORMlibSQLSQLiteRedisAmazon S3 logoAmazon S3
Trust6 tools

Auth & Security

Authentication, validation, and permission-aware APIs.

Better AuthJWTOAuth-ready flowsValidationSanitizationRole-aware APIs
Delivery12 tools

Product Systems

Realtime, shared SDKs, usage limits, and hosting.

TurborepoShared SDKsSocket.ioSSESentryPinoDockerDokployCoolifySelf-hostingPWA-ready APIsUsage limits
Intelligence6 tools

AI & Integrations

AI services, voice pipelines, and async workflows.

Google GeminiDeepgramSpeech-to-textTranslation workflowsCachingAsync services
Collaboration6 tools

Frontend Fluency

Collaborate with frontend teams and React stacks.

Next.jsReactTailwind CSSshadcn/uiTanStack QueryDeveloper experience

Swipe to explore ⟷

Open to backend & product engineering roles

Let's build a backend that makes the product feel instant.

Reach out for backend roles, API-heavy products, AI integrations, or systems that need reliable auth, data, and real-time workflows.

Based in Egypt