Backend engineering
Building scalable systems that power modern products.
I am a backend engineer with 3+ years of experience shipping production infrastructure for concurrent users. I focus on clean architecture, TypeScript-first Node.js codebases, and systems that are observable, testable, and resilient when things go wrong.
Writing
Notes on backend design, Node.js and the frameworks I use with it, data modeling, and running systems in production will appear here as posts go live.
- Your backend isn't accepting connections. Linux is.everyone says go is fast. rust is fast. but the real hero is usually the linux kernel.
- Your database query is fast, but your api is still slow. here is why !sometimes the database is fast, but the api is still slow.
- Is storage expensive in the 21st century ?is storage expensive in the 21st century ?
- PostgreSql is smart at managing null values ??i love this question.
- If you are still handling critical data consistency only inside handlers, repositories, or service logic eventually your data will break.One painful lesson I learned while building high traffic systems !
- Memcached is often called a simple key value cache but internally, cache invalidation is actually one of the most carefully engineered parts of the system.It does NOT actively track every key and delete it when TTL expires.
- I always thought database CPUs just chill most of the time and IO is doing all the heavy work… but I was wrong.database server accepts a connection from the client, client sends SQL query bytes, they sit in kernel buffer and then get copied into user space. copyiiiiinggg ?????? boom who does it it's me again your cpuuuuu
- Caching is never a solution for your slow query! Yeah, you heard it right.last night I was on a call with my friend ! they were trying to figure out how to add caching to speed things up, but after looking into the database we found the real issues were missing indexes, poor composite index ordering, unordered UUID primary keys, and unnecessary scans. We also discussed storing some redundant data in jsonb to reduce joins because coming into 2026, performance is key rather than storage size and all also about the precomputed small table joins incase if we care about the aggregated data!
What I build
I specialize in backends that need to stay correct and fast as product surface area grows: bounded contexts, clear contracts between services, and operational signals that make incidents boring to diagnose.
APIs at scale
High-throughput REST and GraphQL APIs designed for clarity, versioning, and predictable performance under load.
Real-time systems
WebSocket architectures and streaming patterns that keep clients in sync without sacrificing reliability.
Event-driven backends
Microservices and async pipelines that decouple domains, improve resilience, and scale with traffic.
Stack and principles
Day to day I reach for Node.js and the right framework for the job Nest, Express, Fastify, and others when they fit alongside PostgreSQL and AWS, with TypeScript as the default language for shared types across services and clients. I care about naming, module boundaries, and making the “happy path” and failure modes equally explicit in code and in dashboards.
Where I have shipped
Production systems I have contributed to span several domains. That variety shaped how I think about compliance, payments, real-time messaging, catalog and inventory, and learning progress—all with different consistency and latency requirements.
- Dating & social
- Directory Platform
- Learning (LMS)
- Ads & Marketing
- Hiking & Outdoor
Owning the full backend lifecycle
I am comfortable owning work from design through deployment sketching interfaces and data models, implementing with tests, packaging for reproducible runs, and shipping to the cloud with monitoring in place. I am effective as an individual contributor or collaborating with the engineering team as a technical lead pairing, reviewing, and aligning the team on architecture without slowing delivery.
- System design and trade-off analysis
- Implementation with maintainable boundaries
- Testing with TDD and Jest
- Containerization and repeatable environments
- Cloud deployment and operational readiness