About Me

Full-stack developer with a passion for creating elegant, efficient, and scalable web applications

Full-Stack Developer

Building scalable web solutions at ATI Ltd with modern technologies

With 3.5+ years of professional experience, I specialize in:

  • Developing performant applications with React, Next.js, and TypeScript
  • Building robust backend systems using Node.js, Express, Nest.js
  • Creating responsive UIs with Tailwind CSS and component libraries
  • Implementing RESTful APIs and real-time features

Currently enhancing my expertise in Nest.js, Prisma, and SQL to architect more scalable backend solutions. Passionate about clean code architecture, performance optimization, and mentoring junior developers.

Mahfuz Islam

My Journey

A timeline of my professional experience and key milestones

2022

Joined ATI Ltd as React Developer

Started my journey at ATI Ltd, focusing on building modern user interfaces with React and related technologies.

2023

Promoted to Full-stack Developer

Expanded my role to include backend development with Node.js, Express, and MongoDB, taking on full-stack responsibilities.

2024

Delivered Major SaaS Projects

Led the development of several SaaS platforms across various sectors, including healthcare, education, and e-commerce.

Ongoing

Exploring New Technologies

Currently deepening my knowledge in Prisma ORM, PostgreSQL, and Nest.js to build more robust and scalable applications.

Professional Code Quality

Clean, efficient, and maintainable full-stack development

hooks/use-optimistic-mutation.ts
typescript
import { useState } from 'react';

/**
* A custom hook for handling optimistic UI updates with mutations
* 
* @param mutationFn - The function that performs the actual API mutation
* @param onSuccess - Optional callback for successful mutations
* @param onError - Optional callback for failed mutations
* @returns An object containing the mutation function and loading state
*/
export function useOptimisticMutation<T, R>(
 mutationFn: (data: T) => Promise<R>,
 onSuccess?: (data: R) => void,
 onError?: (error: Error, rollbackData: any) => void
) {
 const [isPending, setIsPending] = useState(false);
 
 // The main mutation function with optimistic updates
 const mutate = async (
   data: T, 
   optimisticUpdate: () => void, 
   rollbackFn: (error: Error) => void
 ) => {
   // Store previous state for potential rollback
   setIsPending(true);
   
   try {
     // Apply optimistic update immediately
     optimisticUpdate();
     
     // Perform the actual mutation
     const result = await mutationFn(data);
     
     // Call success callback if provided
     onSuccess?.(result);
     
     return result;
   } catch (error) {
     // If mutation fails, roll back the optimistic update
     rollbackFn(error as Error);
     
     // Call error callback if provided
     onError?.(error as Error, data);
     
     // Re-throw the error for the component to handle if needed
     throw error;
   } finally {
     setIsPending(false);
   }
 };
 
 return {
   mutate,
   isPending
 };
}

A custom React hook that implements optimistic UI updates for mutations, improving perceived performance.

Professional Code Quality

These code samples demonstrate my commitment to writing clean, maintainable, and production-ready code with:

  • Type Safety - Leveraging TypeScript's advanced type system for robust applications
  • Performance Optimization - Implementing techniques like caching and optimistic updates
  • Error Handling - Comprehensive error management with proper user feedback
  • Code Organization - Well-structured, reusable, and maintainable patterns

Fun Facts

A few things that define me beyond the code

Self-learner

I'm constantly exploring new technologies and frameworks through self-study and hands-on projects.

Clean Code Advocate

I'm focused on writing clean, efficient, and scalable code that follows best practices and design patterns.

Product-oriented Thinking

I approach development with a focus on the end-user experience and business goals, not just technical implementation.

Interested in Working Together?

Let's discuss how I can contribute to your next project or join your team.