<?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>Forem: Preeti yadav</title>
    <description>The latest articles on Forem by Preeti yadav (@preeti_yadav).</description>
    <link>https://forem.com/preeti_yadav</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%2F2902988%2Fc5e5922f-0900-4c00-afb4-a7a4cc3fe744.png</url>
      <title>Forem: Preeti yadav</title>
      <link>https://forem.com/preeti_yadav</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/preeti_yadav"/>
    <language>en</language>
    <item>
      <title>Voice of Earth: What If Nature Could Speak Back?</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Fri, 17 Apr 2026 05:50:46 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/voice-of-earth-what-if-nature-could-speak-back-f28</link>
      <guid>https://forem.com/preeti_yadav/voice-of-earth-what-if-nature-could-speak-back-f28</guid>
      <description>&lt;h2&gt;
  
  
  🌍 What I Built
&lt;/h2&gt;

&lt;p&gt;Most apps tell you to “save the planet.”&lt;/p&gt;

&lt;p&gt;I wanted to build something that makes you &lt;strong&gt;pause and feel it instead.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice of Earth&lt;/strong&gt; is an AI-powered interactive experience where nature speaks back to you.&lt;/p&gt;

&lt;p&gt;Users can choose elements like a river, forest, air, or mountains — and receive a deeply emotional, AI-generated response based on their location and environmental context.&lt;/p&gt;

&lt;p&gt;Instead of dashboards and statistics, this project focuses on &lt;strong&gt;empathy over information&lt;/strong&gt; — turning environmental awareness into a personal conversation.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎥 Demo
&lt;/h2&gt;

&lt;p&gt;🔗 Live App: &lt;a href="https://voice-of-earth.vercel.app/" rel="noopener noreferrer"&gt;https://voice-of-earth.vercel.app/&lt;/a&gt;&lt;br&gt;
🔗 GitHub Repo: &lt;a href="https://github.com/preeti-3/voice-of-earth" rel="noopener noreferrer"&gt;https://github.com/preeti-3/voice-of-earth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try selecting an element and entering your city — then just listen.&lt;/p&gt;




&lt;h2&gt;
  
  
  💻 Code
&lt;/h2&gt;

&lt;p&gt;The full source code is available here:&lt;br&gt;
👉 &lt;a href="https://github.com/preeti-3/voice-of-earth" rel="noopener noreferrer"&gt;https://github.com/preeti-3/voice-of-earth&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧠 AI Layer (Core of the Experience)
&lt;/h3&gt;

&lt;p&gt;I used &lt;strong&gt;Google Gemini&lt;/strong&gt; to generate emotionally rich, context-aware responses.&lt;/p&gt;

&lt;p&gt;Instead of simple prompts, I designed structured prompts that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign a &lt;strong&gt;role&lt;/strong&gt; (e.g., “You are a river in Panipat”)&lt;/li&gt;
&lt;li&gt;Control tone (poetic, reflective, human-like)&lt;/li&gt;
&lt;li&gt;Limit output length for clarity&lt;/li&gt;
&lt;li&gt;Adapt based on environmental context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensured responses felt &lt;strong&gt;alive, not robotic&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🎨 Frontend Experience
&lt;/h3&gt;

&lt;p&gt;Built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js (App Router)&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Framer Motion (for smooth animations)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key UI decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full-screen cinematic backgrounds for each nature element&lt;/li&gt;
&lt;li&gt;Glassmorphism panels to keep focus on the message&lt;/li&gt;
&lt;li&gt;Smooth transitions to create an immersive feel&lt;/li&gt;
&lt;li&gt;Minimal UI to let the &lt;strong&gt;AI voice take center stage&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🌍 Environmental Context Layer
&lt;/h3&gt;

