This guide covers React’s `onClick` event handler, including information about event listening, synthetic events, custom events, and more.
UX design thrives on clarity. And Miller’s law helps do just that for your users. In this blog, I talk about how 7±2 works, and how the best UI/UX designs use it silently. Less is more, after all.
Learn how Remix enhances SSR performance, simplifies data fetching, and improves SEO compared to client-heavy React apps.
Growth loops are a self-sustaining mechanism where certain actions users take lead to the acquisition of more users.
It’s lesser known, but brands simplify decision-making for users who settle for “good enough” instead of the perfect choice. In this blog, I do a thorough analysis of what brands use satisficing and how, and which ones don’t.
Adobe XD is Adobe’s version of Figma – but does it match up? This blog is an attempt at decoding the good and bad of both, and figuring out which one is best used for which use case.
Learn how to implement one-way and two-way data binding in Vue.js, using v-model and advanced techniques like defineModel for better apps.
Handle user authentication with React Router v6 and beyond with a deep dive into protected routes, 2FA authentication, and more.
Compare Prisma and Drizzle ORMs to learn their differences, strengths, and weaknesses for data access and migrations.
Let’s take a look at what accordion menus are, why they can be a problem for UX designers, and best practices for using them.
Search bars are more than icons and inputs — they can be a retention magnet or a churn trigger. Sharing my tried-and-tested search bar design principles in this blog!
Handle frontend data discrepancies with eventual consistency using WebSockets, Docker Compose, and practical code examples.