Published onOctober 6, 2024Code based routing in Next.jsdevnextjsFor those who hate the file-based routing in Next.js
Published onSeptember 29, 2024SSR-friendly Custom React Hook for Local Storage Read and WritedevnextjsreactI learned something new about window's storage event!
Published onSeptember 28, 2024How to manipulate search params in Next.js easilydevnextjsreactIt's not that simple!
Published onSeptember 23, 2024How to protect Next.js App Router's page with authorization checkdevreactnext.jstypescriptWhen we don't want anyone to be able to access the page
Published onSeptember 22, 2024How to create infinite scroll with server action and useActionState in Next.jsdevreactnext.jstypescriptNo fetching, no useState, and no API endpoint
Published onSeptember 10, 2024Interesting behaviour of useTransition in Next.jsdevnextjsreactI just found out about its two use cases
Published onSeptember 4, 2024How to Show Task Sequence Progress with React Suspense and RSC in Next.jsdevnextjsWithout useState, useEffect, client side fetch, or any other networking library
Published onJuly 7, 2024Demistifying cache in Next.jsdevnextjsThe difference between cache and unstable_cache in Next.js
Published onJuly 1, 2024The unintuitive default behaviors in Next.js 14 App RouterdevnextjsMany fell victims to this questionable choice of default behaviors
Published onJune 19, 2024How to deploy a Next.js app with Prisma and Postgres using CoolifyubuntuclicoolifynextjsThe promise was to be able to deploy a Next.js app easily like to Vercel. But it turned out it was not so easy.
Published onJune 18, 2024Simplify data fetching with RSC, Suspense, and use API in Next.jsdevnextjsThe new use API combined with React Server Components (RSC) and Suspense can simplify data fetching in Next.js
Published onJune 12, 2024How to render zoomable image with Shadcn UI and Tailwind CSS in Next.jsdevnextjstailwindWith Shadcn UI and Tailwind CSS, you can easily render zoomable image.
Published onJune 10, 2024Making a User-Friendly, Smart, and Secure AI Assistant ChatbotdevnextjsaiVercel AI SDK and gpt-4o make it easy to build a user-friendly and natural-sounding AI chatbot.
Published onJune 4, 2024Nesktop: Make an offline desktop app with Next.jscliopen-sourcenext.jsAn alternative to building cross platform desktop app without Electron or without using native platform.
Published onMay 27, 2024Simple i18n for Next.js is smarter nowdevnextjscliNow I can finally replace i18next from my projects!
Published onMay 22, 2024Simple Internationalization for Next.js with Plurals SupportdevnextjscliNew update!
Published onMay 20, 2024How to easily secure Next.js projectsdevnextjsVery useful when you just want to demo your project
Published onMay 14, 2024Internationalization for Next.js Without HassledevnextjscliAnd also type-safe with zero overhead!
Published onMay 13, 2024Stop using environment variable directly in your TypeScript codedevnextjscliAfter that, stop writing the code to validate the environment variable.
Published onMay 9, 2024How to unit test Next.js API routedevnextjstestvitestmswTurned out it's not that hard!
Published onMay 6, 2024How to have animated nav tabs with React and Tailwind CSSdevnextjsreacttailwindJust like the one in Vercel's dashboard
Published onApril 29, 2024How I accidentally increase Vercel usagedevnextjsvercelYou shouldn't make the same mistake as I did
Published onApril 17, 2024server-only package is empty?!devnextjsThen how can it prevent a client component from using it?
Published onApril 16, 2024Understanding Layout and Template Next.js App RouterdevnextjsIt's not that simple
Published onApril 15, 2024Overcoming Next.js' Search Params Limitation in LayoutsdevnextjsNot many people know about this but parallel routes is awesome
Published onMarch 28, 2024How to have multiple root layouts in Next.js with App RouterdevnextjsDifferent routes in Next.js with App Router can have different root layouts.
Published onMarch 8, 2024Using generator function in ReactdevnextjsreactTo get sequence of values predictably
Published onMarch 7, 2024The main problem with Next.js 14 nowdevnextjsreactThat makes it feels unstable
Published onJanuary 31, 2024Reuse include in Prisma Query with TypeScript satisfiesdevnextjstypescriptTo avoid repetition!
Published onJanuary 26, 2024Basic visitor count using Next.js middleware and Vercel KVdevnextjsLike, very basic
Published onJanuary 24, 2024Enhancing User Experience with Background Tasks in Vercel Edge MiddlewaredevnextjsHave you heard of waitUntil?
Published onJanuary 8, 2024Another day, another React Hydration errordevpull-requestreactnext.jstypescriptThis time because of timezone
Published onJanuary 4, 2024Must remember when using Next.js App Routerdevopen-sourcenextjsHere's one thing you must never forget when using Next.js App Router.
Published onNovember 11, 2023How to return JSX from React Server Actionsdevpull-requestreactnext.jstypescriptA simple example of how to return JSX from a server action
Published onSeptember 4, 2023Use <Link> instead of router.pushdevpull-requestreactnext.jsIt's better to use Link component when possible in Next.js
Published onSeptember 3, 2023What is Discriminated Union in TypeScript?devpull-requestreactnext.jstypescriptA short example of discriminated union
Published onAugust 21, 2023Early return for unhappy pathdevpull-requestreactnext.jstypescriptA pattern I like is to return early for unhappy paths in a function
Published onAugust 9, 2023Use Tailwind's Arbitrary Variantdevpull-requestreactnext.jstypescripttailwind
Published onMay 5, 2020[Dev Note] Using Environment Variables in NextJS Safely and ConvenientlynextjsdevreactA developer's guide on using environment variables in NextJS effectively, updated for version 9.4.