&lt;p&gt;Instead of generic responses, I introduced contextual awareness using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;City-based environmental data (mocked for now but structured for real APIs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows responses to feel:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“local, relevant, and personal”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  🎧 Voice Interaction
&lt;/h3&gt;

&lt;p&gt;To deepen the experience, I added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browser-based Text-to-Speech (SpeechSynthesis API)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This lets users &lt;strong&gt;hear nature speak&lt;/strong&gt;, making the interaction more memorable and emotional.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Key Challenges &amp;amp; Decisions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Avoiding Generic AI Output
&lt;/h3&gt;

&lt;p&gt;Early responses felt repetitive and “AI-like.”&lt;/p&gt;

&lt;p&gt;✅ Solved by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong prompt engineering&lt;/li&gt;
&lt;li&gt;Clear tone constraints&lt;/li&gt;
&lt;li&gt;Role-based storytelling&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. Balancing Design vs Performance
&lt;/h3&gt;

&lt;p&gt;I initially considered video backgrounds, but:&lt;/p&gt;

&lt;p&gt;❌ Heavy and distracting&lt;br&gt;
✅ Switched to high-quality images + subtle animations&lt;/p&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smooth performance&lt;/li&gt;
&lt;li&gt;Cinematic feel&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. Making It Feel Like an Experience
&lt;/h3&gt;

&lt;p&gt;Instead of adding more features, I focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Emotion&lt;/li&gt;
&lt;li&gt;Simplicity&lt;/li&gt;
&lt;li&gt;Flow&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏆 Prize Categories
&lt;/h2&gt;

&lt;p&gt;✅ &lt;strong&gt;Best Use of Google Gemini&lt;/strong&gt;&lt;br&gt;
The entire experience is powered by Gemini, with carefully engineered prompts to create emotionally intelligent, context-aware responses.&lt;/p&gt;




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

&lt;p&gt;This project started with a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What if nature could respond to us?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And the answer wasn’t data.&lt;/p&gt;

&lt;p&gt;It was emotion.&lt;/p&gt;

&lt;p&gt;In a world full of dashboards and metrics, sometimes what we need most is a moment to &lt;strong&gt;listen.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🎤 Music Player - Scream to Skip Ads (But You Can’t)</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 13 Apr 2026 04:49:48 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/music-player-scream-to-skip-ads-but-you-cant-2727</link>
      <guid>https://forem.com/preeti_yadav/music-player-scream-to-skip-ads-but-you-cant-2727</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;🎤 Scream to Adjust volume or Skip Ads (But You Can’t)&lt;/p&gt;

&lt;p&gt;Because clearly, the problem with modern apps is that they don’t make you scream enough.&lt;/p&gt;

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

&lt;p&gt;I built a completely unnecessary, emotionally draining, and technically over-engineered web app where:&lt;/p&gt;

&lt;p&gt;You control volume by screaming into your microphone&lt;br&gt;
The louder you scream, the higher the volume goes&lt;br&gt;
And just when things start working…&lt;/p&gt;

&lt;p&gt;👉 You get hit with ads you cannot skip&lt;/p&gt;

&lt;p&gt;Not because you don’t deserve control…&lt;br&gt;
But because this app doesn’t believe in it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Try it yourself (preferably not at 2AM near your family):&lt;/p&gt;

&lt;p&gt;👉 [Try it yourself (preferably not at 2AM near your family):&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://mic-driven-slider.vercel.app/%5D(https://mic-driven-slider.vercel.app/)" rel="noopener noreferrer"&gt;https://mic-driven-slider.vercel.app/](https://mic-driven-slider.vercel.app/)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/preeti-3/music-player" rel="noopener noreferrer"&gt;https://github.com/preeti-3/music-player&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;This masterpiece of uselessness is powered by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React – for building a surprisingly serious UI&lt;/li&gt;
&lt;li&gt;Web Audio API – to detect how loud you scream&lt;/li&gt;
&lt;li&gt;Custom smoothing + noise filtering – so your fan doesn’t control the volume&lt;/li&gt;
&lt;li&gt;State machine logic – to decide when to ruin your experience with ads&lt;/li&gt;
&lt;li&gt;CSS animations – for glitch effects, screen shake, and general chaos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key Technical Bits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time microphone input processing&lt;/li&gt;
&lt;li&gt;RMS-based volume detection&lt;/li&gt;
&lt;li&gt;Exponential smoothing to reduce noise fluctuation&lt;/li&gt;
&lt;li&gt;Volume → UI mapping (0–100 scale)&lt;/li&gt;
&lt;li&gt;Event-triggered fake ad system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ironically, building something this useless required… decent engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>From NEET Aspirant to Writing Code: A Journey I Never Planned</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 09 Mar 2026 04:12:46 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/from-neet-aspirant-to-writing-code-a-journey-i-never-planned-l59</link>
      <guid>https://forem.com/preeti_yadav/from-neet-aspirant-to-writing-code-a-journey-i-never-planned-l59</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If someone had told me a few years ago that I would be writing code and leading developers, I probably wouldn’t have believed them.&lt;br&gt;
Because my journey into tech wasn’t planned at all.&lt;/p&gt;

&lt;p&gt;I actually started in a completely different direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Different Dream
&lt;/h2&gt;

&lt;p&gt;I studied in the medical stream until 12th grade. Like many students in India, my goal was to clear National Eligibility cum Entrance Test and pursue medicine.&lt;/p&gt;

&lt;p&gt;During the COVID period, I joined a coaching institute to prepare for the exam. That phase of my life was intense.&lt;/p&gt;

&lt;p&gt;Our routine looked something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Early morning classes&lt;/li&gt;
&lt;li&gt;Self-study the entire day&lt;/li&gt;
&lt;li&gt;Practice tests regularly&lt;/li&gt;
&lt;li&gt;Studying late into the night&lt;/li&gt;
&lt;li&gt;Sometimes we studied until 3 or 4 in the morning.&lt;/li&gt;
&lt;li&gt;And Sundays weren’t holidays. Sundays were test days.&lt;/li&gt;
&lt;li&gt;It was exhausting, but I was determined.&lt;/li&gt;
&lt;li&gt;I gave it everything I had.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Things Don’t Go As Planned
&lt;/h2&gt;

&lt;p&gt;Despite all that effort, I didn’t clear the exam that year.&lt;br&gt;
Around that time, my health also started affecting my preparation, and I eventually came back home earlier than expected.&lt;/p&gt;

&lt;p&gt;It felt like a huge pause in my life.&lt;br&gt;
For the first time in a long time, I didn’t know what the next step was supposed to be.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovering Coding (Completely by Accident)
&lt;/h2&gt;

&lt;p&gt;One day while scrolling through YouTube, I came across videos about programming.&lt;/p&gt;

&lt;p&gt;The idea that caught my attention was simple:&lt;/p&gt;

&lt;p&gt;“Coding is becoming a fundamental skill. Everyone should at least know the basics.”&lt;/p&gt;

&lt;p&gt;Out of curiosity, I decided to try it.&lt;/p&gt;

&lt;p&gt;I had zero background in tech.&lt;/p&gt;

&lt;p&gt;No computer science classes.&lt;br&gt;
No programming knowledge.&lt;br&gt;
No idea what developers even did daily.&lt;/p&gt;

&lt;p&gt;But something about it clicked immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Realizing I Learn Fast
&lt;/h2&gt;

&lt;p&gt;Once I started learning, I realized something about myself: I learn technical things very quickly when I’m curious about them.&lt;/p&gt;

&lt;p&gt;I spent hours learning from tutorials, building small things, and experimenting.&lt;/p&gt;

&lt;p&gt;The same discipline I used while preparing for medical exams helped me here too.&lt;/p&gt;

&lt;p&gt;Late nights of studying weren’t new to me.&lt;br&gt;
Except this time, instead of biology diagrams, I was debugging code.&lt;br&gt;
And slowly, things started moving faster than I expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving Faster Than I Thought
&lt;/h2&gt;

&lt;p&gt;Within a relatively short time, I started gaining confidence in development.&lt;br&gt;
I worked on projects, collaborated with others, and kept improving.&lt;/p&gt;

&lt;p&gt;At one point, something surprising happened:&lt;br&gt;
I started performing better than people who had started before me.&lt;br&gt;
Eventually, I even became a team lead, guiding other developers.&lt;/p&gt;

&lt;p&gt;It was a moment where I paused and thought:&lt;br&gt;
“How did someone who didn’t even know coding existed a short time ago end up here?”&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Journey Taught Me
&lt;/h2&gt;

&lt;p&gt;Looking back, the path seems unexpected, but the lessons are clear.&lt;/p&gt;

&lt;p&gt;First, your starting point doesn’t define your destination.&lt;br&gt;
I came from a medical background, yet found my place in tech.&lt;/p&gt;

&lt;p&gt;Second, discipline transfers across fields.&lt;br&gt;
The study habits I built during my exam preparation helped me learn programming faster.&lt;/p&gt;

&lt;p&gt;And finally, curiosity can completely change your life.&lt;/p&gt;

&lt;p&gt;One random YouTube video was enough to open a door I didn’t even know existed.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Thought for Anyone Starting Something New
&lt;/h2&gt;

&lt;p&gt;If you’re someone switching fields or starting late, remember this:&lt;/p&gt;

&lt;p&gt;You don’t need the perfect background to succeed in tech.&lt;br&gt;
Sometimes all you need is curiosity, persistence, and the willingness to keep learning.&lt;/p&gt;

&lt;p&gt;Your journey might not look like everyone else’s.&lt;/p&gt;

&lt;p&gt;And that’s perfectly okay.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>Unsaid: Turning Reactive Messages Into Intentional Conversations</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Sun, 01 Mar 2026 12:24:50 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/unsaid-turning-reactive-messages-into-intentional-conversations-2iop</link>
      <guid>https://forem.com/preeti_yadav/unsaid-turning-reactive-messages-into-intentional-conversations-2iop</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;I built Unsaid for people who struggle with difficult conversations — especially those who think in drafts before they speak.&lt;/p&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers who overthink messages before sending them&lt;/li&gt;
&lt;li&gt;People holding onto unresolved conversations&lt;/li&gt;
&lt;li&gt;Anyone who has typed something in anger… and then deleted it&lt;/li&gt;
&lt;li&gt;People who want to communicate better but don’t always know how&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In many communities (tech teams, relationships, friendships), conflict isn’t the biggest issue — unclear communication is.&lt;/p&gt;

&lt;p&gt;We measure productivity.&lt;br&gt;
We track commits.&lt;br&gt;
We optimize workflows.&lt;/p&gt;

&lt;p&gt;But we rarely optimize how we speak to each other.&lt;br&gt;
Unsaid was built for that gap.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Unsaid is a minimal web app that transforms emotionally reactive messages into intentional, emotionally intelligent communication.&lt;/p&gt;

&lt;p&gt;Users:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write a message they never sent.&lt;/li&gt;
&lt;li&gt;Select the emotional intent (Closure, Forgiveness, Gratitude, Assertiveness, Boundaries).&lt;/li&gt;
&lt;li&gt;The app rewrites the message using healthy communication principles.&lt;/li&gt;
&lt;li&gt;It explains what changed (e.g., removing blame, adding ownership language).&lt;/li&gt;
&lt;li&gt;This is not a grammar corrector.&lt;/li&gt;
&lt;li&gt;It’s a reflection tool.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It helps convert:&lt;br&gt;
&lt;code&gt;“You always ignore me.”&lt;/code&gt;&lt;br&gt;
into&lt;br&gt;
&lt;code&gt;“I feel unheard when our conversations don’t feel reciprocal.”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The goal isn’t to generate perfect messages.&lt;br&gt;
The goal is to help people move from reaction → reflection.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🔗 Live App: 

&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://unsaid-psi.vercel.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;unsaid-psi.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;Try inputting:&lt;br&gt;
You never listen to me and you always make decisions without asking.&lt;/p&gt;

&lt;p&gt;Switch between different intents and observe how tone shifts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/preeti-3/unsaid.git" rel="noopener noreferrer"&gt;https://github.com/preeti-3/unsaid.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is structured using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js (App Router)&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;API route for transformation logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The transformation layer applies assertive communication principles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removes generalizations (“always”, “never”)&lt;/li&gt;
&lt;li&gt;Replaces blame with ownership statements&lt;/li&gt;
&lt;li&gt;Clarifies emotional needs&lt;/li&gt;
&lt;li&gt;Maintains emotional honesty&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Frontend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built with Next.js App Router&lt;/li&gt;
&lt;li&gt;Minimal UI using Tailwind CSS&lt;/li&gt;
&lt;li&gt;Calm, neutral design to encourage reflection&lt;/li&gt;
&lt;li&gt;Emotion selector component to guide tone&lt;/li&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Server-side API route to process transformations&lt;/li&gt;
&lt;li&gt;LLM-powered rewriting logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Structured prompt design focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Emotional maturity&lt;/li&gt;
&lt;li&gt;Assertive communication&lt;/li&gt;
&lt;li&gt;Constructive tone&lt;/li&gt;
&lt;li&gt;Design Philosophy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface intentionally avoids:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Social features&lt;/li&gt;
&lt;li&gt;Public sharing&lt;/li&gt;
&lt;li&gt;Gamification&lt;/li&gt;
&lt;li&gt;Unsaid is designed to feel like a quiet room — not a social platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We use AI to write code, essays, and marketing copy.&lt;br&gt;
What if we used it to write better conversations?&lt;/p&gt;

&lt;p&gt;Unsaid explores whether technology can help us communicate with more clarity — and less regret.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Can a Web App Carry Philosophy? Building a Devotional Platform with Next.js</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Thu, 19 Feb 2026 05:07:39 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/can-a-web-app-carry-philosophy-building-a-devotional-platform-with-nextjs-3blk</link>
      <guid>https://forem.com/preeti_yadav/can-a-web-app-carry-philosophy-building-a-devotional-platform-with-nextjs-3blk</guid>
      <description>&lt;p&gt;Most side projects solve a problem.&lt;/p&gt;

&lt;p&gt;This one tried to create a feeling.&lt;/p&gt;

&lt;p&gt;I built Sarathi, a devotional self-growth platform inspired by the Bhagavad Gita. The goal wasn’t to create another content website with verses and explanations. I wanted it to feel immersive — heavy, intentional, almost cinematic — like standing in Kurukshetra before wisdom is spoken.&lt;/p&gt;

&lt;p&gt;Here’s how I approached it technically.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Challenge
&lt;/h2&gt;

&lt;p&gt;The real problem wasn’t displaying 700+ verses.&lt;/p&gt;

&lt;p&gt;It was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How do you structure large static spiritual content without turning it into a cluttered blog?&lt;/li&gt;
&lt;li&gt;How do you design for emotional immersion without sacrificing performance?&lt;/li&gt;
&lt;li&gt;How do you balance sacred minimalism with modern UI expectations?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Designing for Immersion (Not Just UI)
&lt;/h2&gt;

&lt;p&gt;The biggest design decision:&lt;br&gt;
I didn’t want it to look like a SaaS dashboard.&lt;/p&gt;

&lt;p&gt;Most content platforms are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;White background&lt;/li&gt;
&lt;li&gt;Card layout&lt;/li&gt;
&lt;li&gt;Clean but emotionally neutral&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But this subject demands weight.&lt;/p&gt;

&lt;p&gt;So I focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restrained color palette&lt;/li&gt;
&lt;li&gt;Depth-based layering&lt;/li&gt;
&lt;li&gt;Intentional spacing&lt;/li&gt;
&lt;li&gt;Minimal but strong typography&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The challenge was resisting over-design.&lt;/p&gt;

&lt;p&gt;Too many images → it becomes decorative.&lt;br&gt;
Too much minimalism → it becomes sterile.&lt;/p&gt;

&lt;p&gt;The balance is still evolving.&lt;/p&gt;




&lt;h2&gt;
  
  
  Performance Considerations
&lt;/h2&gt;

&lt;p&gt;Handling hundreds of static entries taught me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structure first, UI later.&lt;/li&gt;
&lt;li&gt;Static generation is powerful when content is stable.&lt;/li&gt;
&lt;li&gt;Data normalization prevents chaos when scaling.&lt;/li&gt;
&lt;li&gt;Avoid over-fetching — precompute what you can.&lt;/li&gt;
&lt;li&gt;Even content-heavy apps can feel instant if architected properly.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Designing for emotion is harder than designing for usability.&lt;/p&gt;

&lt;p&gt;Content-heavy apps require discipline in data modeling.&lt;br&gt;
Cultural / philosophical projects can be strong portfolio pieces — if built with engineering clarity.&lt;br&gt;
A project with meaning pushes you further than a tutorial clone ever will.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stronger atmospheric visuals (fog layers, textured backgrounds)&lt;/li&gt;
&lt;li&gt;Emotion-based search&lt;/li&gt;
&lt;li&gt;Daily verse system&lt;/li&gt;
&lt;li&gt;Optional immersive mode vs minimal mode&lt;/li&gt;
&lt;li&gt;Audio integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn’t just to build a website.&lt;/p&gt;

&lt;p&gt;It’s to build an experience where technology carries philosophy.&lt;/p&gt;

&lt;p&gt;If you’re curious, here’s the live project:&lt;br&gt;
👉 &lt;a href="https://sarathi-eta.vercel.app/" rel="noopener noreferrer"&gt;https://sarathi-eta.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback — especially on architecture and immersion balance.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>architecture</category>
      <category>learning</category>
    </item>
    <item>
      <title>Explain-Error CLI – Making JavaScript Errors Beginner-Friendly</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 16 Feb 2026 07:38:27 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/explain-error-cli-making-javascript-errors-beginner-friendly-3bb9</link>
      <guid>https://forem.com/preeti_yadav/explain-error-cli-making-javascript-errors-beginner-friendly-3bb9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built a small but practical CLI tool called Explain-Error.&lt;/p&gt;

&lt;p&gt;It takes confusing JavaScript error messages and converts them into simple, beginner-friendly explanations.&lt;/p&gt;

&lt;p&gt;If you've ever seen something like:&lt;/p&gt;

&lt;p&gt;TypeError: Cannot read properties of undefined&lt;/p&gt;

&lt;p&gt;And thought:&lt;/p&gt;

&lt;p&gt;"Okay… but what does that actually mean?"&lt;/p&gt;

&lt;p&gt;This tool translates that into:&lt;/p&gt;

&lt;p&gt;You're trying to access something on a variable that is undefined.&lt;br&gt;
Make sure the variable has a value before using it.&lt;/p&gt;

&lt;p&gt;As someone who teaches and mentors students, I’ve seen how intimidating error messages can be for beginners. This project is something I genuinely wish existed when I first started coding.&lt;/p&gt;

&lt;p&gt;It’s small.&lt;br&gt;
It’s focused.&lt;br&gt;
And it solves a real learning pain point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2F7pd74xng87gbmg021d2b.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%2F7pd74xng87gbmg021d2b.png" alt=" " width="800" height="413"&gt;&lt;/a&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%2Fba6iyyzbu21t8u9lih0p.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%2Fba6iyyzbu21t8u9lih0p.png" alt=" " width="738" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;This is where the real magic happened.&lt;/p&gt;

&lt;p&gt;Instead of switching between browser tabs, documentation, and StackOverflow, I stayed entirely inside my terminal.&lt;br&gt;
Here’s how I used GitHub Copilot CLI:&lt;/p&gt;

&lt;p&gt;Generating the Initial Structure&lt;/p&gt;

&lt;p&gt;I asked Copilot to:&lt;br&gt;
Create a Node.js CLI tool that explains common JavaScript errors in simple language.&lt;/p&gt;

&lt;p&gt;It generated a solid pattern-based detection system using regular expressions — something that would’ve taken me significantly longer to structure cleanly from scratch.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>Streaming &amp; Suspense in Next.js: Why Your App Feels Slow (Even When It Isn’t)</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 16 Feb 2026 07:00:01 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/streaming-suspense-in-nextjs-why-your-app-feels-slow-even-when-it-isnt-571i</link>
      <guid>https://forem.com/preeti_yadav/streaming-suspense-in-nextjs-why-your-app-feels-slow-even-when-it-isnt-571i</guid>
      <description>&lt;p&gt;Most developers think their app is slow because of the backend.&lt;/p&gt;

&lt;p&gt;In reality, a lot of apps feel slow because of how we render them.&lt;/p&gt;

&lt;p&gt;You’ve seen it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blank screen.&lt;/li&gt;
&lt;li&gt;Then everything appears at once.&lt;/li&gt;
&lt;li&gt;Or worse — layout shifts everywhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s not always a data problem.&lt;br&gt;
That’s a rendering strategy problem.&lt;/p&gt;

&lt;p&gt;With the App Router in Next.js, Streaming and Suspense fundamentally change how users experience loading. And once you understand it properly, you’ll never build dashboards the old way again.&lt;/p&gt;

&lt;p&gt;Let’s break it down properly.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Real Problem: Traditional Rendering Blocks Everything
&lt;/h2&gt;

&lt;p&gt;In classic SSR:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Server fetches all data.&lt;/li&gt;
&lt;li&gt;Waits for everything to resolve.&lt;/li&gt;
&lt;li&gt;Generates full HTML.&lt;/li&gt;
&lt;li&gt;Sends it to the client.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If one API call is slow, the whole page waits.&lt;br&gt;
Even if 80% of the UI is ready.&lt;br&gt;
That’s inefficient.&lt;/p&gt;

&lt;p&gt;Users don’t need everything at once.&lt;br&gt;
They need something fast.&lt;/p&gt;

&lt;p&gt;That’s where streaming comes in.&lt;/p&gt;


&lt;h2&gt;
  
  
  What is Streaming in Next.js?
&lt;/h2&gt;

&lt;p&gt;Streaming allows the server to send HTML to the browser in chunks instead of waiting for the entire page to be ready.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Wait → Render → Send&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Render what’s ready → Send → Continue rendering → Stream more&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is supported natively in the App Router.&lt;/p&gt;

&lt;p&gt;The browser starts rendering immediately, and slower parts of the UI are filled in later.&lt;br&gt;
Perceived performance improves dramatically.&lt;/p&gt;

&lt;p&gt;And perceived performance is what users care about.&lt;/p&gt;


&lt;h2&gt;
  
  
  Where Suspense Comes In
&lt;/h2&gt;

&lt;p&gt;Streaming alone isn’t enough.&lt;br&gt;
You need boundaries.&lt;/p&gt;

&lt;p&gt;That’s where React Suspense comes in.&lt;br&gt;
Suspense lets you define which parts of the UI can “wait” independently.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Suspense } from "react";
import SlowComponent from "./SlowComponent";
import FastComponent from "./FastComponent";

export default function Page() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;FastComponent /&amp;gt;

      &amp;lt;Suspense fallback={&amp;lt;p&amp;gt;Loading analytics...&amp;lt;/p&amp;gt;}&amp;gt;
        &amp;lt;SlowComponent /&amp;gt;
      &amp;lt;/Suspense&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here’s what happens:&lt;/p&gt;

&lt;p&gt;FastComponent renders immediately.&lt;br&gt;
SlowComponent fetches data.&lt;br&gt;
While it loads, fallback UI is shown.&lt;br&gt;
When ready, it streams into place.&lt;br&gt;
The rest of the page does not wait.&lt;br&gt;
That’s powerful.&lt;/p&gt;


&lt;h2&gt;
  
  
  Real-World Example: Dashboard Scenario
&lt;/h2&gt;

&lt;p&gt;Imagine a dashboard page:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User profile → fast query&lt;/li&gt;
&lt;li&gt;Notifications → medium query&lt;/li&gt;
&lt;li&gt;Analytics chart → heavy aggregation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without streaming:&lt;br&gt;
👉 Everything waits for analytics.&lt;/p&gt;

&lt;p&gt;With streaming + Suspense:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Profile renders instantly.&lt;/li&gt;
&lt;li&gt;Notifications appear shortly after.&lt;/li&gt;
&lt;li&gt;Chart loads last with a proper fallback.&lt;/li&gt;
&lt;li&gt;User feels speed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if total load time is identical.&lt;br&gt;
That’s the difference between technical performance and perceived performance.&lt;/p&gt;


&lt;h2&gt;
  
  
  How Next.js Makes This Even Better
&lt;/h2&gt;

&lt;p&gt;In the App Router:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server Components are streamed by default.&lt;/li&gt;
&lt;li&gt;Each route segment can have a loading.js.&lt;/li&gt;
&lt;li&gt;Suspense boundaries control how chunks are streamed.&lt;/li&gt;
&lt;li&gt;No extra configuration required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app/dashboard/loading.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This automatically acts as a Suspense fallback for that route segment.&lt;br&gt;
You don’t have to manually wire everything.&lt;/p&gt;




&lt;h2&gt;
  
  
  Important: Streaming is a Server-Side Concept
&lt;/h2&gt;

&lt;p&gt;This is where many developers get confused.&lt;br&gt;
Streaming happens during server rendering.&lt;br&gt;
It is not the same as client-side lazy loading.&lt;br&gt;
Suspense inside Client Components behaves differently than in Server Components.&lt;/p&gt;

&lt;p&gt;If you use &lt;code&gt;"use client"&lt;/code&gt; everywhere, you reduce the benefits.&lt;br&gt;
Let the server do the heavy lifting whenever possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Common Mistakes I See
&lt;/h2&gt;

&lt;p&gt;❌ Wrapping the entire page in one Suspense&lt;br&gt;
This defeats the purpose. Everything still waits together.&lt;/p&gt;

&lt;p&gt;❌ Adding too many Suspense boundaries&lt;br&gt;
Over-fragmenting UI creates janky loading experiences.&lt;/p&gt;

&lt;p&gt;❌ Ignoring fallback UX&lt;br&gt;
A spinner is not always the best fallback. Skeletons often feel better.&lt;/p&gt;

&lt;p&gt;❌ Thinking Streaming replaces caching&lt;br&gt;
It doesn’t. Caching and streaming solve different problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Actually Matters
&lt;/h2&gt;

&lt;p&gt;Most developers optimize for Lighthouse scores.&lt;br&gt;
But users don’t see metrics.&lt;/p&gt;

&lt;p&gt;They feel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How fast something appears.&lt;/li&gt;
&lt;li&gt;How stable the layout is.&lt;/li&gt;
&lt;li&gt;How interactive the page feels.&lt;/li&gt;
&lt;li&gt;Streaming + Suspense directly improves that perception.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s what good frontend engineering is about.&lt;br&gt;
Not just shipping components.&lt;/p&gt;

&lt;p&gt;Designing experience.&lt;/p&gt;




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

&lt;p&gt;When I first used Streaming in Next.js, I realized something:&lt;br&gt;
We’ve been thinking about rendering too rigidly.&lt;br&gt;
Pages don’t need to load like monoliths.&lt;br&gt;
They can load like conversations — piece by piece.&lt;/p&gt;

&lt;p&gt;The App Router isn’t just a routing update.&lt;br&gt;
It’s a mental model shift.&lt;/p&gt;

&lt;p&gt;If you’re still building pages that wait for everything before showing anything, you’re leaving performance (and UX) on the table.&lt;/p&gt;

&lt;p&gt;Start thinking in boundaries.&lt;br&gt;
Start thinking in chunks.&lt;br&gt;
And let the server stream.&lt;/p&gt;




&lt;p&gt;If you found this useful, I’d love to hear how you’re using Suspense in your projects.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>nextjs</category>
      <category>javascript</category>
    </item>
    <item>
      <title>The Consistency Era Begins — Why Showing Up Daily Changes Everything</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 27 Oct 2025 05:16:48 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/the-consistency-era-begins-why-showing-up-daily-changes-everything-27g8</link>
      <guid>https://forem.com/preeti_yadav/the-consistency-era-begins-why-showing-up-daily-changes-everything-27g8</guid>
      <description>&lt;p&gt;There’s a moment in every developer’s journey where you stop chasing “perfect” and start chasing progress.&lt;/p&gt;

&lt;p&gt;For me, that moment starts today.&lt;/p&gt;

&lt;p&gt;Over the past few years, I’ve worked with React, Next.js, NestJS, Prisma — built systems, taught students, led teams, and learned that no line of code matters if you stop showing up.&lt;/p&gt;

&lt;p&gt;Perfection used to hold me back.&lt;br&gt;
“I’ll post when my project is perfect.”&lt;br&gt;
“I’ll share when I learn everything.”&lt;/p&gt;

&lt;p&gt;But the truth is — perfection never comes. Consistency does.&lt;/p&gt;

&lt;p&gt;Every day you share, code, write, or teach, you’re not just improving your skills; &lt;strong&gt;you’re building yourself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So this is my commitment:&lt;br&gt;
To post regularly about my learnings.&lt;br&gt;
To share my real process — not the highlight reel.&lt;br&gt;
To remind every learner out there that growth happens quietly, through action.&lt;/p&gt;

&lt;p&gt;If you’re reading this — maybe this is your reminder too.&lt;br&gt;
Start now.&lt;br&gt;
Post that thought.&lt;br&gt;
Build that project.&lt;br&gt;
&lt;strong&gt;Show up — and watch how your world changes. 🌱&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>coding</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Debugging, Deleted Code, and Google Chaos: A Developer’s Reality 💻💥</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Fri, 03 Oct 2025 04:09:02 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/debugging-deleted-code-and-google-chaos-a-developers-reality-45ml</link>
      <guid>https://forem.com/preeti_yadav/debugging-deleted-code-and-google-chaos-a-developers-reality-45ml</guid>
      <description>&lt;p&gt;Raise your hand if you’ve ever:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Googled “Why is my React app not rendering?” 20 times in a row&lt;/li&gt;
&lt;li&gt;Accidentally deleted hours of code and felt like the universe hates you&lt;/li&gt;
&lt;li&gt;Stared at your code, feeling like a wizard one second and an imposter the next&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yeah… welcome to developer life.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Google Search History = Chaotic Energy
&lt;/h2&gt;

&lt;p&gt;If someone sees my history, it’s a masterpiece of desperation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Javascript undefined is not a function&lt;/li&gt;
&lt;li&gt;CSS center div vertically&lt;/li&gt;
&lt;li&gt;How to fix code when you feel like crying&lt;/li&gt;
&lt;li&gt;Recover deleted code in VS Code&lt;/li&gt;
&lt;li&gt;Undo Git commit like a pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every developer has been there. Google is basically our therapist at this point.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Deleted Code Panic 😱
&lt;/h2&gt;

&lt;p&gt;Nothing compares to the horror of accidentally deleting your code. But fear not! There’s hope:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In VS Code:&lt;/strong&gt;&lt;br&gt;
Press &lt;strong&gt;Ctrl + Z (or Cmd + Z on Mac)&lt;/strong&gt; immediately — VS Code often keeps the undo history even after closing the file.&lt;/p&gt;

&lt;p&gt;Check &lt;strong&gt;Local History extensions&lt;/strong&gt; — they can save snapshots automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On GitHub:&lt;/strong&gt;&lt;br&gt;
If you committed your code before deleting, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout &amp;lt;commit_hash&amp;gt; &amp;lt;file_path&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or recover a deleted branch with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reflog
git checkout -b &amp;lt;branch_name&amp;gt; &amp;lt;commit_hash&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pro tip: Commit frequently. Your future self will thank you.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. StackOverflow: Our Saviour
&lt;/h2&gt;

&lt;p&gt;Sometimes the answer is literally 2 clicks away. Copy-paste, pray, debug a little… and it works!&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Coffee = Developer Fuel ☕
&lt;/h2&gt;

&lt;p&gt;No coffee = no code.&lt;br&gt;
Yes coffee = maybe I can fix this bug… probably…&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Imposter Syndrome: Level 100
&lt;/h2&gt;

&lt;p&gt;You’ll feel like a fraud one second… until you fix the bug that’s been haunting you for hours. Then suddenly, you’re Gandalf the Great of Code.&lt;/p&gt;




&lt;p&gt;Coding is panic, googling, caffeine, accidental deletes, and small victories.&lt;br&gt;
Celebrate the wins, learn from the fails, and never forget: every dev has been there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Extra Tip:&lt;/strong&gt; Install a good VS Code extension for local history, commit frequently, and always keep GitHub backups. It’ll save your sanity more than once.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>learning</category>
      <category>coding</category>
      <category>productivity</category>
    </item>
    <item>
      <title>From Googling Errors to Solving Them Like a Pro</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Sat, 27 Sep 2025 04:45:05 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/from-googling-errors-to-solving-them-like-a-pro-my-journey-as-a-developer-3mkh</link>
      <guid>https://forem.com/preeti_yadav/from-googling-errors-to-solving-them-like-a-pro-my-journey-as-a-developer-3mkh</guid>
      <description>&lt;p&gt;Ever Googled an error 20 times before it finally made sense? 😅&lt;/p&gt;

&lt;p&gt;Every developer has been there — staring at an error message that feels like it was written in a different universe.&lt;br&gt;
At first, I thought becoming a developer meant memorizing syntax, knowing 10+ frameworks, and building flawless apps. Reality? It meant Googling the same error 20 times until it finally made sense.&lt;/p&gt;

&lt;p&gt;But here’s the twist: Googling errors isn’t a weakness. It’s actually a superpower. Here’s why 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 The “Error → Search → Solution → Repeat” Loop
&lt;/h2&gt;

&lt;p&gt;When I started coding, I felt embarrassed that I couldn’t just “know” the answer. But then I realized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Even senior devs Google error codes.&lt;/li&gt;
&lt;li&gt;Debugging is 50% of the job.&lt;/li&gt;
&lt;li&gt;StackOverflow, GitHub issues, and documentation are part of a developer’s toolkit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of memorizing everything, I learned how to ask better questions. For example:&lt;br&gt;
❌ “React not working”&lt;br&gt;
✅ “React useEffect infinite loop when fetching API”&lt;/p&gt;

&lt;p&gt;The second one leads to real answers.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Patterns Over Solutions
&lt;/h2&gt;

&lt;p&gt;One day, it clicked: The goal isn’t just fixing the current bug, but recognizing patterns in problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infinite loops in React? → Usually state dependencies.&lt;/li&gt;
&lt;li&gt;API not connecting? → Maybe CORS or missing headers.&lt;/li&gt;
&lt;li&gt;SQL query failing? → Check data types and constraints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you see the patterns, you start solving errors faster, without needing to search every single time.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;If you’re a beginner dev, remember:&lt;/strong&gt;&lt;br&gt;
👉 Googling errors doesn’t make you less of a developer.&lt;br&gt;
👉 It means you’re building the most important skill: problem-solving.&lt;br&gt;
👉 Every error you fix makes you faster, sharper, and more independent.&lt;/p&gt;

&lt;p&gt;So next time you hit an error, don’t stress — smile. You’re literally leveling up. 💪&lt;/p&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>webdev</category>
      <category>coding</category>
    </item>
    <item>
      <title>Adaptability: The Superpower Developers Need in 2025</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Mon, 25 Aug 2025 04:29:21 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/adaptability-the-superpower-developers-need-in-2025-4p84</link>
      <guid>https://forem.com/preeti_yadav/adaptability-the-superpower-developers-need-in-2025-4p84</guid>
      <description>&lt;p&gt;The tech industry is advancing at an unprecedented pace, moving forward with remarkable speed and innovation. What seemed innovative yesterday is already outdated today, as the rapid evolution continues. As developers, we’re not just writing code, we’re actively shaping how people live, work, and interact with technology on a daily basis. However, the focus has shifted significantly: it's no longer about "Can we build this?"—it's about "How can we build this better, faster, and smarter?" This new mindset is driving the industry forward.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌐 Industry Shifts Developers Can’t Ignore
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;AI Everywhere&lt;br&gt;
From code generation to smarter debugging, AI isn’t replacing developers—it’s amplifying us and enhancing our capabilities. Those who know how to collaborate with AI will stay ahead of the curve and lead the way in innovation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud-Native Mindset&lt;br&gt;
Scalability is no longer optional. Cloud-native architectures, such as microservices and serverless, are becoming the foundation for modern applications, ensuring they can grow and adapt as needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User-Centric Development&lt;br&gt;
Performance and experience matter more than ever. Accessibility, responsiveness, and real-time features aren’t “nice-to-haves”—they’re expected, and they define the success of applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuous Learning as a Differentiator&lt;br&gt;
Frameworks come and go, but adaptability is the real skill that sets developers apart. The best developers are lifelong learners, always ready to acquire new knowledge.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  How to Stay Ahead
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Experiment often&lt;/strong&gt; → Don’t just read about trends; try building mini-projects with them to gain hands-on experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaborate smartly&lt;/strong&gt; → Share knowledge, contribute to open-source, and learn from peers to expand your understanding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Balance fundamentals with trends&lt;/strong&gt; → Don’t skip core concepts like algorithms, design patterns, and scalability. They endure beyond the trend cycle and remain crucial.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;The industry will keep evolving—and that’s the fun part. Instead of fearing change, embrace it wholeheartedly. The developers who thrive aren’t the ones who know everything but the ones who know how to adapt to anything. &lt;strong&gt;This adaptability is key to success&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;👉 What’s one trend you’re most excited (or worried) about in 2025? Drop your thoughts in the comments—I’d love to hear!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>career</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Just Launched My Portfolio &amp; I'd Love Your Feedback! 🙌</title>
      <dc:creator>Preeti yadav</dc:creator>
      <pubDate>Thu, 17 Jul 2025 04:18:08 +0000</pubDate>
      <link>https://forem.com/preeti_yadav/just-launched-my-portfolio-id-love-your-feedback-4kcm</link>
      <guid>https://forem.com/preeti_yadav/just-launched-my-portfolio-id-love-your-feedback-4kcm</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;/p&gt;

&lt;p&gt;I recently launched my portfolio and wanted to share it here because I’ve seen similar ones on Dev.to before, and they really inspired me!&lt;/p&gt;

&lt;p&gt;I always loved the idea of turning a portfolio into something fun and interactive — like a desktop operating system. It just felt more me, and I thought... why not give it a try?&lt;/p&gt;

&lt;p&gt;🔗 Live Link: &lt;a href="https://preetiyadav.dev/" rel="noopener noreferrer"&gt;https://preetiyadav.dev/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 My Goal
&lt;/h2&gt;

&lt;p&gt;I didn’t want to overcomplicate things with too many libraries or complex logic. My main goal was to:&lt;/p&gt;

&lt;p&gt;Keep the experience smooth and clean&lt;/p&gt;

&lt;p&gt;Make the layout fun to explore (like opening windows, minimizing, etc.)&lt;/p&gt;

&lt;p&gt;Still keep it developer-friendly and simple under the hood&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Tech Stack
&lt;/h2&gt;

&lt;p&gt;Here’s what I used:&lt;/p&gt;

&lt;p&gt;Next.js – for routing and performance&lt;br&gt;
Tailwind CSS – for fast styling and responsiveness&lt;br&gt;
EmailJS – just for handling the contact form (no backend needed)&lt;/p&gt;

&lt;p&gt;That’s it. No heavy animations, no state managers. Just clean and lightweight.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Key Features
&lt;/h2&gt;

&lt;p&gt;Desktop-like layout — open/close different windows (like About, Projects, Resume, etc.)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple contact form with EmailJS&lt;/li&gt;
&lt;li&gt;Clean UI with dark/light mode support&lt;/li&gt;
&lt;li&gt;Fully responsive&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Would Love Your Feedback!
&lt;/h2&gt;

&lt;p&gt;If you get a chance to explore it, I’d love to hear what you think! Any suggestions, ideas, or even bugs you spot — I’m all ears.&lt;br&gt;
Feel free to connect or drop a message 😊&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
