<?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: Mannat Trivedi</title>
    <description>The latest articles on DEV Community by Mannat Trivedi (@mannat_trivedi).</description>
    <link>https://dev.to/mannat_trivedi</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2651487%2F91a8a6ff-d67e-45ef-b434-a0a0ae59c481.jpeg</url>
      <title>DEV Community: Mannat Trivedi</title>
      <link>https://dev.to/mannat_trivedi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mannat_trivedi"/>
    <language>en</language>
    <item>
      <title>I Thought We Were Building a Chatbot. We Were Building Something Else.</title>
      <dc:creator>Mannat Trivedi</dc:creator>
      <pubDate>Sun, 30 Aug 2026 07:50:03 +0000</pubDate>
      <link>https://dev.to/mannat_trivedi/i-thought-we-were-building-a-chatbot-we-were-building-something-else-331p</link>
      <guid>https://dev.to/mannat_trivedi/i-thought-we-were-building-a-chatbot-we-were-building-something-else-331p</guid>
      <description>&lt;p&gt;The last few days, I have been thinking a lot about a project I built for SIH last year.&lt;/p&gt;

&lt;p&gt;I remember feeling that there was still something in it. The project was done, the competition was over, but I never really felt that Meena had reached where she could go.&lt;/p&gt;

&lt;p&gt;Maybe it was curiosity. Maybe it was the fact that AI had changed so much since we first built it.&lt;/p&gt;

&lt;p&gt;Either way, I came back to it.&lt;/p&gt;

&lt;p&gt;And once I did, I realised I didn't just want to improve the old project.&lt;/p&gt;

&lt;p&gt;I wanted to rethink it.&lt;/p&gt;

&lt;p&gt;The first thing we went back to was the design.&lt;/p&gt;

&lt;p&gt;There is something slightly strange happening with AI products today. Everything is becoming beautifully polished, but at the same time, everything is starting to look familiar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzexqkbit1u9b8nc8cpj2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzexqkbit1u9b8nc8cpj2.png" alt=" " width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similar gradients. Similar cards. Similar illustrations. Similar futuristic language.&lt;/p&gt;

&lt;p&gt;Somewhere between making products clean and making them usable, we sometimes forget to make them feel like they belong somewhere.&lt;/p&gt;

&lt;p&gt;So we started asking a different question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What should Meena feel like?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We went back to our roots.&lt;/p&gt;

&lt;p&gt;Not because we wanted to make an "Indian-themed AI", but because we wanted the product to have a story of its own. And our roots naturally took us towards Indian visual culture.&lt;/p&gt;

&lt;p&gt;We started looking at colours that we have grown up seeing without really thinking about them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kesari.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The colour of saffron, associated with courage, sacrifice and spirituality. A colour that has existed in our visual language for centuries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sindoori.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That deep vermilion associated with auspiciousness, celebration and rituals.&lt;/p&gt;

&lt;p&gt;And then &lt;strong&gt;neela&lt;/strong&gt;, moving towards indigo and the deep blues that have their own history in Indian art, textiles and craft.&lt;/p&gt;

&lt;p&gt;None of these colours were chosen because they looked "Indian" on a moodboard.&lt;/p&gt;

&lt;p&gt;We spent time looking at where these colours came from, what they represented and how they could coexist in a modern interface.&lt;/p&gt;

&lt;p&gt;Eventually, they came together as a gradient.&lt;/p&gt;

&lt;p&gt;Not just a gradient for the sake of looking good, but a visual transition between things that already exist in our culture. Something warm, familiar and energetic, without making Meena feel old-fashioned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqrxpzl810o0wflb5rwmv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqrxpzl810o0wflb5rwmv.png" alt=" " width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then came the question of who we were actually making this for.&lt;/p&gt;

&lt;p&gt;Students.&lt;/p&gt;

&lt;p&gt;And that made us look at our own college experience again.&lt;/p&gt;

&lt;p&gt;The places we spend time in. The hostel. The chai. The little references that only make sense when you have actually lived there. The conversations that have nothing to do with an official college website but are a very real part of college life.&lt;/p&gt;

&lt;p&gt;That is why the interface has things like &lt;strong&gt;Mata Mandir ki chai&lt;/strong&gt;, hostel references and little pieces of campus life.&lt;/p&gt;

&lt;p&gt;They are not there just to fill empty space.&lt;/p&gt;

&lt;p&gt;They are there because we wanted Meena to feel like she knows the environment she is entering.&lt;/p&gt;

