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.
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 TouchHi, 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.
Bachelor's Degree, Computer Science
2020 — 2024 · GPA 3.57Back End Developer
Jun 2026 — Present · Remote / HybridSoftware Engineer
Dec 2023 — Jun 2026Joined the engineering team as a backend intern, contributing to production services and learning large-scale Node.js system design.
Graph RAG knowledge base for research papers — models papers, authors, concepts, and citations in Neo4j and exposes them to AI assistants via MCP tools.
Production NestJS API with Postgres 18, Redis cache-aside, stampede control, Docker orchestration, CI/CD, and k6 load testing.
Notes I wrote and love to share on backends, databases, performance, and systems that hold up in production.
Jul 21, 2026
Indexes make fast access possible. Extended statistics make the planner choose them when it should. When a query is slow, the first instinct is almost always the same: add an index. Then come the fa
Read articleYou can make your JavaScript code run 10×, 50×, sometimes even 100× faster — not by rewriting algorithms, but by understanding how V8 lays objects out in memory. This isn’t “just cleaner code.” It opt
A Number That Made Us Stop During a routine load test, we watched our Node.js application climb to 6 GB of RAM at peak. No memory leak in the traditional sense. No runaway loop we forgot to close. Jus
When I started my career and began studying system design, I thought I understood reverse proxies, load balancers, API gateways, and service discovery. Each had a clean definition in the textbooks. Th
TL;DR: Two systems with identical algorithms and identical code can differ by 10x in throughput. The reason is usually not the code — it's how the code moves data through a CPU you've never thought ab
Most comparisons start with a diagram of boxes. This one starts with a question: what does it actually mean for a process to be "isolated"? If you understand that, Docker stops feeling like magic and
A practical reference for understanding how systems handle traffic at scale. What you will walk away with: Why reads and writes scale differently — mechanically, not as slogans The correct progressi
A full, no-shortcut guide: how the kernel, processes, threads, context switches, and schedulers actually work — and why that knowledge decides how you write async code, goroutines, and scalable server
Open to interesting backend and systems problems, collaborations, and conversations about performance, databases, and production software.