Reduce Bundle Size by 50%, Increase Revenue by 10%: The Art of Code Splitting
Every new feature bloats your JS bundle. Learn practical Code Splitting, Tree Shaking, and Dynamic Import techniques to keep your app fast and lightweight.

Writing about development and technology.
Every new feature bloats your JS bundle. Learn practical Code Splitting, Tree Shaking, and Dynamic Import techniques to keep your app fast and lightweight.

Component growing too large? Logic mixed with UI? Learn how to extract business logic into Custom Hooks for cleaner, testable code.

Managing API state with `isLoading`, `isError`, `data`? Learn how Discriminated Unions prevent 'impossible states' and simplify your logic.

Obsessively wrapping everything in `useMemo`? It might be hurting your performance. Learn the hidden costs of memoization and when to actually use it.

Put everything in one `UserContext`? Bad move. Learn how a single update re-renders the entire app and how to optimize using Context Splitting and Selectors.

Your beautiful hero image killed the LCP score? Understand how `next/image` optimizes format (WebP/AVIF), resizing, and layouts. Deep dive into `sizes` prop and `blurDataURL`.

Implementing infinite scroll with scroll listeners kills performance. Learn how to refactor with Intersection Observer API to reduce CPU usage by 90%.

Confused by `<T>` in TypeScript? Learn Generics using the 'Transparent Sticker' analogy. Understand why it's safer than `any` and how to create flexible, reusable components.

Using 'as' to silence errors? It's lying to the compiler. Learn why Type Assertions cause runtime crashes and how to use Type Guards instead.

Installed the package, but Node still says 'Cannot find module'? Debugging strategies for package.json exports, file extensions, and monorepo linking issues.

Service is growing, but Supabase alerts 'Disk Full'? Understanding the real limits of the Free Tier and optimization tips to survive without upgrading.

Added a column to DB, but frontend TS still complains? Learn how 'supabase gen types' works and how to automate type sync in your CI/CD pipeline.

Team member changed the schema, and now `supabase db push` fails? Learn how to fix migration history mismatches using `migration repair`.

Works locally, fails on deploy? Learn the difference between Node.js and Edge Runtime. Fix import errors and configure Import Maps correctly.

Built a chat app, but Realtime subscription is silent? Check the 'Replication' setting. Learn why Postgres WAL is key to Supabase Realtime.

Table RLS is set, but file upload fails with 403? You forgot Storage RLS. Learn how to configure policies for `storage.objects` buckets.

User signed up, but no email arrived. Is it Supabase's fault? Learn why default SMTP fails and how to fix it using Resend or AWS SES.

Solving issues where TypeScript type errors show during development but are ignored during build.

How to solve CORS errors during development using proxy configuration and important considerations.

Troubleshooting absolute path import configuration issues in TypeScript/JavaScript projects. Exploring the 'Map vs Taxi Driver' analogy, CommonJS vs ESM history, and Monorepo setup.