&lt;p&gt;Friendly. Familiar. A little playful.&lt;/p&gt;

&lt;p&gt;Something closer to a campus companion than a government portal with an AI box attached to it.&lt;/p&gt;

&lt;p&gt;And somewhere in all of this, the circular mark became important too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpc09zam82ahgfjxlr4jb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpc09zam82ahgfjxlr4jb.png" alt="Logo" width="512" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The logo is deliberately simple. A circle that feels complete, soft and approachable. We started thinking of it almost like a &lt;strong&gt;signature of trust&lt;/strong&gt;. Something you recognise before you even read the name.&lt;/p&gt;

&lt;p&gt;Because if Meena is supposed to become someone you come back to, the identity cannot just be decoration.&lt;/p&gt;

&lt;p&gt;It has to become familiar.&lt;/p&gt;

&lt;p&gt;But then we reached the uncomfortable part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A beautiful product isn't enough.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The interface could look exactly how we wanted it to look and still fail the first time someone asked it a question it couldn't answer.&lt;/p&gt;

&lt;p&gt;So we went back to the architecture.&lt;/p&gt;

&lt;p&gt;The earlier Meena had a fairly straightforward embedding and retrieval pipeline. A document goes in, it gets embedded, we retrieve relevant chunks and give them to the model.&lt;/p&gt;

&lt;p&gt;And it worked.&lt;/p&gt;

&lt;p&gt;Actually, it worked pretty well.&lt;/p&gt;

&lt;p&gt;But the more we tested it, the more we noticed a problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relevant isn't always relevant enough.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A vector search can find something that is semantically close to the query, but the closest chunk isn't necessarily the best piece of evidence for the answer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkwuztw7lexnt3dqciiaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkwuztw7lexnt3dqciiaf.png" alt="Architecture Diagram" width="799" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So we added another layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reranking.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jina became part of that pipeline because we wanted another stage between retrieval and the model. Instead of blindly passing the first few results forward, we could retrieve a wider set and then rank what actually deserved to reach the LLM.&lt;/p&gt;

&lt;p&gt;That helped with something else too.&lt;/p&gt;

&lt;p&gt;Context is expensive.&lt;/p&gt;

&lt;p&gt;Every irrelevant chunk we send to a model is not just noise. It is tokens, latency and cost.&lt;/p&gt;

&lt;p&gt;Then we looked back at the embeddings themselves.&lt;/p&gt;

&lt;p&gt;We had experimented with lighter embedding approaches, including MiniLM, but as the requirements grew, they weren't giving us the representation quality we wanted.&lt;/p&gt;

&lt;p&gt;So we moved towards &lt;strong&gt;Gemini embeddings&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One of the reasons that interested us was the multimodal direction and the research behind the embedding models. Meena isn't only going to live inside plain text. A campus is full of PDFs, images, notices and different forms of information.&lt;/p&gt;

&lt;p&gt;The architecture needed to leave room for that.&lt;/p&gt;

&lt;p&gt;Then we made another jump.&lt;/p&gt;

&lt;p&gt;We gave Meena tools.&lt;/p&gt;

&lt;p&gt;A knowledge base is useful, but the real world does not stop changing because your vector database hasn't been updated.&lt;/p&gt;

&lt;p&gt;So we added web search.&lt;/p&gt;

&lt;p&gt;Tavily became part of the tool layer, allowing Meena to go beyond what was already inside her knowledge base when necessary. The idea was simple: if the information is not available locally, she should have a way to look for it and ground the answer in something current.&lt;/p&gt;

&lt;p&gt;But this is where building an AI agent became very different from building a RAG chatbot.&lt;/p&gt;

&lt;p&gt;Once you give a model tools, you also give it the ability to make decisions about those tools.&lt;/p&gt;

&lt;p&gt;Search.&lt;/p&gt;

&lt;p&gt;Read.&lt;/p&gt;

&lt;p&gt;Search again.&lt;/p&gt;

&lt;p&gt;Try another source.&lt;/p&gt;

&lt;p&gt;And sometimes...&lt;/p&gt;

&lt;p&gt;Search again.&lt;/p&gt;

&lt;p&gt;We ran into tool-calling chains and loops that looked completely reasonable from the model's perspective and completely ridiculous from ours.&lt;/p&gt;

&lt;p&gt;This became one of the more interesting engineering problems in Meena.&lt;/p&gt;

&lt;p&gt;We couldn't just tell the model, "please stop calling tools."&lt;/p&gt;

