-
programmingproductivityself improvementlife lessonswork life balanceI Turned My Life Into an Async Function. It Took Years to Debug.
You’re in a 1:1 with your manager, nodding at appropriate intervals. But your mind is already three hours ahead — parsing through the refact...
Friday, November 28, 2025 · 7 min read -
programmingproductivityself improvementlife lessonswork life balanceLearning to Rank
Google, Netflix, ChatGPT with web search. What do they have in common? A ranking algorithm decides what you see first. Not what exists. What...
Thursday, November 27, 2025 · 7 min read - backendfrontendjavascripttypescriptwork
A Year with Next.js Server Actions: Lessons Learned
I’ve been building web apps for years, and one thing that’s always been a pain is managing that messy back-and-forth between the client and ...
Wednesday, January 08, 2025 · 11 min read - backendfrontendjavascripttypescriptwork
How do we decide how to solve a problem?
In software development, we encounter a multitude of problems daily. They range from minor UI glitches to complex architectural challenges. ...
Wednesday, January 08, 2025 · 4 min read - lifeintrovertpsychologyworkinspiration
The Quiet Ones Win Differently
A few years ago, I spent three months on a feature nobody else wanted to touch. Edge cases, late nights, the kind of quiet grind that doesn'...
Sunday, January 05, 2025 · 7 min read - backendfrontendjavascripttypescriptwork
Managing complexity: Shared business logic in Next.js (Part 1: Server-Side Architecture)
Managing complexity: Shared business logic in Next.js (Part 1: Server-Side Architecture) A strategic approach to structuring and implementin...
Wednesday, September 11, 2024 · 10 min read - frontendjavascripttypescriptwork
Advanced Type Techniques in TypeScript — 05 const Assertions
Have you ever found yourself spending hours debugging unexpected behaviors in your TypeScript codebase? Subtle changes in configurations, st...
Wednesday, March 13, 2024 · 7 min read - typescriptfrontendjavascript
Advanced Union Type Techniques in TypeScript — 01 Extracting Types
Welcome to the first post of the "Advanced Union Type Techniques in TypeScript" series. In this series, we'll be looking into the...
Thursday, February 29, 2024 · 5 min read - typescriptfrontendjavascript
Advanced Union Type Techniques in TypeScript — 02 Excluding Types
Welcome back to the “Advanced Union Type Techniques in TypeScript” series. In the previous post, we explored the Extract utility type and h...
Thursday, February 29, 2024 · 4 min read - workfrontend
Mastering Atoms: The Building Blocks of Modern Frontend
In my previous post on Atomic Design, I discussed the methodology and its power for efficient and scalable product development. The focus w...
Monday, January 15, 2024 · 9 min read - frontendwork
Atomic Design: Harnessing Its Power for Efficient and Scalable Product Development
Every engaging product you interact with on a daily basis, whether it is a mobile or web application, is the result of hundreds if not thou...
Monday, January 15, 2024 · 10 min read - typescriptjavascriptfrontend
Advanced Union Type Techniques in TypeScript — 03 Indexed Types
Welcome back to the “Advanced Union Type Techniques in TypeScript” series. Previously, we looked into how Extract and Exclude utility types...
Monday, January 15, 2024 · 5 min read - frontendjavascripttypescriptbackend
Advanced Union Type Techniques in TypeScript — 04 Extracting Types from Discriminated Unions
If 1 cup of coffee does not solve the error, repeat. Welcome back to the “Advanced Union Type Techniques in TypeScript” series. Having cove...
Monday, January 15, 2024 · 7 min read