Hi, I'm
Abdelrahman Hafez
Backend Engineer
I build reliable backend systems and contribute to open source. Core maintainer of Mongoose, the most popular MongoDB ODM for Node.js. Based in Amsterdam.
Open Source
Mongoose
Core Maintainer
The most popular MongoDB object modeling tool for Node.js.
2,000+ commits ยท 204 merged PRs
- - Maintain core ODM: schema system, query engine, middleware pipeline
- - Drive TypeScript type definitions serving 4.4M weekly downloads
- - Review community PRs, triage issues, shape project direction
Kareem
Contributor
The hooks/middleware engine that powers Mongoose.
- - Added filter option to hook execution for selective middleware
Homebrew
Contributor
The missing package manager for macOS.
- - Fixed autoremove deleting Brewfile packages during cleanup
- - Refactored Brewfile reading logic in bundle command
claude-code-plus
Creator
Enhancements for the Claude Code CLI: smart auto-approval for piped commands and 850+ pre-configured safe permissions.
- - Auto-approval hooks for piped Bash commands
- - Pre-configured safe permissions for common dev tools
mongoose-cast-aggregation
Creator
A Mongoose plugin that automatically casts aggregation pipeline stages.
- - Automatic type casting for MongoDB aggregation pipelines
x-cli
Creator
A CLI tool to view X (Twitter) posts and replies in the terminal.
- - Guest mode, thread context, JSON and pretty-print output
- - Shell completions for bash, zsh, and fish
Node.js Best Practices
Contributor
The largest Node.js best practices list. A top resource for Node developers.
- - Early contributor: proposed new sections, contributed to performance and testing strategy
- - Worked on error handling, proposed batch operations for performance best practices
Recent Writing
This New Mongoose Feature Can Improve Your MongoDB Write Operations Up to 2.6x
How Model.bulkSave() leverages MongoDB's bulkWrite to reduce network roundtrips and significantly improve write performance.
Software Performance: A Pragmatic Guide
A practical approach to performance optimization. Focus your energy where it matters: I/O bottlenecks, not micro-optimizations.
Is Optional Chaining Really a Good Addition to JavaScript?
Optional chaining is convenient, but if used carelessly it silences errors that should be caught early. Here's when to use it and when not to.