Ramin's Post
Feature flags are one of those tools that look trivial on the surface but change the way you think about deploying software. From a single constants file on my personal site to A/B testing nine design variants ...
An experience-driven reflection on software complexity, exploring how technical skills and business knowledge shape better system design.
A comprehensive guide for conducting effective code reviews, combining a technical checklist with process-oriented best practices.
A practical comparison of Prisma, TypeORM, and direct PostgreSQL clients in Node.js + TypeScript projects, focusing on performance, type safety, developer workflow, and flexibility, with clear examples to help ...
As a senior software engineer with years of experience in large-scale systems, I reflect on the psychological, organizational, and cultural reasons why we often don't do the right thing, even when we know what ...
Learn how to create native, animated transitions between UI states in your single-page applications using the View Transitions API. This post walks through the basics, provides a practical example, and links to...
List virtualization in React is a technique to boost performance when rendering large datasets, by only displaying items visible in the viewport instead of the entire list. This post explains how it works and p...
Building a blog can feel overwhelming, especially when you want something fast, customizable, and easy to maintain. If you're a developer who loves working with modern tools, combining Next.js, Contentlayer, an...
The @property CSS at-rule is part of the CSS Houdini set of APIs. It allows developers to explicitly define CSS custom properties, allowing for property type checking and constraining, setting default values, a...
