<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Abu Hasan Rumi - Blog RSS Feed]]></title><description><![CDATA[Latest articles on frontend development, React, JavaScript, and web technologies]]></description><link>http://github.com/dylang/node-rss</link><generator>GatsbyJS</generator><lastBuildDate>Sun, 17 Aug 2025 08:07:01 GMT</lastBuildDate><author><![CDATA[Abu Hasan Rumi]]></author><language><![CDATA[en-US]]></language><item><title><![CDATA[@abuhasanrumi/timezone-to-country]]></title><description><![CDATA[A tiny library to get country and continent information by timezone. Lightweight, easy to use, and suitable for both frontend and backend…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Sun, 01 Jul 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A tiny library to get country and continent information by timezone. Lightweight, easy to use, and suitable for both frontend and backend JavaScript environments.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[@abuhasanrumi/state-sync]]></title><description><![CDATA[A tiny utility for debouncing, throttling, and dynamic rate-limiting in JavaScript. Designed to be lightweight and dependency-free for…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Fri, 01 Jun 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A tiny utility for debouncing, throttling, and dynamic rate-limiting in JavaScript. Designed to be lightweight and dependency-free for frontend and backend use.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[@abuhasanrumi/micro-flow]]></title><description><![CDATA[A micro-library to sync application state across browser tabs/windows. Useful for real-time sync of UI changes like dark mode, auth, or cart…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Tue, 01 May 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A micro-library to sync application state across browser tabs/windows. Useful for real-time sync of UI changes like dark mode, auth, or cart items.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[WebPeekr]]></title><description><![CDATA[A Chrome extension designed to extract fonts, colors (converted to hex codes), and other key design elements directly from web pages.]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Sun, 01 Apr 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A Chrome extension designed to extract fonts, colors (converted to hex codes), and other key design elements directly from web pages.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[RayBim Technologies]]></title><description><![CDATA[A fully responsive multi-page website built with HTML, CSS and BootStrap.]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Thu, 01 Mar 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A fully responsive multi-page website built with HTML, CSS and BootStrap.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Frontend Development Best Practices: Building Fast and Accessible Web Applications]]></title><description><![CDATA[Comprehensive guide to modern frontend development practices, including React optimization, accessibility standards, and performance techniques used in professional web development.]]></description><link>https://itsrumi.com/blog/frontend-development-best-practices</link><guid isPermaLink="false">https://itsrumi.com/blog/frontend-development-best-practices</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Sun, 17 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;Frontend Development Best Practices: Building Fast and Accessible Web Applications&lt;/h1&gt;
&lt;p&gt;As a &lt;strong&gt;frontend engineer&lt;/strong&gt; specializing in &lt;strong&gt;React&lt;/strong&gt; and modern web technologies, I&apos;ve learned that creating exceptional user experiences requires more than just writing functional code. It demands a deep understanding of performance optimization, accessibility standards, and user-centered design principles.&lt;/p&gt;
&lt;h2&gt;The Foundation: JavaScript and Modern Frameworks&lt;/h2&gt;
&lt;h3&gt;JavaScript ES6+ and Beyond&lt;/h3&gt;
&lt;p&gt;Modern JavaScript forms the backbone of efficient web applications. Key concepts I utilize daily include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Destructuring and Spread Syntax&lt;/strong&gt; for cleaner code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Async/Await&lt;/strong&gt; for better promise handling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modules&lt;/strong&gt; for maintainable code organization&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Arrow Functions&lt;/strong&gt; and lexical scoping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;React Performance Optimization&lt;/h3&gt;
&lt;p&gt;Working extensively with &lt;strong&gt;React applications&lt;/strong&gt;, I&apos;ve discovered several optimization techniques:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Use React.memo for component optimization&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; OptimizedComponent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;memo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; data &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Implement useCallback for expensive operations&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; expensiveOperation &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;useCallback&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;heavyCalculation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;dependencies&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;dependencies&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Building Shopify Apps: E-commerce Excellence&lt;/h2&gt;
&lt;p&gt;My experience in &lt;strong&gt;Shopify app development&lt;/strong&gt; has taught me the importance of:&lt;/p&gt;
&lt;h3&gt;Performance in E-commerce&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Code splitting&lt;/strong&gt; for faster initial loads&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lazy loading&lt;/strong&gt; for product images and components&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API optimization&lt;/strong&gt; to reduce merchant dashboard load times&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Efficient state management&lt;/strong&gt; for complex app interactions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;User Experience Focus&lt;/h3&gt;
&lt;p&gt;Creating intuitive interfaces that help merchants succeed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clear navigation and information architecture&lt;/li&gt;
&lt;li&gt;Responsive design for mobile and desktop use&lt;/li&gt;
&lt;li&gt;Accessible forms and interactive elements&lt;/li&gt;
&lt;li&gt;Performance monitoring and optimization&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Accessibility: Building for Everyone&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Web accessibility&lt;/strong&gt; isn&apos;t optional—it&apos;s essential. Key practices include:&lt;/p&gt;
&lt;h3&gt;Semantic HTML&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- Good: Semantic and accessible --&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;nav&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;aria-label&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;Main navigation&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;ul&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;role&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;/about&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;About&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;/projects&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Projects&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;ul&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;nav&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- Better: Include proper ARIA labels --&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;aria-label&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;Download resume PDF&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Download Resume&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Focus Management&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Logical tab order for keyboard navigation&lt;/li&gt;
&lt;li&gt;Focus indicators for interactive elements&lt;/li&gt;
&lt;li&gt;Skip links for main content areas&lt;/li&gt;
&lt;li&gt;Screen reader compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Performance Optimization Strategies&lt;/h2&gt;
&lt;h3&gt;Core Web Vitals&lt;/h3&gt;
&lt;p&gt;Focusing on Google&apos;s Core Web Vitals metrics:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Largest Contentful Paint (LCP)&lt;/strong&gt;: Optimizing image loading and critical resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;First Input Delay (FID)&lt;/strong&gt;: Minimizing JavaScript execution time&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cumulative Layout Shift (CLS)&lt;/strong&gt;: Preventing unexpected layout shifts&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Modern Tooling&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Webpack optimization&lt;/strong&gt; for efficient bundling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image optimization&lt;/strong&gt; using WebP and AVIF formats&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CSS-in-JS&lt;/strong&gt; with styled-components for component-scoped styles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Progressive Web App&lt;/strong&gt; features for improved user experience&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Project Architecture and Scalability&lt;/h2&gt;
&lt;h3&gt;Component-Driven Development&lt;/h3&gt;
&lt;p&gt;Building reusable, maintainable components:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Flexible, reusable button component&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; Button &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; variant &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;primary&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; size &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;medium&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; children&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;props &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;StyledButton variant&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;variant&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; size&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;size&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;props&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;children&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;StyledButton&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;State Management&lt;/h3&gt;
&lt;p&gt;Choosing the right state management solution:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React Context&lt;/strong&gt; for simple global state&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Redux Toolkit&lt;/strong&gt; for complex application state&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SWR or React Query&lt;/strong&gt; for server state management&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Continuous Learning and Adaptation&lt;/h2&gt;
&lt;p&gt;The frontend landscape evolves rapidly. Staying current involves:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Following &lt;strong&gt;web standards&lt;/strong&gt; and browser implementations&lt;/li&gt;
&lt;li&gt;Experimenting with &lt;strong&gt;new frameworks&lt;/strong&gt; and tools&lt;/li&gt;
&lt;li&gt;Contributing to &lt;strong&gt;open source projects&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Building &lt;strong&gt;personal projects&lt;/strong&gt; to test new concepts&lt;/li&gt;
&lt;li&gt;Engaging with the &lt;strong&gt;developer community&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Effective frontend development combines technical expertise with user empathy. Whether building &lt;strong&gt;Shopify applications&lt;/strong&gt;, &lt;strong&gt;React dashboards&lt;/strong&gt;, or &lt;strong&gt;accessible web experiences&lt;/strong&gt;, the goal remains constant: creating digital products that users love and businesses depend on.&lt;/p&gt;
&lt;p&gt;The key is balancing cutting-edge technology with proven best practices, always keeping performance, accessibility, and user experience at the forefront of development decisions.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Want to discuss frontend development or explore collaboration opportunities? Feel free to reach out through my portfolio contact form.&lt;/em&gt;&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Software Developer]]></title><description><![CDATA[Designed and implemented critical application features, ensuring scalability and maintainability. Provided guidance and support to junior…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;Designed and implemented critical application features, ensuring scalability and maintainability.&lt;/li&gt;
&lt;li&gt;Provided guidance and support to junior team members, fostering a collaborative team environment.&lt;/li&gt;
&lt;li&gt;Collaborated with product, design, and QA teams to align on project requirements and deliverables.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Junior Software Developer]]></title><description><![CDATA[Worked on the dashboard part of an app for Shopify websites. Developed core features and made it easy to add new ones in a scalable and…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Mon, 01 Jan 2024 00:00:00 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;Worked on the dashboard part of an app for Shopify websites.&lt;/li&gt;
&lt;li&gt;Developed core features and made it easy to add new ones in a scalable and reusable way.&lt;/li&gt;
&lt;li&gt;Collaborated with different teams to ensure smooth integration and performance.&lt;/li&gt;
&lt;li&gt;Reviewed code and helped junior developers, creating a supportive team environment.&lt;/li&gt;
&lt;li&gt;Improved the user experience and overall functionality of the app.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[JavaScript Developer]]></title><description><![CDATA[Contributed to the enhancement and maintenance of Shopify-based non-embedded apps. Developed new features to expand app capabilities…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Mon, 01 May 2023 00:00:00 GMT</pubDate><content:encoded>&lt;ul&gt;
&lt;li&gt;Contributed to the enhancement and maintenance of Shopify-based non-embedded apps.&lt;/li&gt;
&lt;li&gt;Developed new features to expand app capabilities.&lt;/li&gt;
&lt;li&gt;Resolved issues to ensure smooth operation and performance.&lt;/li&gt;
&lt;li&gt;Improved existing functionalities for better user experience.&lt;/li&gt;
&lt;li&gt;Ensured optimal performance and reliability of the apps.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Accessible Clickable Cards]]></title><description><![CDATA[Clickable cards with multiple child links]]></description><link>https://itsrumi.com/pensieve/clickable-cards</link><guid isPermaLink="false">https://itsrumi.com/pensieve/clickable-cards</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Wed, 21 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://codepen.io/bchiang7/pen/xxRBvgd?editors=1100&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Codepen Demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Card layout where the card itself isn&apos;t an anchor link, but the whole card is clickable (with a &lt;code class=&quot;language-text&quot;&gt;:before&lt;/code&gt; pseudo element on the main &lt;code class=&quot;language-text&quot;&gt;&amp;lt;a&gt;&lt;/code&gt;). Links inside of the card are still clickable.&lt;/p&gt;
&lt;h2&gt;CSS&lt;/h2&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;css&quot;&gt;&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.grid__item&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token selector&quot;&gt;&amp;amp;:hover,
  &amp;amp;:focus-within&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; #eee&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token selector&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; relative&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;z-index&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token selector&quot;&gt;h2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token selector&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; static&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

      &lt;span class=&quot;token selector&quot;&gt;&amp;amp;:hover,
      &amp;amp;:focus&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; blue&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

      &lt;span class=&quot;token selector&quot;&gt;&amp;amp;:before&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; absolute&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;z-index&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;left&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;transition&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; background-color 0.1s ease-out&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token property&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; transparent&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Integrating Algolia Search with WordPress Multisite]]></title><description><![CDATA[Building a custom multisite compatible WordPress plugin to build global search with Algolia]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Fri, 27 Mar 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Building a custom multisite compatible WordPress plugin to build global search with Algolia&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[Expensify - React Native]]></title><description><![CDATA[A modern expense tracking application built with Expo and React Native that helps users manage their finances efficiently. The app features…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Thu, 01 Feb 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A modern expense tracking application built with Expo and React Native that helps users manage their finances efficiently. The app features a clean, dark-themed UI with smooth animations and comprehensive financial management capabilities.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item><item><title><![CDATA[FlexiForm]]></title><description><![CDATA[A is a modern, customizable form builder built with Next.js, Tailwind CSS, and Prisma. It features drag-and-drop form creation, real-time…]]></description><link>https://itsrumi.comnull</link><guid isPermaLink="false">https://itsrumi.comnull</guid><dc:creator><![CDATA[Abu Hasan Rumi]]></dc:creator><pubDate>Mon, 01 Jan 2001 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A is a modern, customizable form builder built with Next.js, Tailwind CSS, and Prisma. It features drag-and-drop form creation, real-time previews, dark mode, and secure user authentication — making it easy to create, manage, and share forms effortlessly.&lt;/p&gt;</content:encoded><author>Abu Hasan Rumi</author></item></channel></rss>