Engineering Notes
Notes from the work
Shipping AI, GraphQL performance, JavaScript internals, and production backends.
August 24, 2026
5 Signs Your SaaS Needs a Senior Engineer (Before It's Too Late)
Slow APIs, tribal knowledge, stressful deploys, blind production, and tangled features, five early signals to act before crisis.
August 17, 2026
GraphQL vs REST: How to Actually Decide (Not the Answer You'll Find on Medium)
Neither is universally better. A practical decision framework based on clients, data complexity, real-time needs, and team experience.
August 10, 2026
How to Scope an MVP in 48 Hours (Without Wasting 3 Months Building the Wrong Thing)
Most MVPs fail before a single line of code is written, because the scope is wrong. The framework I use to scope an MVP in 48 hours.
August 8, 2026
The 3-Stage Backend Health Check for SaaS Founders
Most founders find out their backend is broken when users start complaining. A practical framework for pre-launch, early traction, and scaling.
June 20, 2026
We Shipped 3x Faster With AI, and Made Our Worst Architectural Decision in 5 Years
AI accelerated our delivery, but it couldn't see the landmines in our codebase, temporary fixes, client-driven abstractions, and payment-critical edge cases. How we ship fast without digging the hole faster.
April 18, 2025
Deploying a MERN App on a VPS with NGINX, PM2 & SSL
Step-by-step: Ubuntu VPS, Node and PM2, deploying your app, NGINX as a reverse proxy, and HTTPS with Let's Encrypt (Certbot).
April 2, 2025
JavaScript: Call Stack, Web APIs & the Event Loop
A practical walkthrough of how JS stays single-threaded yet handles async work, call stack, Web APIs, callback queue, the event loop, and microtasks vs macrotasks.
March 15, 2025
Optimizing a GraphQL API with NestJS
How I identified bottlenecks in a NestJS GraphQL API and improved performance by ~15% using DataLoader, resolver tuning, Redis caching, and query complexity limits.