Kareem Ashraf
Software Engineer
I am passionate about building scalable, high-performance systems and continuously exploring new technologies. I enjoy solving complex technical problems, diving deep into system internals, and turning ideas into efficient, production-ready solutions.
Get in TouchAbout Me
Hi, I’m Kareem Ashraf — a software engineer who cares about how systems behave under pressure. I dig into database internals, system performance, and distributed design so the software I ship stays fast, lean, and dependable in production. From building dynamic SQL engines and optimizing memory-heavy production workloads, to shipping queues, Graph RAG tooling, and APIs with real observability — I focus on measurable impact, not just features. I’m always looking for harder problems worth solving.
Education
Alexandria University - EELU
Bachelor's Degree, Computer Science
2020 — 2024 · GPA 3.57Skills
Languages
- TypeScript
- JavaScript
- SQL
- Java
- Go
Backend
- Node.js
- NestJS
- Express
- Gin
- Protobuf
- Socket.io
Data & storage
- PostgreSQL
- MySQL
- Redis
- MongoDB
- SQLite
- Neo4j
Cloud & ops
- AWS
- Docker
- Kubernetes
- CI/CD
- Cloudflare Workers
- OpenTelemetry
- Prometheus
- Grafana
Work Experience
Back End Developer
Jun 2026 — Present · Remote / Hybrid- Implemented and maintain a BFF service with direction-based logic for migrating the OCS service between Kubernetes clusters.
- Enhanced the service by resolving excessive logging and the memory issues it caused.
- Improved MySQL database queries for better performance and reliability.
- Implemented endpoints that serve different user cases across the platform.
- Handled concurrency issues in the order service to guarantee consistency.
- Preparing canary deployments for users until the migration is validated.
nWeave
2023 — 2026 3 yearsSoftware Engineer
Dec 2023 — Jun 2026- Contributed to building a dynamic SQL query engine within a microservices architecture that interprets complex client predicates across hundreds of data sources and tables (over 10M+ records), generating highly optimized queries without predefined templates and significantly reducing query latency through a deep understanding of database internals.
- Optimized application performance by reducing peak memory usage from 11 GB to 1.79 GB through resolving memory leaks and applying efficient algorithms, data structures, and memory management practices, while also reducing memory and CPU usage by 42% by redesigning the PostgreSQL query engine and significantly increasing overall throughput.
- Resolved memory leaks and introduced task parallelization, enabling efficient scaling to 10× user load (supporting 20K+ active users across 50K+ property listings) with 70% faster application bootstrap time.
- Reduced p95 latency by 35% under peak load by architecting a CPU-optimized Go processing service using goroutines and worker pools to offload heavy computation (data aggregation, bulk exports, async report generation) from the main application layer.
- Built and maintained CI/CD pipelines for automated testing, zero-downtime deployments, and environment consistency, streamlining the full software delivery lifecycle.
- Decreased inter-service payload size by 80% and improved network latency by implementing Protocol Buffers (Protobuf) for high-performance cross-service communication.
- Implemented observability and monitoring practices by integrating Prometheus, Grafana, OpenTelemetry, Sentry, and Datadog, enabling centralized metrics, logs, and distributed tracing across services.
- Built PostgreSQL monitoring dashboards to track query latency, throughput, and slow queries, significantly improving system visibility, performance analysis, and debugging efficiency.
- Integrated Cloudflare Workers and Hyperdrive for edge execution, reducing global database latency and improving response times across regions.
- Maintained a unified AWS infrastructure stack (IAM, S3, Lambda) with event-driven pipelines and lifecycle management.
Backend Intern
Joined the engineering team as a backend intern, contributing to production services and learning large-scale Node.js system design.
Latest Projects
GraphScholar
Graph RAG knowledge base for research papers — models papers, authors, concepts, and citations in Neo4j and exposes them to AI assistants via MCP tools.
Property Listings API
Production NestJS API with Postgres 18, Redis cache-aside, stampede control, Docker orchestration, CI/CD, and k6 load testing.
Blogs
Notes I wrote and love to share on backends, databases, performance, and systems that hold up in production.
Follow on Hashnode
Sep 12, 2026
I Built a GPS Streaming Pipeline From Scratch. Here's What No Tutorial Told Me.
RideStream is a small NestJS project that simulates the location pipeline of a ride-sharing app. Drivers and riders emit GPS coordinates, Kafka durably logs them, workers compute ETA and detect anomalies.
Read article-
From Postgres to OLAP: What I Learned Building an F1 Analytics Engine with DuckDB
I spent three years working almost exclusively with PostgreSQL. Building an F1 analytics engine with DuckDB showed me how OLAP thinks differently from that world.
-
Postgres SELECT DISTINCT Doesn't Scale — And How to Fix It
Who this is for: You write SQL queries, you've heard of indexes, but you've never touched recursive CTEs. This guide starts from zero and builds up to the full solution.
-
Git Internals and Branching Strategies: A Complete Guide
If you've been using Git for a while but still feel like some things are magic — this guide is for you. We'll start from the very foundation and work all the way up.
-
When One Database Is No Longer Enough: A Practical Guide to Distributed Transactions
You will not sit down one morning and decide to build a distributed system. You will wake up and realize you already have one — and now you need to keep it consistent.
-
Latency, Throughput & the Laws That Govern Every System Under Load
These are the diagnostic language every engineer uses when a system misbehaves under load — and the sizing vocabulary every architecture conversation needs.
-
My Journey as a Backend Engineer Into the World of AI Agents
I am a backend engineer. My world is APIs, databases, queues, and services. Then I started building with AI agents, and the assumptions I had about reliability changed.
-
What I Learned Building Real Observability Into an App
This isn't a how-to-set-up-Sentry post. It's what I learned when observability had to answer real production questions, not just collect dashboards.
-
Concurrency at the App and Server Level: Race Conditions, Visibility, and the Primitives That Fix Them
Scope: multiple threads inside a single process, sharing memory. What happens when two threads touch the same memory at the same time.
-
Ordering Events in Distributed Systems
You do not need to implement these clocks from scratch. You still need to know what DynamoDB, CockroachDB, and the others are doing when they order events.
-
From Ephemeral Ports to GC Pauses: The Full Cost of a Missing Connection Pool
What a TCP connection actually is, what happens inside your process when you open one, and why skipping a pool eventually shows up as port and GC pain.
-
The Endpoint That Almost Broke Our App — And How Binary Encoding Saved It
A filter endpoint grew until the payload itself became the problem. Binary encoding cut the size and made the path usable again.
Contact
Let’s talk
Open to interesting backend and systems problems, collaborations, and conversations about performance, databases, and production software.