<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dhrubaraj Pati</title>
    <description>The latest articles on DEV Community by Dhrubaraj Pati (@codewithdhruba).</description>
    <link>https://dev.to/codewithdhruba</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3561028%2F605111f7-7fd7-4086-bd0e-2e879871145c.png</url>
      <title>DEV Community: Dhrubaraj Pati</title>
      <link>https://dev.to/codewithdhruba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codewithdhruba"/>
    <language>en</language>
    <item>
      <title>How I Built My First Website Using React &amp; TailwindCSS</title>
      <dc:creator>Dhrubaraj Pati</dc:creator>
      <pubDate>Sun, 12 Oct 2025 19:55:02 +0000</pubDate>
      <link>https://dev.to/codewithdhruba/how-i-built-my-first-website-using-react-tailwindcss-282l</link>
      <guid>https://dev.to/codewithdhruba/how-i-built-my-first-website-using-react-tailwindcss-282l</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The best way to learn web development is to build something real.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hey everyone 👋&lt;br&gt;
In this post, I’ll share how I built my very first website using &lt;strong&gt;React&lt;/strong&gt; and &lt;strong&gt;TailwindCSS&lt;/strong&gt; from setup to deployment. If you’re a beginner wondering where to start, this guide will help you get there faster.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why I Chose React + TailwindCSS
&lt;/h2&gt;

&lt;p&gt;When I started learning web development, I wanted something modern, fast, and flexible.&lt;br&gt;
After trying out plain HTML/CSS and Bootstrap, I switched to &lt;strong&gt;React&lt;/strong&gt; for dynamic components and &lt;strong&gt;TailwindCSS&lt;/strong&gt; for utility-first styling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt; helped me organize my project into reusable components, and &lt;strong&gt;Tailwind&lt;/strong&gt; gave me full design control — without writing tons of CSS.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Setting Up the Project
&lt;/h2&gt;

&lt;p&gt;I started with &lt;strong&gt;Vite&lt;/strong&gt;, a fast build tool for React projects.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm create vite@latest my-portfolio --template react
cd my-portfolio
npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I installed &lt;strong&gt;TailwindCSS&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Added this to &lt;code&gt;tailwind.config.js&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./index.html&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./src/**/*.{js,ts,jsx,tsx}&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And finally, imported Tailwind into my &lt;code&gt;index.css&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;utilities&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The setup was done!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Designing the Layout
&lt;/h2&gt;

&lt;p&gt;I wanted a &lt;strong&gt;clean and responsive&lt;/strong&gt; layout with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A beautiful &lt;strong&gt;navbar&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;hero section&lt;/strong&gt; with my introduction&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;projects&lt;/strong&gt; section&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;contact form&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Tailwind, I could easily style everything like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-gray-900 text-white min-h-screen"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;nav&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"p-6 flex justify-between items-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-2xl font-bold text-cyan-400"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;My Portfolio&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex space-x-6"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Home&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Projects&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Contact&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;nav&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;No custom CSS, just clean utility classes&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Adding Components
&lt;/h2&gt;

&lt;p&gt;I split the site into reusable components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Navbar.jsx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hero.jsx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Projects.jsx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Contact.jsx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Footer.jsx&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each component was small and easy to manage.&lt;br&gt;
Example: my &lt;code&gt;Hero&lt;/code&gt; section used a simple animation with &lt;strong&gt;Framer Motion&lt;/strong&gt; to make it lively.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Deploying to Netlify
&lt;/h2&gt;

&lt;p&gt;Deployment was super easy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pushed the code to GitHub&lt;/li&gt;
&lt;li&gt;Logged into &lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Linked my repo&lt;/li&gt;
&lt;li&gt;Done 🎉&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My site was live in seconds!&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How components work in React&lt;/li&gt;
&lt;li&gt;How to use Tailwind’s utility classes effectively&lt;/li&gt;
&lt;li&gt;How to structure a responsive website&lt;/li&gt;
&lt;li&gt;How easy it is to deploy with Netlify&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, I learned that &lt;strong&gt;you don’t need to know everything before starting&lt;/strong&gt;.&lt;br&gt;
Just start building and you’ll figure things out along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start small — one page at a time&lt;/li&gt;
&lt;li&gt;Learn by building, not by watching tutorials endlessly&lt;/li&gt;
&lt;li&gt;Use modern tools (Vite, Tailwind, Netlify) to save time&lt;/li&gt;
&lt;li&gt;Keep improving your UI — small tweaks make a big difference&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building my first website was one of the most rewarding experiences.&lt;br&gt;
Now, every new project feels easier because I know the workflow.&lt;/p&gt;

&lt;p&gt;If you’re thinking of starting — &lt;strong&gt;don’t wait&lt;/strong&gt;.&lt;br&gt;
Clone a starter template, tweak it, break it, rebuild it — and you’ll learn faster than you think.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>tailwindcss</category>
      <category>react</category>
    </item>
  </channel>
</rss>