&lt;p&gt;We needed the system around it to understand what was happening.&lt;/p&gt;

&lt;p&gt;So we started putting boundaries around tool use. Maximum tool turns, fallbacks, different handling for different kinds of tools and a proper final synthesis step when the exploration had reached its limit.&lt;/p&gt;

&lt;p&gt;The goal wasn't to make Meena magically perfect.&lt;/p&gt;

&lt;p&gt;It was to make her fail gracefully.&lt;/p&gt;

&lt;p&gt;If she found part of the answer, we wanted her to be able to use it.&lt;/p&gt;

&lt;p&gt;If she couldn't find something, we didn't want her inventing it.&lt;/p&gt;

&lt;p&gt;And if the model got stuck in a tool-calling loop, the application should be able to recover rather than simply falling over.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgp5kowzdtirohxfneopx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgp5kowzdtirohxfneopx.png" alt="Tool calling Loop Fix" width="739" height="3426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That last part exposed another problem.&lt;/p&gt;

&lt;p&gt;We couldn't properly fix what we couldn't see.&lt;/p&gt;

&lt;p&gt;With an LLM application, a normal application log saying &lt;em&gt;"request failed"&lt;/em&gt; isn't particularly helpful.&lt;/p&gt;

&lt;p&gt;We wanted to know what actually happened.&lt;/p&gt;

&lt;p&gt;Which model call happened first?&lt;/p&gt;

&lt;p&gt;What did it retrieve?&lt;/p&gt;

&lt;p&gt;Which tool did the model choose?&lt;/p&gt;

&lt;p&gt;What did the tool return?&lt;/p&gt;

&lt;p&gt;Why did it call another tool?&lt;/p&gt;

&lt;p&gt;How many turns had happened before the failure?&lt;/p&gt;

&lt;p&gt;So we built our own lightweight observability layer rather than immediately reaching for a heavy framework.&lt;/p&gt;

&lt;p&gt;It tracks the flow of the agent, the tool calls, retrieval behaviour and failures so that when something goes wrong, we can actually follow the path that led there.&lt;/p&gt;

&lt;p&gt;That turned out to be one of those things that sounds boring until you need it.&lt;/p&gt;

&lt;p&gt;And then, after all of this, we came back to the original question.&lt;/p&gt;

&lt;p&gt;Why would someone use Meena every day?&lt;/p&gt;

&lt;p&gt;Because if the answer is simply &lt;em&gt;"she can find information about college,"&lt;/em&gt; then honestly, that isn't enough anymore.&lt;/p&gt;

&lt;p&gt;Google can find information.&lt;/p&gt;

&lt;p&gt;AI search can find information.&lt;/p&gt;

&lt;p&gt;Modern models can summarise information remarkably well.&lt;/p&gt;

&lt;p&gt;But there is something those systems don't automatically have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your context.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ask Meena:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kal college jaun ki nahi?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That isn't really a search query.&lt;/p&gt;

&lt;p&gt;The answer depends on who is asking.&lt;/p&gt;

&lt;p&gt;Your timetable.&lt;/p&gt;

&lt;p&gt;Your hostel.&lt;/p&gt;

&lt;p&gt;What you are working towards.&lt;/p&gt;

&lt;p&gt;What you have already told her.&lt;/p&gt;

&lt;p&gt;The documents you have shared.&lt;/p&gt;

&lt;p&gt;The things that matter to you.&lt;/p&gt;

&lt;p&gt;That is why we are now working on user context and personalisation.&lt;/p&gt;

&lt;p&gt;The idea is that &lt;strong&gt;your Meena should eventually be different from my Meena.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The underlying campus knowledge can be shared. The tools can be shared. The architecture can be shared.&lt;/p&gt;

&lt;p&gt;But the context around the person using it should not have to be.&lt;/p&gt;

&lt;p&gt;And that is probably where this project has changed the most for me.&lt;/p&gt;

&lt;p&gt;We started with a campus assistant.&lt;/p&gt;

&lt;p&gt;Then we built a better retrieval system.&lt;/p&gt;

&lt;p&gt;Then we gave it tools.&lt;/p&gt;

&lt;p&gt;Then we had to build an agent around those tools.&lt;/p&gt;

&lt;p&gt;Then we had to build observability just to understand the agent we had built.&lt;/p&gt;

&lt;p&gt;And now we are trying to make it understand the person sitting on the other side of the screen.&lt;/p&gt;

&lt;p&gt;I don't think Meena is finished.&lt;/p&gt;

