how to stop procrastination

How to Stop Procrastination: Master the Art of Taking Action

We’ve all been there — staring at our phones, scrolling endlessly, while a pile of important tasks waits for us. Procrastination is that silent productivity killer that tricks you into thinking you’ll “start in five minutes.” But guess what? Those five minutes turn into hours, and soon, the day’s gone.

“You may delay, but time will not.” — Benjamin Franklin

Why Do We Procrastinate?

Before you can stop procrastinating, you have to understand why you do it. Most people delay tasks not because they’re lazy, but because of:

  • Fear of failure — worrying the result won’t be good enough.

  • Overwhelm — when the task feels too big to even begin.

  • Lack of clarity — not knowing where to start.

  • Instant gratification — choosing short-term comfort over long-term goals

  • .

1. Break It Down

One of the best ways to overcome procrastination is to divide big tasks into small, actionable steps.
Instead of saying, “I need to write a report,” say, “I’ll write the introduction today.”
Each small win gives you momentum and confidence.

2. Use the “2-Minute Rule”

If something takes less than 2 minutes, do it immediately.
Reply to that email. Organize your desk. Drink some water.
Tiny tasks create a sense of progress that helps you tackle bigger ones.

“The secret to getting ahead is getting started.” — Mark Twain

3. Eliminate Distractions

Distractions are the fuel that keeps procrastination alive.

  • Keep your phone out of reach while working.

  • Use apps like Forest or Focus Booster to stay in flow.

  • Create a clean, dedicated workspace that tells your brain, “It’s time to work.”

4. Reward Yourself

Don’t make work a punishment. Make progress enjoyable.
After finishing a task, reward yourself — watch an episode, have a snack, or take a short walk.
This positive reinforcement trains your brain to link work with pleasure.

5. Forgive Yourself

Beating yourself up for procrastinating only makes it worse.
Forgive yourself, refocus, and restart.


Every moment is a fresh chance to begin again.

“You don’t have to be perfect to make progress — you just have to start.”

Final Thoughts

Procrastination doesn’t disappear overnight. It’s a habit — and like all habits, it can be replaced with better ones.


So next time you catch yourself putting things off, remind yourself:
Action beats anxiety. Progress beats perfection.

Oct 8, 20252 min read

Diving Into Nextjs from Reactjs

Your Next Step After React: Diving into Next.js

So, you've mastered the fundamentals of React: components, state, hooks, and the virtual DOM. Congratulations! You're ready to build real-world, production-grade applications. The best way to do that? By moving from a client-side rendering framework like pure React (with tools like Vite or Create React App) to a full-stack, server-side-rendered (SSR) framework: Next.js.

Next.js takes everything you love about React and supercharges it with performance, routing, and data-fetching capabilities that make your applications faster, more SEO-friendly, and easier to scale.

1. The Core Shift: Client-Side vs. Server-Side Rendering

The biggest change you'll encounter is how your application is rendered.

In pure React (Client-Side Rendering):

The browser downloads an empty HTML file and a massive JavaScript bundle. The JS runs, fetches data, and then renders the UI. This is bad for SEO and slow on initial load.

In Next.js (Server-Side Rendering/Pre-rendering):

Next.js renders the initial HTML for each page on the server and sends it to the browser. The browser sees a fully formed page instantly (great for SEO and performance), and then React "hydrates" it to become interactive. This is the power of Pre-rendering.

2. Effortless Routing with the File System

Forget about manually setting up `react-router-dom`. Next.js uses a **file-system-based router**. Every file in the `app` directory (or `pages` in older versions) automatically becomes a route.

Example: Creating an "About" Page

In your Next.js project, simply create a file:

app/about/page.js

And add your component:

'use client' // This tells Next.js to render this component on the client

import React from 'react'

const AboutPage = () => {
  return (
    <div>
      <h1>Welcome to the About Page</h1>
      <p>This page is automatically routed to /about</p>
    </div>
  )
}

export default AboutPage

You can now navigate to `yourdomain.com/about` without any extra setup.

3. Data Fetching and Server Components (App Router)

With the Next.js App Router, you can write **Server Components** by default (no `'use client'` at the top). Server Components allow you to fetch data directly on the server, which is secure and fast.

In a Server Component, you can use the native `fetch` API directly, and it will run **on the server**.

Example: Server-Side Data Fetching

// app/posts/page.js (This is a Server Component by default)

async function getPosts() {
  // This fetch call runs securely on the server
  const res = await fetch('https://jsonplaceholder.typicode.com/posts', { next: { revalidate: 60 } })
  if (!res.ok) {
    // This will activate the closest `error.js` Error Boundary
    throw new Error('Failed to fetch data')
  }
  return res.json()
}

export default async function PostsPage() {
  const posts = await getPosts()
  
  return (
    <ul>
      {posts.map((post) => (
        <li key={post.id}>{post.title}</li>
      ))}
    </ul>
  )
}
  • Notice the `async/await` directly in the component and the function!
  • You handle fetching with simple `fetch`, and Next.js automatically handles caching and revalidation (`revalidate: 60`).

4. Bridging the Gap: Where to Use 'use client'

While Next.js prefers Server Components for performance, you still need to use **Client Components** for interactivity. If a component needs to use:

  1. State (`useState`)
  2. Effects (`useEffect`)
  3. Browser APIs (like `window` or event listeners)

...then you must add the `'use client'` directive at the top of the file.

Conclusion

Moving from React to Next.js is a natural, necessary evolution. It allows you to leverage your existing React knowledge while adopting powerful features like file-system routing, built-in SEO, and advanced rendering patterns (SSR, SSG, ISR). The learning curve is gentle because the core is still React, but the performance payoff is immense. Happy coding!

Oct 7, 20254 min read