&lt;p&gt;Actually, I think that is the interesting part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We are still building her.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>javascript</category>
      <category>rag</category>
    </item>
    <item>
      <title>Integrating React and Vite: How It Boosted My Development Speed</title>
      <dc:creator>Mannat Trivedi</dc:creator>
      <pubDate>Fri, 03 Jan 2025 16:05:08 +0000</pubDate>
      <link>https://dev.to/mannat_trivedi/integrating-react-and-vite-how-it-boosted-my-development-speed-2ge3</link>
      <guid>https://dev.to/mannat_trivedi/integrating-react-and-vite-how-it-boosted-my-development-speed-2ge3</guid>
      <description>&lt;p&gt;As a web developer, I am always looking for tools that can boost my productivity and enhance my workflow. Recently, I started using Vite with React to build my portfolio, and I’m blown away by how much it has improved my development speed. If you're still using Webpack or other bundlers, here's why you should consider switching to Vite and how it can make a difference in your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Vite?&lt;/strong&gt;&lt;br&gt;
Vite is a modern build tool that leverages the power of ES modules to provide fast, optimized development experiences. It's extremely fast and efficient in terms of bundling and file transformation. Unlike traditional bundlers like Webpack, Vite provides lightning-fast hot module replacement (HMR), minimizing delays and making development smoother.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk27hvcoe7dued43qlr17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk27hvcoe7dued43qlr17.png" alt="default-app" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Switched to Vite?&lt;/strong&gt;&lt;br&gt;
Before I started using Vite, I was primarily using Webpack with React, and though it worked fine, the speed wasn’t great, especially during hot-reloading or making changes that required a full rebuild. But Vite promises quick startup times and updates without rebuilding the entire project every time. The best part? No configuration needed! Vite works out of the box with React. Just install it, start developing, and let it handle everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building My Portfolio with React &amp;amp; Vite&lt;/strong&gt;&lt;br&gt;
I decided to build my personal portfolio using React to showcase my projects, skills, and blog posts. It’s a responsive, modern website that represents me as a developer. The stack for my portfolio is very simple:&lt;/p&gt;

&lt;p&gt;React for the front-end to build interactive UI components&lt;br&gt;
Vite for blazing-fast bundling and development experience&lt;br&gt;
I’ll explain how using Vite significantly improved my workflow in this project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started with Vite &amp;amp; React&lt;/strong&gt;&lt;br&gt;
To get started, I simply created a new project using the following commands:&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
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, Vite made it extremely easy to set up a new React project, and the development server started instantly with zero configuration. From here, I was able to focus on building features, not spending time dealing with bundler setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Module Replacement (HMR)&lt;/strong&gt;&lt;br&gt;
One of the best features of Vite is Hot Module Replacement (HMR). When I was making real-time changes to my portfolio, the components updated without refreshing the entire page, preserving the app’s state.&lt;/p&gt;

&lt;p&gt;For example, when I edited a section of my portfolio (like changing a color or adding a new project), the changes immediately reflected on the page without requiring a full reload. This not only saved me time but also made my workflow much smoother, as there was zero downtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fast Build and Instant Feedback&lt;/strong&gt;&lt;br&gt;
React + Vite allowed me to get instant feedback while developing. With Webpack, the initial build or bundling could take several seconds, and when you’re tweaking UI elements, every millisecond counts. Vite gave me a response in no time – this meant I was working faster and staying in the creative flow.&lt;/p&gt;

&lt;p&gt;I noticed the reduction in build time especially when using libraries or CSS frameworks like Tailwind CSS. Unlike the typical bundling setup, Vite makes use of native ES modules, making it extremely fast in compiling changes without the heavy bundling process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faster Production Builds&lt;/strong&gt;&lt;br&gt;
Another benefit I experienced was in the production builds. When I needed to deploy my portfolio, Vite provided optimized builds that were not only smaller but also faster to load. Whether it was minification or lazy loading, Vite handled all optimizations with ease. I simply ran:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm run build&lt;/code&gt;&lt;br&gt;
And then deployed the static files – simple as that!&lt;/p&gt;

&lt;p&gt;Example: My Portfolio&lt;br&gt;
You can see the fruits of my hard work on my personal portfolio: My Portfolio. Built with React and Vite, it's responsive and dynamic, featuring multiple sections, smooth scrolling, and mobile-friendly UI. It provides a good overview of the projects I’ve worked on and allows visitors to interact with various components seamlessly.&lt;/p&gt;

&lt;p&gt;How to Get Started with Vite &amp;amp; React&lt;br&gt;
If you’re new to React or Vite and want to get started, here’s how:&lt;/p&gt;

&lt;p&gt;Create your project:&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-react-app --template react
cd my-react-app
npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the development server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Link a CDN: Vite will handle your CSS and JavaScript dependencies for you, but if you’re using external libraries (like fonts), you can include a CDN link in the head of your index.html.&lt;/p&gt;

&lt;p&gt;Begin writing your app: Vite will automatically reload and give you instant feedback with HMR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Using Vite in combination with React has definitely improved my development speed. The quick builds, no configuration, and fast hot-reload feature allow me to focus on writing meaningful code and designing rather than troubleshooting build tools.&lt;/p&gt;

&lt;p&gt;I highly recommend trying out Vite if you’re looking to make your React projects faster, smoother, and more enjoyable. Trust me, once you start, you’ll never go back!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>vite</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Why I Switched to Tailwind CSS and Never Going Back!</title>
      <dc:creator>Mannat Trivedi</dc:creator>
      <pubDate>Fri, 03 Jan 2025 14:30:30 +0000</pubDate>
      <link>https://dev.to/mannat_trivedi/why-i-switched-to-tailwind-css-and-never-going-back-3fi0</link>
      <guid>https://dev.to/mannat_trivedi/why-i-switched-to-tailwind-css-and-never-going-back-3fi0</guid>
      <description>&lt;p&gt;Learning web development has been an incredible journey for me. From HTML basics to structuring intricate layouts with CSS, it's been a rewarding experience. But the story took an exciting turn when I stumbled upon Tailwind CSS—a utility-first CSS framework that changed the game for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovering Tailwind CSS: A Game Changer
&lt;/h2&gt;

&lt;p&gt;When I first encountered Tailwind CSS, I wasn’t sure if it would fit my workflow. It sounded different—utility classes instead of predefined components? However, as I dug deeper, it clicked! Instead of hopping between CSS files and HTML, Tailwind lets you directly style elements using concise utility classes, keeping everything inline and simple. It’s like writing clean, declarative style directly into the markup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6s4pgfp36zqa54dky9s6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6s4pgfp36zqa54dky9s6.png" alt="tailwind-css" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are a few reasons I fell in love with Tailwind CSS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Efficiency: No more searching for or writing custom CSS from scratch. Tailwind’s utility classes are ready to go!&lt;/li&gt;
&lt;li&gt;Customization: Tailwind lets you fully customize your design system without breaking a sweat.&lt;/li&gt;
&lt;li&gt;Responsiveness: Building a mobile-first design? Tailwind simplifies responsive layouts with its intuitive breakpoints.&lt;/li&gt;
&lt;li&gt;Integrated Workflow: Fonts, spacing, colors—all predefined. I said goodbye to downloading separate font files!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My First Tailwind Project: A Twitter (X) Clone&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv73gxziokfkcw3i7skx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv73gxziokfkcw3i7skx.png" alt="x-clone" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To see if the hype was real, I made my first project with Tailwind CSS: a responsive Twitter/X clone. I couldn’t believe how seamlessly the design came together. Tailwind made everything feel effortless, from crafting the layout to ensuring responsiveness on various devices.&lt;br&gt;
🚀 Check it out here: &lt;a href="https://xsite.freewebhostmost.com/" rel="noopener noreferrer"&gt;Twitter Clone&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Tailwind with React and Vite&lt;/strong&gt;&lt;br&gt;
Integrating Tailwind into React projects was another pleasant surprise! Pairing Tailwind with frameworks like React (and using Vite for blazing-fast builds) made styling components feel like second nature. Its ecosystem and documentation made it simple to get up and running, even as a beginner.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to Try Tailwind?&lt;/strong&gt;&lt;br&gt;
Getting started is easy:&lt;/p&gt;

&lt;p&gt;Via CDN: Perfect for quickly experimenting. Just add this to your &lt;code&gt;&amp;lt;head&amp;gt;:&lt;/code&gt;&lt;br&gt;
html&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet"&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With a Build Tool: Follow the official Tailwind CSS docs for integrating it into your build pipeline.&lt;/p&gt;

&lt;p&gt;If you haven’t tried Tailwind CSS yet, you’re missing out! For me, it's been transformative in how I approach and implement designs. Whether you’re starting a small project or diving into full-stack development, give Tailwind CSS a shot—it might just become your favorite tool! 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tailwindcss</category>
      <category>css</category>
      <category>clone</category>
    </item>
  </channel>
</rss>
