<?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: Karan</title>
    <description>The latest articles on DEV Community by Karan (@techgeniuskaran).</description>
    <link>https://dev.to/techgeniuskaran</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%2F1867263%2F3e1a21dd-ef29-44cb-95f4-a227e7e0b47d.jpeg</url>
      <title>DEV Community: Karan</title>
      <link>https://dev.to/techgeniuskaran</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/techgeniuskaran"/>
    <language>en</language>
    <item>
      <title>The Little Moments That Made Me Love Programming ❤️</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Sun, 09 Aug 2026 18:48:13 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/the-little-moments-that-made-me-love-programming-3hjg</link>
      <guid>https://dev.to/techgeniuskaran/the-little-moments-that-made-me-love-programming-3hjg</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Whenever people ask me,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"How did you get into programming?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I never really know how to answer.&lt;/p&gt;

&lt;p&gt;There wasn't one life-changing moment.&lt;br&gt;
There wasn't one huge project.&lt;br&gt;
There wasn't one magical course.&lt;/p&gt;

&lt;p&gt;Instead, it was a collection of lots of tiny moments that slowly made me fall in love with coding.&lt;/p&gt;

&lt;p&gt;Looking back now...those little moments still make me smile.&lt;/p&gt;




&lt;h2&gt;
  
  
  It Started With a Scratch Book 🎮
&lt;/h2&gt;

&lt;p&gt;The biggest reason I got into coding was because of my dad.&lt;/p&gt;

&lt;p&gt;He used to work as a software developer before moving into a managerial role, and one day he introduced my brother and me to programming through something surprisingly simple — a Scratch tutorial book.&lt;/p&gt;

&lt;p&gt;The book had around ten little games that we had to recreate.&lt;/p&gt;

&lt;p&gt;At first, I was simply dragging colorful blocks around the screen.&lt;/p&gt;

&lt;p&gt;But slowly...I started understanding the logic behind them.&lt;/p&gt;

&lt;p&gt;Seeing a game come alive because of something I built felt magical.&lt;br&gt;
Even better? I could immediately play the game afterwards 😄&lt;/p&gt;

&lt;p&gt;I don't think I cared much about programming back then. I just thought,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"This is really fun."&lt;/em&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1zbk358qqcz8obom9xtk.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%2F1zbk358qqcz8obom9xtk.png" alt="Image of Scratch book" width="362" height="435"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Python Problem I'll Never Forget 🐍
&lt;/h2&gt;

&lt;p&gt;After Scratch came Python.&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%2Fwvwhh2exdkbzl4wa7o25.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%2Fwvwhh2exdkbzl4wa7o25.png" alt="text saying Python" width="478" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My dad started giving my brother and me small programming exercises to solve.&lt;/p&gt;

&lt;p&gt;One challenge has stayed with me ever since.&lt;/p&gt;

&lt;p&gt;We had to build a simple restaurant program where my dad acted as the customer, and our code became the waiter taking his order.&lt;/p&gt;

&lt;p&gt;Everything was going well... until we reached one condition.&lt;/p&gt;

&lt;p&gt;The program needed two things to be true before it could continue.&lt;/p&gt;

&lt;p&gt;My brother and I kept trying different solutions. Nothing worked.&lt;/p&gt;

&lt;p&gt;Then I stopped thinking like a robot for a moment.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Wait... what if I simply say this AND this has to be true?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I searched how Python represented an AND condition, changed one line, ran the program...&lt;/p&gt;

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

&lt;p&gt;Looking back now, it was probably a tiny programming problem.&lt;/p&gt;

&lt;p&gt;But I still remember how proud I felt.&lt;/p&gt;

&lt;p&gt;It's funny how the smallest victories are sometimes the ones we remember the longest.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Summer Changed Everything ☀️
&lt;/h2&gt;

&lt;p&gt;The moment coding became more than just little games happened during one summer break in 7th grade.&lt;/p&gt;

&lt;p&gt;I enrolled in the &lt;strong&gt;Zero to Mastery Complete Web Developer&lt;/strong&gt; course by Andrei Neagoie.&lt;/p&gt;

&lt;p&gt;Every morning after breakfast, my dad would drop me at his second office. I would spend hours there learning before heading home around lunchtime.&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%2F9konixxp5jjctbxfj3hf.jpeg" 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%2F9konixxp5jjctbxfj3hf.jpeg" alt="A photo of me coding in dad's office" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking back... that summer completely changed how I looked at programming.&lt;/p&gt;

&lt;p&gt;The course opened my eyes to an entirely different world.&lt;/p&gt;

&lt;p&gt;Not just HTML and CSS. Not just JavaScript.&lt;/p&gt;

&lt;p&gt;But React. REST APIs. Backend development. Deployment.&lt;/p&gt;

&lt;p&gt;Suddenly, websites weren't magic anymore.&lt;/p&gt;

&lt;p&gt;I was slowly learning how they were built.&lt;/p&gt;

&lt;p&gt;And that fascinated me.&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%2F2kawxwhu9rydxueynz7u.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%2F2kawxwhu9rydxueynz7u.png" alt="Course completed" width="415" height="372"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A Small Confidence Boost 🌟
&lt;/h2&gt;

&lt;p&gt;One thing I'll always remember from that summer was visiting my dad's office.&lt;/p&gt;

&lt;p&gt;One of his colleagues used to introduce me to the freshers who had just joined the company.&lt;/p&gt;

&lt;p&gt;Honestly... I used to feel a little embarrassed 😅&lt;/p&gt;

&lt;p&gt;But somewhere deep down, it also made me feel proud.&lt;/p&gt;

&lt;p&gt;For the first time, I quietly thought,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Yeah... maybe this is what I want to do one day."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That digital world of building things and solving problems suddenly felt like somewhere I belonged.&lt;/p&gt;




&lt;h2&gt;
  
  
  Every Tiny Project Meant Something 🛠️
&lt;/h2&gt;

&lt;p&gt;From there, I just kept building.&lt;/p&gt;

&lt;p&gt;Some of my earliest projects were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎮 Stone Paper Scissors&lt;/li&gt;
&lt;li&gt;🔤 Palindrome Checker&lt;/li&gt;
&lt;li&gt;📝 Shopping List &lt;/li&gt;
&lt;/ul&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%2F4hujbu3s6jstfkmeeo2o.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%2F4hujbu3s6jstfkmeeo2o.png" alt="screenshot of early projects" width="595" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking back today, they're incredibly simple.&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%2Frjrshj8xqfebkuu7y8lr.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%2Frjrshj8xqfebkuu7y8lr.png" alt="Screenshot of rock paper scissors game" width="695" height="255"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fznqx2i8e0m9tiq6f87wo.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%2Fznqx2i8e0m9tiq6f87wo.png" alt="Screenshot of palindrome checker" width="800" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But whenever I scroll through those old projects, I don't think,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Wow... that's bad."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Instead, I smile and think,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"That's where it all started."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every tiny project taught me something. Every bug taught me patience. Every finished project gave me the confidence to start another one.&lt;/p&gt;

&lt;p&gt;Eventually those little projects became:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✨ Quote Generator&lt;/li&gt;
&lt;li&gt;💪 Gym Scheduler&lt;/li&gt;
&lt;li&gt;🏐 Volleyball Tournament Website&lt;/li&gt;
&lt;li&gt;🌍 Open Source Contributions&lt;/li&gt;
&lt;/ul&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%2Fs2mvn8jo3kegb36bjc0w.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%2Fs2mvn8jo3kegb36bjc0w.png" alt="Screenshot of new projects" width="482" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's honestly funny to think that I went from dragging colourful Scratch blocks around &lt;br&gt;
➡️➡️➡️ &lt;br&gt;
to deploying applications that real people actually use.&lt;/p&gt;

&lt;p&gt;Or from figuring out one simple AND condition &lt;br&gt;
➡️➡️➡️&lt;br&gt;
to contributing to open-source projects with thousands of lines of code.&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%2Fdnawvaf5h0xn2lzyeg59.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%2Fdnawvaf5h0xn2lzyeg59.png" alt="Screenshot of gym scheduler" width="491" height="305"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1yaboomocpi6ku59rjxi.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%2F1yaboomocpi6ku59rjxi.png" alt="Open-source contributions" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Looking Back... ❤️
&lt;/h2&gt;

&lt;p&gt;A few things stand out more than anything else.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Consistency Matters
&lt;/h3&gt;

&lt;p&gt;One thing I genuinely regret is taking almost an entire year away from coding during 8th grade.&lt;/p&gt;

&lt;p&gt;No projects. No courses. No experimenting. Nothing.&lt;/p&gt;

&lt;p&gt;Not because I stopped liking programming.&lt;/p&gt;

&lt;p&gt;I just became inconsistent.&lt;/p&gt;

&lt;p&gt;Looking back, I don't regret not building something huge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I regret not building something small.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  💡 Small Projects Are Never a Waste of Time
&lt;/h3&gt;

&lt;p&gt;I literally built a Stone Paper Scissors game.&lt;/p&gt;

&lt;p&gt;And honestly... I'm still proud of it 😄&lt;/p&gt;

&lt;p&gt;It wasn't about how impressive the project was.&lt;/p&gt;

&lt;p&gt;It was about showing up, learning something new, and finishing what I started.&lt;/p&gt;

&lt;p&gt;Those tiny projects quietly prepared me for the bigger ones.&lt;/p&gt;




&lt;h3&gt;
  
  
  🤖 Curiosity Will Always Beat Convenience
&lt;/h3&gt;

&lt;p&gt;I've always been very pro-AI, and that hasn't changed.&lt;/p&gt;

&lt;p&gt;The things Claude Code and other AI tools can do today still feel like magic sometimes 😅&lt;/p&gt;

&lt;p&gt;But one thing has stayed exactly the same.&lt;/p&gt;

&lt;p&gt;My curiosity.&lt;/p&gt;

&lt;p&gt;Even when AI gives me the answer, I still find myself asking,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Wait... how did it do that?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Or, &lt;em&gt;"Could I build this myself?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For me, AI has never replaced learning.&lt;/p&gt;

&lt;p&gt;If anything... it's made me even more curious.&lt;/p&gt;




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

&lt;p&gt;Looking back...&lt;/p&gt;

&lt;p&gt;none of these moments felt particularly important while they were happening.&lt;/p&gt;

&lt;p&gt;A Scratch game.&lt;br&gt;
A Python exercise.&lt;br&gt;
A summer course.&lt;br&gt;
A tiny portfolio.&lt;br&gt;
A Stone Paper Scissors game.&lt;/p&gt;

&lt;p&gt;Individually, they all seemed ordinary.&lt;/p&gt;

&lt;p&gt;But somehow those little moments are exactly what made me love programming.&lt;/p&gt;

&lt;p&gt;And honestly - I wouldn't trade any of them for anything.&lt;/p&gt;

&lt;p&gt;See you guys in the next one. 🚀&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>motivation</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The One File That Made Every Project Easier to Build 💡📁</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Sat, 01 Aug 2026 06:34:07 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/the-one-file-that-made-every-project-easier-to-build-7ho</link>
      <guid>https://dev.to/techgeniuskaran/the-one-file-that-made-every-project-easier-to-build-7ho</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;If there's one habit that has improved every project I've built, it isn't React.&lt;/p&gt;

&lt;p&gt;It isn't Claude Code.&lt;/p&gt;

&lt;p&gt;It isn't AI.&lt;/p&gt;

&lt;p&gt;It's spending time &lt;strong&gt;planning&lt;/strong&gt; before writing a single line of code.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Biggest Mistake 😅
&lt;/h2&gt;

&lt;p&gt;Up until this year, every time I got a new project idea, I would immediately open VS Code and start building.&lt;/p&gt;

&lt;p&gt;Always chasing the thrill of seeing an idea come alive as quickly as possible. A bad habit some of us have.&lt;/p&gt;

&lt;p&gt;The problem?&lt;/p&gt;

&lt;p&gt;Halfway through the project, I would suddenly realize...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Wtf am I doing?" 😭&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Features would keep changing. The structure would become messy. I would rewrite the same files multiple times.&lt;/p&gt;

&lt;p&gt;Sometimes I would even abandon the project completely because I hadn't thought things through.&lt;/p&gt;

&lt;p&gt;Looking back, I wasn't failing because I couldn't code.&lt;/p&gt;

&lt;p&gt;I was failing because I &lt;strong&gt;never planned.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Advice That Changed Everything 💡
&lt;/h2&gt;

&lt;p&gt;One day, my mentor — a senior developer at GoDaddy — gave me a piece of advice that completely changed how I looked at software development.&lt;/p&gt;

&lt;p&gt;She said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Real coding begins on paper."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first, I didn't fully understand what she meant.&lt;/p&gt;

&lt;p&gt;Sure, I could sketch a few ideas. But what about things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choosing the right tech stack&lt;/li&gt;
&lt;li&gt;Planning the architecture&lt;/li&gt;
&lt;li&gt;Organizing features&lt;/li&gt;
&lt;li&gt;Thinking about edge cases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens if the user enters invalid data?&lt;/li&gt;
&lt;li&gt;What if the server doesn't respond?&lt;/li&gt;
&lt;li&gt;What if I want to add new features later without rewriting everything?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple flowchart wasn't enough.&lt;/p&gt;

&lt;p&gt;That's when I discovered the power of a &lt;code&gt;planning.md&lt;/code&gt; file.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Inside My &lt;code&gt;planning.md&lt;/code&gt;? 📋
&lt;/h2&gt;

&lt;p&gt;The very first thing I do is ask Claude to &lt;strong&gt;brainstorm with me&lt;/strong&gt; instead of jumping straight into coding.&lt;/p&gt;

&lt;p&gt;My prompt is usually something along the lines of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Let's brainstorm ideas for this project. Ask me plenty of questions, challenge my assumptions, and then create a &lt;code&gt;planning.md&lt;/code&gt; file containing the features for Version 1, ideas for Version 2, and a phase-by-phase implementation plan."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From there, the planning file gradually grows into the project's full roadmap.&lt;/p&gt;

&lt;p&gt;It usually contains things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project goals&lt;/li&gt;
&lt;li&gt;Core features&lt;/li&gt;
&lt;li&gt;Future ideas (V2)&lt;/li&gt;
&lt;li&gt;Tech stack decisions&lt;/li&gt;
&lt;li&gt;Folder structure&lt;/li&gt;
&lt;li&gt;Build phases&lt;/li&gt;
&lt;li&gt;Edge cases&lt;/li&gt;
&lt;li&gt;Things to remember while developing&lt;/li&gt;
&lt;/ul&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%2Feu8069c0uqsqxd2wgzfv.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%2Feu8069c0uqsqxd2wgzfv.png" alt="planning.md structure and contents" width="800" height="367"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu0d56ir3v6lfsrq3ixtc.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%2Fu0d56ir3v6lfsrq3ixtc.png" alt="planning.md contents" width="467" height="846"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Actually Helps 🤖
&lt;/h2&gt;

&lt;p&gt;Whether you're using AI tools like Claude Code or planning everything yourself, having a roadmap makes an enormous difference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're using Claude Code&lt;/strong&gt; — the &lt;code&gt;planning.md&lt;/code&gt; file keeps Claude focused on the original vision instead of slowly drifting away as the conversation gets longer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're not using AI&lt;/strong&gt; — it still acts as your own personal project roadmap. Whenever you come back after a few days, you instantly remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What you're building&lt;/li&gt;
&lt;li&gt;Why you're building it&lt;/li&gt;
&lt;li&gt;What comes next&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The planning file also becomes a place where brainstorming never really stops. As new ideas come to mind, they simply get added to the document instead of interrupting development.&lt;/p&gt;

&lt;p&gt;Claude is surprisingly helpful here too. It often suggests:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better alternatives&lt;/li&gt;
&lt;li&gt;Cleaner architectures&lt;/li&gt;
&lt;li&gt;Features I hadn't considered&lt;/li&gt;
&lt;li&gt;Edge cases I completely missed&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How It Played Out For Me 🚀
&lt;/h2&gt;

&lt;p&gt;The first project where I fully committed to this workflow was my &lt;strong&gt;Gym Scheduler app.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The very first file I created wasn't a React component.&lt;/p&gt;

&lt;p&gt;It was &lt;code&gt;planning.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;As the project grew, so did the planning document. Once Version 1 was complete, I went back and started planning Version 2.&lt;/p&gt;

&lt;p&gt;Later, while brainstorming with Claude again, the idea expanded far beyond a simple scheduler. It evolved into a much bigger vision that included:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI-powered schedule adjustments&lt;/td&gt;
&lt;td&gt;Planned (V2)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workout tracking&lt;/td&gt;
&lt;td&gt;Planned (V2)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lifestyle and health tools&lt;/td&gt;
&lt;td&gt;Planned (V2)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trainer–trainee booking system&lt;/td&gt;
&lt;td&gt;Planned (V2)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;None of those ideas interrupted my current work because they &lt;strong&gt;already had a place&lt;/strong&gt; inside the planning file.&lt;/p&gt;

&lt;p&gt;Instead of constantly changing the codebase, I was simply expanding the roadmap.&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%2Fxzw4id2ihk715gr5n061.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%2Fxzw4id2ihk715gr5n061.png" alt="sidebar of planning files" width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;The next time you get excited about a new project...&lt;/p&gt;

&lt;p&gt;Don't open VS Code first.&lt;/p&gt;

&lt;p&gt;Open a blank Markdown file.&lt;/p&gt;

&lt;p&gt;Spend 20 to 30 minutes thinking before you start building.&lt;/p&gt;

&lt;p&gt;Future you will be very grateful.&lt;/p&gt;

&lt;p&gt;See you guys in the next one! 🚀&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>My Open Source Workflow: How I Went From 1 to 20 Pull Requests 🚀</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Wed, 15 Jul 2026 08:10:11 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/my-open-source-workflow-how-i-went-from-1-to-20-pull-requests-470f</link>
      <guid>https://dev.to/techgeniuskaran/my-open-source-workflow-how-i-went-from-1-to-20-pull-requests-470f</guid>
      <description>&lt;p&gt;Hey guys,&lt;/p&gt;

&lt;p&gt;After contributing to my first open-source project, &lt;a href="https://github.com/physicshub/physicshub.github.io" rel="noopener noreferrer"&gt;PhysicsHub&lt;/a&gt;, I wanted more.&lt;/p&gt;

&lt;p&gt;More repositories. More bugs to fix. More contributions.&lt;/p&gt;

&lt;p&gt;But it wasn't easy.&lt;/p&gt;

&lt;p&gt;Scouring every inch of GitHub just to find one worthwhile issue, then spending several hours creating &lt;strong&gt;one&lt;/strong&gt; pull request... only for it to sometimes get rejected or closed.&lt;/p&gt;

&lt;p&gt;That's frustrating.&lt;/p&gt;

&lt;p&gt;More importantly, it's &lt;strong&gt;highly inefficient.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One thing I've realized is that efficiency matters a lot in coding. I needed some way to make contributing easier and, more importantly, &lt;strong&gt;consistent.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I needed a system."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Building My Open Source Workspace ⚙️
&lt;/h2&gt;

&lt;p&gt;The first thing I did was select a handful of repositories that genuinely interested me.&lt;/p&gt;

&lt;p&gt;Then I:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Forked each repository&lt;/li&gt;
&lt;li&gt;Cloned my forks locally&lt;/li&gt;
&lt;li&gt;Placed everything inside one folder called &lt;code&gt;Open-Source-Contributions&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&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%2Fggc4rqrrh9g5p2ruvu7z.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%2Fggc4rqrrh9g5p2ruvu7z.png" alt="Screenshot of VS Code showing your Open-Source-Contributions workspace folder" width="372" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I had all my projects in one place.&lt;/p&gt;

&lt;p&gt;But I wasn't done yet.&lt;/p&gt;

&lt;p&gt;I then used ChatGPT to help me craft a &lt;strong&gt;master prompt for Claude Code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea was simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create one central &lt;code&gt;CLAUDE.md&lt;/code&gt; containing my personal workflow and rules&lt;/li&gt;
&lt;li&gt;Create an individual &lt;code&gt;CLAUDE.md&lt;/code&gt; inside &lt;strong&gt;each repository&lt;/strong&gt; so Claude could understand that project's codebase, conventions, and file structure&lt;/li&gt;
&lt;/ul&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%2Fgn557xfhqzt7yh99fayg.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%2Fgn557xfhqzt7yh99fayg.png" alt="Claude.md file - contribution workflow rules" width="800" height="724"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And... voilà.&lt;/p&gt;

&lt;p&gt;My workflow was ready. Ready and efficient 😎&lt;/p&gt;




&lt;h2&gt;
  
  
  My Daily Routine ☀️
&lt;/h2&gt;

&lt;p&gt;Around every noon, I open my GitHub tab group on Chrome.&lt;/p&gt;

&lt;p&gt;It instantly opens every one of my forked repositories.&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%2Fhyio5v4f4da6aqfgk7i8.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%2Fhyio5v4f4da6aqfgk7i8.png" alt="Chrome tab groups" width="800" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there, I simply check the latest issues.&lt;/p&gt;

&lt;p&gt;If I find an untouched issue that looks interesting, I dive right in.&lt;/p&gt;

&lt;p&gt;I ask Claude to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔍 Analyze the issue&lt;/li&gt;
&lt;li&gt;🧠 Identify the likely cause&lt;/li&gt;
&lt;li&gt;💬 Explain what's happening&lt;/li&gt;
&lt;li&gt;🛠️ Suggest a possible fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then we solve it together, open a pull request...&lt;/p&gt;

&lt;p&gt;...and wham, bam, thank you ma'am 😅&lt;/p&gt;

&lt;p&gt;Another contribution done.&lt;/p&gt;

&lt;p&gt;Watching those little green squares slowly start flooding my GitHub activity chart is honestly &lt;strong&gt;immeasurably satisfying.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Pick Repositories 🔍
&lt;/h2&gt;

&lt;p&gt;A few people asked me how I actually find projects worth contributing to.&lt;/p&gt;

&lt;p&gt;My first project, &lt;a href="https://github.com/physicshub/physicshub.github.io" rel="noopener noreferrer"&gt;PhysicsHub&lt;/a&gt;, came from &lt;a href="https://goodfirstissue.dev/" rel="noopener noreferrer"&gt;Good First Issue&lt;/a&gt; — I talked about that in my &lt;a href="https://dev.to/techgeniuskaran/i-searched-for-internships-and-ended-up-contributing-to-open-source-instead-2ilk"&gt;previous open-source blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But after that, I wanted something bigger.&lt;/p&gt;

&lt;p&gt;So I asked Claude to recommend GitHub projects that prioritized three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plenty of beginner-friendly issues&lt;/li&gt;
&lt;li&gt;Active maintenance&lt;/li&gt;
&lt;li&gt;Responsive maintainers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It generated a list of around &lt;strong&gt;10 repositories.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From there, I filtered them based on:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Filter&lt;/th&gt;
&lt;th&gt;Why It Mattered&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Projects that genuinely interested me&lt;/td&gt;
&lt;td&gt;Keeps motivation high&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tech stack I wanted to improve at&lt;/td&gt;
&lt;td&gt;Every PR becomes a learning opportunity&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Eventually, I narrowed everything down to these five repositories:&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/physicshub/physicshub.github.io" rel="noopener noreferrer"&gt;PhysicsHub.io&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/freeCodeCamp/freeCodeCamp" rel="noopener noreferrer"&gt;freeCodeCamp&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/internetarchive/openlibrary" rel="noopener noreferrer"&gt;openlibrary&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/appwrite/appwrite" rel="noopener noreferrer"&gt;appwrite&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/calcom/cal.diy" rel="noopener noreferrer"&gt;cal.diy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Result 📈
&lt;/h2&gt;

&lt;p&gt;Having a proper workflow completely changed how I contribute.&lt;/p&gt;

&lt;p&gt;Instead of making one or two pull requests whenever I randomly felt motivated...&lt;/p&gt;

&lt;p&gt;...I now have around &lt;strong&gt;20 pull requests&lt;/strong&gt; spread across five different repositories.&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%2Fe7k05cn3qbtv08xi2o6h.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%2Fe7k05cn3qbtv08xi2o6h.png" alt="GitHub contribution graph showing the green activity squares filling up" width="242" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The biggest difference wasn't becoming a better programmer overnight.&lt;/p&gt;

&lt;p&gt;It was becoming &lt;strong&gt;consistent.&lt;/strong&gt;&lt;/p&gt;




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

&lt;p&gt;This workflow didn't just make contributing faster.&lt;/p&gt;

&lt;p&gt;It made me actually &lt;strong&gt;want&lt;/strong&gt; to keep contributing.&lt;/p&gt;

&lt;p&gt;Before this, the thought of endlessly searching GitHub for a tiny issue was honestly discouraging.&lt;/p&gt;

&lt;p&gt;Now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Everything is organized&lt;/li&gt;
&lt;li&gt;✅ Everything is ready&lt;/li&gt;
&lt;li&gt;✅ All I have to do is open my workspace and start contributing&lt;/li&gt;
&lt;/ul&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%2Flsudhuie42npy6i9r0uk.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%2Flsudhuie42npy6i9r0uk.png" alt="GitHub activity page showing pull requests open" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eventually, I'd love to contribute more than just bug fixes — maybe even build entirely new features.&lt;/p&gt;

&lt;p&gt;But for now...&lt;br&gt;
I'm enjoying learning one pull request at a time. 🚀&lt;/p&gt;

&lt;p&gt;See y'all next time.&lt;br&gt;
Happy learning! 👋&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>claude</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The Biggest Upgrade to My Coding Skills Didn't Come From School 🎓💻</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Fri, 26 Jun 2026 15:34:05 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/the-biggest-upgrade-to-my-coding-skills-didnt-come-from-school-5cg5</link>
      <guid>https://dev.to/techgeniuskaran/the-biggest-upgrade-to-my-coding-skills-didnt-come-from-school-5cg5</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;If you've read some of my previous blogs, you'll know that I enjoy building projects — from a &lt;a href="https://gymscheduler1.netlify.app/login" rel="noopener noreferrer"&gt;Gym Scheduler&lt;/a&gt; to &lt;a href="https://dev.to/techgeniuskaran/i-searched-for-internships-and-ended-up-contributing-to-open-source-instead-2ilk"&gt;contributing to open source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But here's something that might surprise you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Almost everything I've used to build those projects wasn't taught to me in school.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In fact, my school barely taught programming at all.&lt;/p&gt;

&lt;p&gt;We had the occasional computer class where we'd use things like Microsoft Paint, Excel, or PowerPoint — but I never really got exposed to what software development actually looked like.&lt;/p&gt;

&lt;p&gt;If I had only relied on school, I'm honestly not sure I would've discovered how much I enjoy coding.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Course Changed Everything 🚀
&lt;/h2&gt;

&lt;p&gt;I had always been interested in computers thanks to my dad, who introduced my brother and me to some simple programming challenges when we were younger.&lt;/p&gt;

&lt;p&gt;But the point where coding became something I genuinely wanted to pursue was during one summer break in 7th or 8th grade.&lt;/p&gt;

&lt;p&gt;That's when I started the &lt;strong&gt;Zero to Mastery Complete Web Developer&lt;/strong&gt; course by Andrei Neagoie.&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%2Fa4hnzkbddtnf7cr6phbe.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%2Fa4hnzkbddtnf7cr6phbe.png" alt="Dashboard of My Learning - Courses" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking back, that course completely changed how I viewed programming.&lt;/p&gt;

&lt;p&gt;Instead of random topics, everything followed a &lt;strong&gt;logical progression&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTML &amp;amp; CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Backend development&lt;/li&gt;
&lt;li&gt;APIs &amp;amp; databases&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Career advice&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For the first time, software development felt like &lt;strong&gt;one connected journey&lt;/strong&gt; instead of dozens of unrelated concepts.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Structured Courses Worked Better For Me
&lt;/h2&gt;

&lt;p&gt;What I liked most wasn't just the content — it was the &lt;strong&gt;structure&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every module naturally built on the previous one, so I never felt completely lost.&lt;/p&gt;

&lt;p&gt;The courses also included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Hands-on projects&lt;/li&gt;
&lt;li&gt;✅ Downloadable resources&lt;/li&gt;
&lt;li&gt;✅ Real-world examples&lt;/li&gt;
&lt;li&gt;✅ Clear progression from beginner to advanced&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There was always a feeling that I was &lt;strong&gt;moving forward&lt;/strong&gt; instead of jumping randomly between tutorials.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Difference It Made
&lt;/h2&gt;

&lt;p&gt;Later, I also completed a &lt;strong&gt;MERN Stack course&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That course introduced me to concepts like &lt;strong&gt;CRUD operations&lt;/strong&gt;, which became the foundation for several of my own projects:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project&lt;/th&gt;
&lt;th&gt;Concepts Used&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NGO Management System&lt;/td&gt;
&lt;td&gt;CRUD, authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gym Scheduler App&lt;/td&gt;
&lt;td&gt;CRUD, user data, scheduling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&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%2Ffwr5f89r1bt8c3bx1ysu.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%2Ffwr5f89r1bt8c3bx1ysu.png" alt="Gym scheduler UI" width="402" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Those concepts weren't just theory anymore.&lt;/p&gt;

&lt;p&gt;I was actually &lt;strong&gt;using them to build applications.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Looking back, many of the projects I've written about on this blog probably wouldn't have existed without those courses.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Advice To Beginners
&lt;/h2&gt;

&lt;p&gt;If you're just starting your programming journey, I'd recommend &lt;strong&gt;investing in one well-structured course&lt;/strong&gt; rather than constantly jumping between random tutorials.&lt;/p&gt;

&lt;p&gt;YouTube is an amazing resource — I still use it regularly — but I personally found that structured courses helped me build a much stronger foundation.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The projects, progression, and organization made learning much less overwhelming.&lt;/p&gt;
&lt;/blockquote&gt;




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

&lt;p&gt;I'm definitely not saying courses are the only way to learn programming.&lt;/p&gt;

&lt;p&gt;Everyone learns differently.&lt;/p&gt;

&lt;p&gt;But for me, they provided the structure that school never did. They gave me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;roadmap&lt;/strong&gt; to follow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concepts&lt;/strong&gt; I still use today&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;confidence&lt;/strong&gt; to start building my own projects&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;building projects is where the real learning begins.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;See you guys in the next one! 🚀&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>career</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Claude Code Broke My App Twice Before Finally Fixing It 😭</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Wed, 17 Jun 2026 06:40:16 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/claude-code-broke-my-app-twice-before-finally-fixing-it-84j</link>
      <guid>https://dev.to/techgeniuskaran/claude-code-broke-my-app-twice-before-finally-fixing-it-84j</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;To pick up where I left off in my &lt;a href="https://dev.to/techgeniuskaran/i-let-claude-code-build-my-gym-scheduler-app-heres-what-happened-2eeg"&gt;previous post&lt;/a&gt;, everything was working smoothly in my Gym Scheduler app.&lt;/p&gt;

&lt;p&gt;The login worked. The schedule worked. The deployment worked.&lt;/p&gt;

&lt;p&gt;Life was good 😎&lt;/p&gt;

&lt;p&gt;Until... I decided to add a new feature.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Feature That Started It All 💪
&lt;/h2&gt;

&lt;p&gt;I wanted users to be able to create and manage &lt;strong&gt;multiple workout programs&lt;/strong&gt; depending on their goals.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Push Pull Legs (PPL)&lt;/li&gt;
&lt;li&gt;Upper / Lower&lt;/li&gt;
&lt;li&gt;Full Body&lt;/li&gt;
&lt;li&gt;Strength-Focused Program&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;One simple schedule&lt;/td&gt;
&lt;td&gt;Multiple programs users could easily switch between&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&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%2Fzru19ytb2wf5lozvjzqc.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%2Fzru19ytb2wf5lozvjzqc.png" alt="Programs dropdown list" width="402" height="353"&gt;&lt;/a&gt;&lt;br&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%2Fgn2au7ta0tqwqmd9rq82.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%2Fgn2au7ta0tqwqmd9rq82.png" alt="New program popup" width="605" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simple enough, right?&lt;/p&gt;

&lt;p&gt;Yeah... not exactly 😅&lt;/p&gt;




&lt;h2&gt;
  
  
  Claude Had a Plan 📋
&lt;/h2&gt;

&lt;p&gt;Of course, I turned to Claude.&lt;/p&gt;

&lt;p&gt;I started by creating a detailed implementation plan and adding it to my &lt;code&gt;planning.md&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;After reviewing everything, Claude confidently told me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Looks good, let's implement it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Perfect. Everything seemed to be going great.&lt;/p&gt;

&lt;p&gt;Claude started:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating the necessary files&lt;/li&gt;
&lt;li&gt;Installing required packages&lt;/li&gt;
&lt;li&gt;Updating the database logic&lt;/li&gt;
&lt;li&gt;Writing the code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was feeling pretty confident.&lt;/p&gt;

&lt;p&gt;And then I made my biggest mistake.&lt;/p&gt;




&lt;h2&gt;
  
  
  I Let Claude Run Unsupervised 😭
&lt;/h2&gt;

&lt;p&gt;The code looked fine. The plan looked fine. Everything &lt;strong&gt;seemed&lt;/strong&gt; fine.&lt;/p&gt;

&lt;p&gt;But when I ran the project locally...&lt;/p&gt;

&lt;p&gt;everything fell apart.&lt;/p&gt;




&lt;h2&gt;
  
  
  Everything Broke 💀
&lt;/h2&gt;

&lt;p&gt;Instead of getting a shiny new program-switching feature, I got:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ My old schedule disappeared&lt;/li&gt;
&lt;li&gt;❌ The styling changed&lt;/li&gt;
&lt;li&gt;❌ The dropdown was missing&lt;/li&gt;
&lt;li&gt;❌ The feature didn't even exist
I just sat there staring at the screen thinking:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;"What on earth happened?"&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Attempt #2 😭
&lt;/h2&gt;

&lt;p&gt;Naturally, I asked Claude to review the code.&lt;/p&gt;

&lt;p&gt;A few moments later:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Everything looks good 🙂"&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;&lt;strong&gt;it broke the app again&lt;/strong&gt; 😭&lt;/p&gt;

&lt;p&gt;At this point, I wasn't sure whether to laugh or cry.&lt;/p&gt;




&lt;h2&gt;
  
  
  Time To Take Control 🚨
&lt;/h2&gt;

&lt;p&gt;I finally decided to &lt;strong&gt;stop trusting Claude blindly&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;First, I reverted all the changes.&lt;/p&gt;

&lt;p&gt;Then I started approaching the problem differently:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cleared the conversation context&lt;/li&gt;
&lt;li&gt;Explained the expected behavior more clearly&lt;/li&gt;
&lt;li&gt;Shared screenshots&lt;/li&gt;
&lt;li&gt;Updated the implementation plan&lt;/li&gt;
&lt;li&gt;Narrowed down what was actually broken&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And suddenly, things started making sense.&lt;/p&gt;

&lt;p&gt;This time Claude rewrote the affected files differently. The implementation looked cleaner. The logic looked better.&lt;/p&gt;

&lt;p&gt;And for the first time...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;it actually worked&lt;/strong&gt; 🎉&lt;/p&gt;




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

&lt;p&gt;This experience taught me something important.&lt;/p&gt;

&lt;p&gt;AI is incredibly powerful.&lt;/p&gt;

&lt;p&gt;But when it gets stuck, &lt;strong&gt;throwing more prompts at it usually isn't the solution.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What helped was stepping back, understanding the problem myself, and giving better context.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The better I explained the issue, the better Claude's solutions became.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Turns out AI isn't a mind reader after all 😅&lt;/p&gt;




&lt;h2&gt;
  
  
  Feature Showcase 🚀
&lt;/h2&gt;

&lt;p&gt;After all that debugging, the app ended up much better than before.&lt;/p&gt;

&lt;p&gt;Some of the new additions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚖️ BMI Calculator&lt;/li&gt;
&lt;li&gt;🔥 Calorie Calculator&lt;/li&gt;
&lt;li&gt;📅 Current-Day Highlighting&lt;/li&gt;
&lt;li&gt;🔀 Exercise Reordering&lt;/li&gt;
&lt;li&gt;🗂️ Multiple Workout Programs&lt;/li&gt;
&lt;li&gt;✨ Better UI &amp;amp; UX&lt;/li&gt;
&lt;/ul&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%2F65mbmeso43hocz125h2i.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%2F65mbmeso43hocz125h2i.png" alt="New tools on tools page" width="799" height="468"&gt;&lt;/a&gt;&lt;br&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%2Fcfcpfkjc8a0s8oo7h5kh.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%2Fcfcpfkjc8a0s8oo7h5kh.png" alt="Old navbar" width="800" height="81"&gt;&lt;/a&gt; to &lt;br&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%2F9m5pqihwuytswiqob8sw.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%2F9m5pqihwuytswiqob8sw.png" alt="New navbar" width="794" height="33"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;At the end of the day, the feature &lt;strong&gt;did&lt;/strong&gt; work — despite all the stress it caused 😭&lt;/p&gt;

&lt;p&gt;And honestly, the app became much better because of it.&lt;/p&gt;

&lt;p&gt;The biggest lesson I took away from this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI can write code faster than most developers ever could.&lt;br&gt;
But developers still need to communicate clearly, think critically, and understand what they're building.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The code might be generated by AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The direction still comes from you.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Enjoyed this one? Drop a ❤️ and follow along — more parts coming soon! 🚀&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ai</category>
      <category>react</category>
      <category>claude</category>
    </item>
    <item>
      <title>I Let Claude Code Build My Gym Scheduler App. Here's What Happened. 🚀</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Thu, 11 Jun 2026 11:17:04 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/i-let-claude-code-build-my-gym-scheduler-app-heres-what-happened-2eeg</link>
      <guid>https://dev.to/techgeniuskaran/i-let-claude-code-build-my-gym-scheduler-app-heres-what-happened-2eeg</guid>
      <description>&lt;h2&gt;
  
  
  Every Project Starts With a Problem
&lt;/h2&gt;

&lt;p&gt;As most inventions or ideas begin, mine also started with a problem.&lt;/p&gt;

&lt;p&gt;For me, it was in the gym.&lt;/p&gt;

&lt;p&gt;I often found myself missing workouts here and there for various reasons — some completely beyond my control. That part is normal. Life happens.&lt;/p&gt;

&lt;p&gt;What I struggled with was figuring out how to &lt;strong&gt;recover&lt;/strong&gt; from it.&lt;/p&gt;

&lt;p&gt;Most people would simply say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If you missed Back Day, just do it tomorrow."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And yes, that works.&lt;/p&gt;

&lt;p&gt;But I've always liked having specific workouts on specific days. 'Monday will &lt;strong&gt;always&lt;/strong&gt; be my Chest Day' 😤&lt;/p&gt;

&lt;p&gt;That's when an idea hit me.&lt;/p&gt;

&lt;p&gt;What if I built a &lt;strong&gt;Gym Scheduler&lt;/strong&gt; that could intelligently reorganize the rest of the week whenever I missed a workout?&lt;/p&gt;

&lt;p&gt;The long-term vision is to eventually integrate AI so it can generate personalized workout adjustments based on a user's goals, schedule, and missed sessions.&lt;/p&gt;

&lt;p&gt;And since this problem affects me personally, it felt like the perfect project to build.&lt;/p&gt;




&lt;h2&gt;
  
  
  Before Writing Code, We Planned
&lt;/h2&gt;

&lt;p&gt;One of the most valuable lessons my coding mentor taught me was this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Always plan before you build."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A surprising number of development problems can be avoided simply by thinking things through before touching the keyboard.&lt;/p&gt;

&lt;p&gt;This became even more important when working with powerful tools like Claude Code.&lt;/p&gt;

&lt;p&gt;My initial prompt was something along the lines of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to build a Gym Scheduler app. Let's brainstorm some ideas first. Ask me lots of questions and create a planning file where we can organize everything."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that's exactly what happened.&lt;/p&gt;

&lt;p&gt;What started as a simple idea quickly became a &lt;strong&gt;massive planning document&lt;/strong&gt; covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Database structure&lt;/li&gt;
&lt;li&gt;API routes&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;Deployment strategy&lt;/li&gt;
&lt;li&gt;Build phases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before a single line of code was written, the entire project had a roadmap.&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%2Fx3kdnh3ylsa43x0mlvm6.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%2Fx3kdnh3ylsa43x0mlvm6.png" alt="Planning.md screenshot" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honestly, I did not expect the planning file to become this huge 😅&lt;/p&gt;




&lt;h2&gt;
  
  
  Claude Became My Project Manager 😅
&lt;/h2&gt;

&lt;p&gt;Since I'm still a student developer with a lot left to learn, I didn't want Claude to simply &lt;strong&gt;write code for me&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted it to &lt;strong&gt;teach me&lt;/strong&gt; as well.&lt;/p&gt;

&lt;p&gt;At several points, I even asked Claude to explain what it was doing and why it was doing it.&lt;/p&gt;

&lt;p&gt;One of my goals for this project was to better understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Object-Oriented Programming (OOP)&lt;/li&gt;
&lt;li&gt;SOLID Principles&lt;/li&gt;
&lt;li&gt;Application architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claude suggested the following stack:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;React&lt;/td&gt;
&lt;td&gt;Frontend framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tailwind CSS&lt;/td&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MongoDB Atlas&lt;/td&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;But instead of blindly accepting the suggestion, I &lt;strong&gt;asked it to justify every choice&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why React? Why MongoDB? Why not something else?&lt;/p&gt;

&lt;p&gt;This ended up being one of the most educational parts of the project — it helped me understand not just &lt;strong&gt;what&lt;/strong&gt; to use, but &lt;strong&gt;when&lt;/strong&gt; to use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building It Phase by Phase
&lt;/h2&gt;

&lt;p&gt;Once the planning was complete, we finally started building.&lt;/p&gt;

&lt;p&gt;One thing I specifically asked Claude to do was &lt;strong&gt;avoid generating the entire application in one go&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead, I wanted it built &lt;strong&gt;phase by phase&lt;/strong&gt;. &lt;br&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%2F4km365uny17usx0ndf34.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%2F4km365uny17usx0ndf34.png" alt="Claude code terminal" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This turned out to be one of the best decisions of the entire project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits for me:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easier to learn&lt;/li&gt;
&lt;li&gt;Easier to understand&lt;/li&gt;
&lt;li&gt;Easier to debug&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Benefits for Claude:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller tasks&lt;/li&gt;
&lt;li&gt;Fewer mistakes&lt;/li&gt;
&lt;li&gt;Better code reviews&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At one point I even stopped everything just to ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What exactly is a model?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And instead of throwing code at me, Claude &lt;strong&gt;explained the concept&lt;/strong&gt; and how it fit into the project.&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%2Fum4g4uty752cvqgn44po.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%2Fum4g4uty752cvqgn44po.png" alt="model explanation screenshot" width="748" height="99"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The learning part is always important, no matter how powerful AI becomes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Watching the App Come Alive ✨
&lt;/h2&gt;

&lt;p&gt;At first, all I could see was a blank page with the floating React-Vite logo.&lt;/p&gt;

&lt;p&gt;Not exactly exciting 😭&lt;/p&gt;

&lt;p&gt;Then slowly, feature by feature, the app started taking shape:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A login system appeared&lt;/li&gt;
&lt;li&gt;Workout schedules started displaying correctly&lt;/li&gt;
&lt;li&gt;Exercises could be added and deleted&lt;/li&gt;
&lt;li&gt;Pages started connecting together&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And suddenly something that had only existed inside a planning document was becoming a &lt;strong&gt;real application&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I genuinely couldn't believe how much faster the development process felt compared to some of my earlier projects.&lt;/p&gt;

&lt;p&gt;For example, in a previous project, building a simple login system involved:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Watching a 1-hour YouTube tutorial&lt;/li&gt;
&lt;li&gt;Reading Firebase documentation&lt;/li&gt;
&lt;li&gt;Asking ChatGPT for help&lt;/li&gt;
&lt;li&gt;Getting even more errors 😭&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This time felt completely different.&lt;/p&gt;

&lt;p&gt;Of course... not everything went perfectly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The "It Works On My Machine" Moment 😭
&lt;/h2&gt;

&lt;p&gt;After finally getting everything working locally, I deployed the application.&lt;/p&gt;

&lt;p&gt;And then immediately got hit with this:&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%2Ffl1kypg69bo6tadnjnhr.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%2Ffl1kypg69bo6tadnjnhr.png" alt="Google Auth error screenshot" width="798" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything worked perfectly on my computer. Production had other plans.&lt;/p&gt;

&lt;p&gt;After spending hours investigating the issue, I discovered the problem was hiding inside &lt;strong&gt;Google Cloud Console&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;My callback URI was only configured for &lt;code&gt;localhost&lt;/code&gt; and was missing the deployed Render URL.&lt;/p&gt;

&lt;p&gt;A tiny configuration mistake. Several hours of debugging. Classic developer experience 😭&lt;/p&gt;

&lt;p&gt;But eventually, after updating the configuration and redeploying, everything finally started working.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Version Wasn't Pretty... But It Worked 💪
&lt;/h2&gt;

&lt;p&gt;The first working version looked nothing like the version I use today.&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%2Ft94je9j2b04397cun3uc.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%2Ft94je9j2b04397cun3uc.png" alt="UI of Gym Scheduler" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There were no fancy tools, no advanced features, no polished UX, no AI scheduling.&lt;/p&gt;

&lt;p&gt;Just the basics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Add exercises&lt;/li&gt;
&lt;li&gt;✅ Delete exercises&lt;/li&gt;
&lt;li&gt;✅ Rename workout splits&lt;/li&gt;
&lt;li&gt;✅ Store schedules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly? &lt;strong&gt;That was enough.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;For the first time, I had a functional application solving a real problem that I personally faced.&lt;/p&gt;

&lt;p&gt;And that felt amazing.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;The first version was functional — but it was also very rough.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 2&lt;/strong&gt;, I'll talk about how I transformed it from a simple scheduler into something much more polished by adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple programs&lt;/li&gt;
&lt;li&gt;Exercise reordering&lt;/li&gt;
&lt;li&gt;Current-day highlighting&lt;/li&gt;
&lt;li&gt;BMI Calculator&lt;/li&gt;
&lt;li&gt;Calorie Calculator&lt;/li&gt;
&lt;li&gt;Better UI/UX&lt;/li&gt;
&lt;li&gt;And some fun gym-specific touches 😎&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unfortunately... waiting for me was the &lt;strong&gt;most frustrating bug&lt;/strong&gt; of the entire project so far 😭🙏&lt;/p&gt;

&lt;p&gt;See y'all in the next one 🚀&lt;/p&gt;

</description>
      <category>react</category>
      <category>ai</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>We Built a Real Volleyball Tournament Website Almost Entirely With AI 🏐🤖</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Thu, 21 May 2026 09:35:02 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/we-built-a-real-volleyball-tournament-website-almost-entirely-with-ai-1d6i</link>
      <guid>https://dev.to/techgeniuskaran/we-built-a-real-volleyball-tournament-website-almost-entirely-with-ai-1d6i</guid>
      <description>&lt;p&gt;Hey guys,&lt;/p&gt;

&lt;p&gt;Recently in my society, I attended an AI seminar session.&lt;br&gt;
At first, it honestly did not seem that useful 😅&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;general knowledge about AI chatbots&lt;/li&gt;
&lt;li&gt;the history of AI&lt;/li&gt;
&lt;li&gt;a few cool examples&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…but nothing that really stood out to me and my friend.&lt;/p&gt;

&lt;p&gt;Until the host casually mentioned something interesting:&lt;br&gt;
“Even students can now build and deploy apps using AI… and maybe even earn money from them.”&lt;/p&gt;

&lt;p&gt;Now THAT got us thinking 👀&lt;/p&gt;

&lt;p&gt;And somehow, within the next few minutes, we came up with the idea of building a volleyball tournament scoring and tracking website for our society tournament.&lt;/p&gt;

&lt;p&gt;The more we discussed it, the bigger the idea became:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live standings&lt;/li&gt;
&lt;li&gt;Match schedules&lt;/li&gt;
&lt;li&gt;Team tracking&lt;/li&gt;
&lt;li&gt;Admin dashboard&lt;/li&gt;
&lt;li&gt;Live score updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And somehow it slowly became a competition between me and my friend to see who could build the better app 😭&lt;/p&gt;

&lt;p&gt;A healthy competition, of course.&lt;/p&gt;

&lt;h2&gt;
  
  
  “This Should Take 2 Hours Max” 😅
&lt;/h2&gt;

&lt;p&gt;We genuinely thought this would be super easy.&lt;/p&gt;

&lt;p&gt;Our original plan was basically:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ask ChatGPT to generate a prompt&lt;/li&gt;
&lt;li&gt;Paste it into some AI app builder&lt;/li&gt;
&lt;li&gt;Add a few finishing touches&lt;/li&gt;
&lt;li&gt;Become millionaire startup founders overnight ✨&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Simple, right?&lt;/p&gt;

&lt;p&gt;Yeah… not exactly.&lt;br&gt;
I started by asking &lt;a href="https://chatgpt.com/" rel="noopener noreferrer"&gt;ChatGPT&lt;/a&gt; to create a detailed master prompt for the app.&lt;br&gt;
It asked me everything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;app purpose&lt;/li&gt;
&lt;li&gt;functionality&lt;/li&gt;
&lt;li&gt;design preferences&lt;/li&gt;
&lt;li&gt;tech stack&lt;/li&gt;
&lt;li&gt;features&lt;/li&gt;
&lt;li&gt;backend requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And then it suggested using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://v0.app/" rel="noopener noreferrer"&gt;v0 by Vercel&lt;/a&gt; for generating the app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://supabase.com/" rel="noopener noreferrer"&gt;Supabase&lt;/a&gt; for the backend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I copied the generated prompt into v0…&lt;br&gt;
…and within 5 minutes…&lt;br&gt;
BOOM 💥&lt;/p&gt;

&lt;p&gt;The app preview was ready.&lt;br&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%2Fyj6hdkx8ha7jtf6edstk.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%2Fyj6hdkx8ha7jtf6edstk.png" alt="Preview of website" width="800" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The UI Looked Incredible 🚀
&lt;/h2&gt;

&lt;p&gt;Honestly, the UI looked WAY better than I expected.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;smooth transitions&lt;/li&gt;
&lt;li&gt;clean dashboards&lt;/li&gt;
&lt;li&gt;a modern tech-style design&lt;/li&gt;
&lt;li&gt;beautifully designed standings cards&lt;/li&gt;
&lt;li&gt;proper page linking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything looked polished.&lt;/p&gt;

&lt;p&gt;So polished, in fact, that I genuinely wanted to deploy it before the backend even existed 😭&lt;/p&gt;

&lt;p&gt;I sat there admiring the preview for a while…&lt;br&gt;
…and then reality hit.&lt;br&gt;
Almost nothing actually worked.💀&lt;/p&gt;

&lt;p&gt;I thought:&lt;br&gt;
“No problem. Once I connect the backend, everything should work.”&lt;/p&gt;

&lt;p&gt;Yeah… no&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spreadsheet Nightmare 📊😭
&lt;/h2&gt;

&lt;p&gt;The backend part of the project was honestly chaos.&lt;/p&gt;

&lt;p&gt;The existing tournament spreadsheets were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;poorly labeled&lt;/li&gt;
&lt;li&gt;inconsistent&lt;/li&gt;
&lt;li&gt;randomly formatted&lt;/li&gt;
&lt;li&gt;confusing to read&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Human-made spreadsheets are terrifying sometimes 😭&lt;br&gt;
But when in doubt…&lt;br&gt;
&lt;strong&gt;Get the Claude out.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used &lt;u&gt;Claude Desktop&lt;/u&gt; and uploaded all the existing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;score sheets&lt;/li&gt;
&lt;li&gt;team lists&lt;/li&gt;
&lt;li&gt;schedules&lt;/li&gt;
&lt;li&gt;tournament data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I asked it to reorganize everything properly into structured Excel files that could directly fit into my Supabase tables.&lt;/p&gt;

&lt;p&gt;And somehow…&lt;br&gt;
…it actually worked REALLY well.&lt;/p&gt;

&lt;p&gt;After a little back and forth, the data was finally clean enough to import into the database.&lt;/p&gt;

&lt;p&gt;Honestly, AI saved me HOURS here.&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%2Ftmik3i1nsts19jk8ndzd.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%2Ftmik3i1nsts19jk8ndzd.png" alt="empty supabase table showing import button option" width="342" height="206"&gt;&lt;/a&gt;&lt;br&gt;
                              to&lt;br&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%2Fjniul9pdesduxg4rnti5.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%2Fjniul9pdesduxg4rnti5.png" alt="supabase table filled with data" width="799" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  “Fixed the Issue” …Except It Didn’t 😭
&lt;/h2&gt;

&lt;p&gt;At this point, I thought:&lt;br&gt;
“Okay, database is ready. Surely the app works now.”&lt;br&gt;
Nope.&lt;/p&gt;

&lt;p&gt;The admin dashboard was completely broken 😅 Buttons existed.&lt;br&gt;
They looked functional. They even had hover effects.&lt;br&gt;
But clicking them did absolutely nothing 💀&lt;/p&gt;

&lt;p&gt;Classic AI-generated functionality.&lt;/p&gt;

&lt;p&gt;So I connected the project to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I cloned the repo locally and brought in my most trusted debugging partner:&lt;br&gt;
&lt;strong&gt;Claude Code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And honestly, even Claude struggled a bit here 😭&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;“fixing” the issue&lt;/li&gt;
&lt;li&gt;correcting itself&lt;/li&gt;
&lt;li&gt;generating new fixes&lt;/li&gt;
&lt;li&gt;making me push code changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…only for absolutely nothing to happen.&lt;/p&gt;

&lt;p&gt;At one point it genuinely became:&lt;/p&gt;

&lt;p&gt;“Trust me bro, this fix will work.” 😭&lt;/p&gt;

&lt;p&gt;Eventually, I realized I needed to provide WAY more context and explain the issue more clearly instead of expecting AI to magically understand everything.&lt;/p&gt;

&lt;p&gt;After narrowing things down properly…&lt;br&gt;
…it turned out to be a package issue all along.🥲🙏&lt;/p&gt;

&lt;h2&gt;
  
  
  The Moment Everything Finally Worked ✨
&lt;/h2&gt;

&lt;p&gt;After fixing the package issue, I pushed the changes to GitHub.&lt;/p&gt;

&lt;p&gt;And within a minute…&lt;/p&gt;

&lt;p&gt;everything started working.&lt;/p&gt;

&lt;p&gt;It genuinely felt like a miracle 😭&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The standings updated correctly.&lt;/li&gt;
&lt;li&gt;The right teams had the right points.&lt;/li&gt;
&lt;li&gt;The fixtures displayed properly.&lt;/li&gt;
&lt;li&gt;The schedules synced correctly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything was &lt;strong&gt;LIVE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And the best part?&lt;/p&gt;

&lt;p&gt;People actually started using it during the tournament 🏐&lt;/p&gt;

&lt;p&gt;I shared the website in our volleyball group and received a lot of positive feedback, which honestly felt amazing.&lt;/p&gt;

&lt;p&gt;At that moment, it felt like:&lt;br&gt;
“Wait… I actually built something REAL.”&lt;/p&gt;

&lt;p&gt;Meanwhile my friend, who was building his version on Lovable, could only get basic scoring functionality working 😎💪&lt;/p&gt;

&lt;p&gt;So technically…&lt;br&gt;
…I win.&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%2Fmzoabcwnk93werp5t0g3.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%2Fmzoabcwnk93werp5t0g3.png" alt="standings page of website" width="800" height="440"&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%2Fb1nfqcnydt1vgmetdc6a.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%2Fb1nfqcnydt1vgmetdc6a.png" alt="admin live scoring dashboard" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should probably be your climax image section.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Project Taught Me About AI Coding 🤖
&lt;/h2&gt;

&lt;p&gt;This project completely changed how I look at AI-assisted development.&lt;br&gt;
AI is genuinely an insanely powerful time-saving tool.&lt;br&gt;
But…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI only saves time if the developer knows how to guide it properly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;debugging knowledge&lt;/li&gt;
&lt;li&gt;context sharing&lt;/li&gt;
&lt;li&gt;proper prompting&lt;/li&gt;
&lt;li&gt;understanding systems&lt;/li&gt;
&lt;li&gt;identifying errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…still matter A LOT.&lt;/p&gt;

&lt;p&gt;Because the truth is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI can generate code quickly. But building a usable real-world app still requires developer thinking.&lt;br&gt;
And honestly, I think that’s the most exciting part.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;AI is not replacing developers.&lt;br&gt;
It’s making developers faster 🚀&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;This project started as:&lt;/p&gt;

&lt;p&gt;“Let’s see if AI can build us a cool website.”&lt;/p&gt;

&lt;p&gt;But it ended up teaching me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backend integration&lt;/li&gt;
&lt;li&gt;debugging&lt;/li&gt;
&lt;li&gt;deployment&lt;/li&gt;
&lt;li&gt;database management&lt;/li&gt;
&lt;li&gt;AI prompting&lt;/li&gt;
&lt;li&gt;and how important developer guidance still is&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And somehow…&lt;br&gt;
what started as a random society seminar idea became a fully deployed tournament website people actually used 😅&lt;/p&gt;

&lt;p&gt;Definitely one of the coolest projects I’ve worked on so far.&lt;/p&gt;

&lt;p&gt;See you guys in the next one 🚀&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>development</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Searched for Internships… and Ended Up Contributing to Open Source Instead 🚀</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Thu, 14 May 2026 08:47:53 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/i-searched-for-internships-and-ended-up-contributing-to-open-source-instead-2ilk</link>
      <guid>https://dev.to/techgeniuskaran/i-searched-for-internships-and-ended-up-contributing-to-open-source-instead-2ilk</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;These last few weeks of my summer break made me realize that I should probably try finding and completing an internship — even if it was just for 2 weeks.&lt;/p&gt;

&lt;p&gt;But while searching around and talking with Claude about internships, it suggested something even better:&lt;/p&gt;

&lt;p&gt;🙌&lt;em&gt;&lt;strong&gt;Contributing to open-source projects.&lt;/strong&gt;&lt;/em&gt;🙌&lt;/p&gt;

&lt;p&gt;Now, I know many developers reading this probably discovered open source years ago 😅&lt;br&gt;
But for me, this was something completely new and honestly really exciting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding My First Project
&lt;/h2&gt;

&lt;p&gt;I started digging deeper into this whole open-source world and quickly realized there are actually some really beginner-friendly websites to get started.&lt;/p&gt;

&lt;p&gt;These were the two websites Claude suggested to me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://firstcontributions.github.io/#project-list" rel="noopener noreferrer"&gt;First Contributions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://goodfirstissue.dev/" rel="noopener noreferrer"&gt;Good First Issue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s when I found:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/physicshub/physicshub.github.io" rel="noopener noreferrer"&gt;PhysicsHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s a really neat web app that helps students study physics using interactive simulations and visualizations.&lt;/p&gt;

&lt;p&gt;As a physics student myself, this honestly felt like the perfect project to contribute to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I could improve my coding skills&lt;/li&gt;
&lt;li&gt;understand some physics concepts visually&lt;/li&gt;
&lt;li&gt;and contribute something useful at the same time
&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%2F4r34zrzjav3sqf7xxe7u.png" alt="Homepage of PhysicsHub" width="800" height="336"&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%2Fgilauhijgk5z1ldz4uyo.png" alt="A simulation in PhysicsHub" width="800" height="417"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Actually Making My First Contribution
&lt;/h2&gt;

&lt;p&gt;I knew this project wasn’t some massive large-scale application or anything like that.&lt;/p&gt;

&lt;p&gt;But honestly, that’s the whole point.&lt;/p&gt;

&lt;p&gt;You can’t start huge immediately.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every small contribution matters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I got started:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Forked the repository&lt;/li&gt;
&lt;li&gt;Cloned it locally&lt;/li&gt;
&lt;li&gt;Opened it in VS Code&lt;/li&gt;
&lt;li&gt;Installed Claude Code&lt;/li&gt;
&lt;li&gt;Started identifying issues&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And this part genuinely surprised me.&lt;/p&gt;

&lt;p&gt;I simply asked Claude to help me make my first contribution.&lt;/p&gt;

&lt;p&gt;Within seconds, it generated a CLAUDE_REPORT file that contained:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bugs ranked by priority&lt;/li&gt;
&lt;li&gt;difficulty levels&lt;/li&gt;
&lt;li&gt;possible causes&lt;/li&gt;
&lt;li&gt;and even suggested fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claude continues to amaze me yet again 😍😅&lt;/p&gt;

&lt;p&gt;I started tackling some low-priority issues one by one and managed to fix 4 issues within my first hour before sending my first pull request.&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%2Fir91nb4d795oceynvnys.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%2Fir91nb4d795oceynvnys.png" alt="Claude_report file" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The issues themselves were small, but they were actual real-world fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Incorrect labels&lt;/li&gt;
&lt;li&gt;Flexible package versions&lt;/li&gt;
&lt;li&gt;Unit fixes&lt;/li&gt;
&lt;li&gt;Mathematical calculation corrections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nothing revolutionary 😅&lt;br&gt;
But that’s exactly what made this experience feel approachable for me.&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%2Fgxxe2nf67fkumi37elo9.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%2Fgxxe2nf67fkumi37elo9.png" alt="Pull request merged on github" width="800" height="259"&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%2Fqobgkciulz6222ciftzj.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%2Fqobgkciulz6222ciftzj.png" alt="Pull request merged" width="800" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Best Part
&lt;/h2&gt;

&lt;p&gt;The satisfaction you get from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;adding changed files&lt;/li&gt;
&lt;li&gt;committing them&lt;/li&gt;
&lt;li&gt;pushing your changes&lt;/li&gt;
&lt;li&gt;opening a pull request&lt;/li&gt;
&lt;li&gt;and then seeing it get merged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…it’s honestly hard to describe.&lt;/p&gt;

&lt;p&gt;And of course, who can forget the beautiful green contribution boxes on GitHub 😅&lt;/p&gt;

&lt;p&gt;Seeing those slowly appear somehow makes everything feel more real.&lt;/p&gt;

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

&lt;p&gt;I’ll definitely continue contributing to more open-source projects now — especially after realizing how enjoyable and beginner-friendly it can actually be.&lt;/p&gt;

&lt;p&gt;I mainly wanted to document my first step into the open-source world and hopefully help other beginners realize that contributions do not have to be huge to matter.&lt;/p&gt;

&lt;p&gt;Sometimes even small fixes are enough to get started.&lt;/p&gt;

&lt;p&gt;And honestly… starting is probably the hardest part.&lt;/p&gt;

&lt;p&gt;You’ll definitely be hearing more from me about open-source contributions — especially when I find another fun project to work on 🚀&lt;/p&gt;

&lt;p&gt;See you guys!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
      <category>github</category>
      <category>claude</category>
    </item>
    <item>
      <title>🏗️ Still Planning — But This Time It Actually Matters</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Tue, 14 Apr 2026 10:23:49 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/still-planning-but-this-time-it-actually-matters-1k5c</link>
      <guid>https://dev.to/techgeniuskaran/still-planning-but-this-time-it-actually-matters-1k5c</guid>
      <description>&lt;p&gt;Hey guys,&lt;/p&gt;

&lt;p&gt;Still stuck in planning mode 😅. But these decisions may be more worthwhile than they seem.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔀 The Monolith Decision
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Monolithic architecture&lt;/strong&gt; is simply a software development model where the entire app lives in a single codebase. Pretty much the traditional setup most beginner developers follow naturally without even realising it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Microservices&lt;/strong&gt; on the other hand is a distributed architecture where several individual services connect and communicate with each other to function as one application. Scalability is the main reason why microservices is so widely adopted — companies like &lt;strong&gt;Netflix, Amazon, Uber and Spotify&lt;/strong&gt; all run on it. Imagine Netflix operating on a single server and a single codebase. Debugging would be a nightmare, maintenance would be chaos, and one bad bug could potentially take down the entire platform for millions of users. Not ideal. 😬&lt;/p&gt;

&lt;p&gt;For me though, the choice was obvious — &lt;strong&gt;monolith.&lt;/strong&gt; No plans to massively scale this app, a single codebase keeps things simple, and it's cost-effective.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sometimes the boring choice is the right one.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📐 SOLID Principles
&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%2Fko63re9t1s2p57z5ld3n.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%2Fko63re9t1s2p57z5ld3n.png" alt="A list of the SOLID principles" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A great man named &lt;strong&gt;Robert C. Martin&lt;/strong&gt; created the SOLID principles — giving us developers yet another thing to study😒. Just kidding, it's genuinely useful. &lt;/p&gt;

&lt;p&gt;In short, following SOLID makes your code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Maintainable&lt;/strong&gt; — easier to update and refactor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalable&lt;/strong&gt; — grows with fewer issues&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reusable&lt;/strong&gt; — modular and decoupled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Readable&lt;/strong&gt; — cleaner and easier to understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are 5 principles in total — S, O, L, I, D. I studied all five. I applied two.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And that was intentional.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since my app is small with minimal business logic, forcing all 5 would just be over-engineering for the sake of it. Good principles applied in the wrong context are still bad decisions.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 How Claude Helped Apply It
&lt;/h2&gt;

&lt;p&gt;Once I studied the principles, I asked Claude Code to analyse my project and apply &lt;br&gt;
SOLID to the planning. What it did was clean and practical.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;Single Responsibility (S)&lt;/strong&gt;, it wasn't just about separating files — it also &lt;br&gt;
meant breaking down logic into focused modular functions rather than having one &lt;br&gt;
function trying to do three things at once. Models only hold Mongoose schemas. &lt;br&gt;
Routes only handle HTTP. Middleware only handles authentication. &lt;em&gt;Nothing overlaps.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;Interface Segregation (I)&lt;/strong&gt;, it split the API folder by domain — &lt;br&gt;
&lt;code&gt;scheduleApi.js&lt;/code&gt; and &lt;code&gt;authApi.js&lt;/code&gt; became separate concerns — so different parts &lt;br&gt;
of the app only import what they actually need, rather than pulling from one &lt;br&gt;
bloated module that knows too much.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;O, L and D&lt;/strong&gt; — Claude explicitly flagged these as unnecessary for this project. The business logic is too minimal to justify them. The philosophy was &lt;br&gt;
simple — &lt;em&gt;use SOLID where it helps, skip it where it doesn't.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🙏 The Mentor Behind All This
&lt;/h2&gt;

&lt;p&gt;None of this planning rigour came from nowhere. I have been fortunate enough to &lt;br&gt;
have a mentor — a senior professional at &lt;strong&gt;GoDaddy&lt;/strong&gt; — who has been guiding me &lt;br&gt;
through these concepts completely voluntarily. Having someone with real industry &lt;br&gt;
experience push you to think about architecture and principles &lt;em&gt;before&lt;/em&gt; touching &lt;br&gt;
code is something most student developers don't get. Genuinely grateful for it. ✨&lt;/p&gt;

&lt;h2&gt;
  
  
  👀 What's Next
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;OOP is on the study list&lt;/strong&gt; — the 4 pillars, how they connect to this project, &lt;br&gt;
and then finally, &lt;em&gt;actually building something.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The planning era is almost over. See you on the other side. 🚀&lt;/p&gt;

</description>
      <category>programming</category>
      <category>solidprinciples</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Before Writing a Single Line of Code — Planning My Gym App🏋️</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Sat, 28 Mar 2026 06:27:01 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/before-writing-a-single-line-of-code-planning-my-gym-app-27m9</link>
      <guid>https://dev.to/techgeniuskaran/before-writing-a-single-line-of-code-planning-my-gym-app-27m9</guid>
      <description>&lt;p&gt;Hey fellow devs, 👋&lt;/p&gt;

&lt;p&gt;Moving on from AI chaos, this time it's all about &lt;strong&gt;learning something new.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What I'm Building
&lt;/h2&gt;

&lt;p&gt;I'm building a simple &lt;strong&gt;gym schedule app&lt;/strong&gt; — entirely with the help of Claude.&lt;/p&gt;

&lt;p&gt;The app lets users set a weekly schedule from Monday to Sunday, with their gym &lt;br&gt;
timings, workout split, exercises, reps and sets. Nothing fancy — this is purely &lt;br&gt;
a practice project. But the plan is to build it &lt;em&gt;right&lt;/em&gt;, not just fast.&lt;/p&gt;

&lt;p&gt;Since vibe coding is clearly the future, getting comfortable with it early felt &lt;br&gt;
like a smart move. 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  📊 Sequence Diagrams — What Even Are They?
&lt;/h2&gt;

&lt;p&gt;A sequence diagram maps out how different parts of a system interact with each &lt;br&gt;
other in a specific order over time.&lt;/p&gt;

&lt;p&gt;Think of it like a WhatsApp conversation — you can see exactly who said what, to whom, and in what order.&lt;/p&gt;

&lt;p&gt;Here's the sequence diagram I made for my app:&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%2Fyuqtlufvua5q1h5oe7g6.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%2Fyuqtlufvua5q1h5oe7g6.png" alt="Gym schedule sequence diagram" width="800" height="1097"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The first step is identifying your &lt;strong&gt;actors&lt;/strong&gt; — the objects that interact with &lt;br&gt;
the system. For my app this was straightforward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;User&lt;/strong&gt; — inputs the schedule&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;UI&lt;/strong&gt; — handles what the user sees and does
&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Database&lt;/strong&gt; — saves and retrieves the data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple enough. But here's where it gets interesting.&lt;/p&gt;

&lt;p&gt;Good developers don't just map out the &lt;em&gt;ideal&lt;/em&gt; scenario. They think about &lt;br&gt;
&lt;strong&gt;everything that could go wrong.&lt;/strong&gt; Because it's an imperfect world.&lt;/p&gt;

&lt;p&gt;For example — what happens if the user tries to save a workout day without &lt;br&gt;
filling in all the fields? No exercises, no reps, just an empty entry hitting &lt;br&gt;
the database. The diagram needs to account for that validation step, otherwise &lt;br&gt;
that's a bug waiting to happen from day one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thinking about failure early is what separates planned apps from messy ones.&lt;/em&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  🗺️ Why Planning Actually Matters
&lt;/h2&gt;

&lt;p&gt;Jumping straight into code is tempting. I get it.&lt;/p&gt;

&lt;p&gt;But mapping the flow first forces you to ask questions you'd otherwise miss — &lt;br&gt;
&lt;em&gt;Is this feature actually necessary? What happens if this step fails? Does this &lt;br&gt;
even make sense?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In a small project like this it keeps things clean. In larger projects, it can &lt;br&gt;
save weeks of rework. The planning stage is unglamorous but it's genuinely &lt;br&gt;
important.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 Claude's Role — Plan Mode
&lt;/h2&gt;

&lt;p&gt;Claude is brilliant at building apps, but even Claude isn't perfect — and &lt;br&gt;
usually when something goes wrong, it's because &lt;em&gt;the prompt wasn't clear enough.&lt;/em&gt;&lt;br&gt;
That's on the user, not Claude.&lt;/p&gt;

&lt;p&gt;So before touching any code, I sent Claude my sequence diagram and we &lt;br&gt;
brainstormed the entire app structure together in &lt;strong&gt;plan mode&lt;/strong&gt; — no building, &lt;br&gt;
just thinking. Getting Claude to deeply understand what I want before it starts &lt;br&gt;
writing anything makes the whole process cleaner and faster.&lt;/p&gt;

&lt;p&gt;Context first, code later. ✨&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Next up — enough planning, time to actually build something. See you there. 👀&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>tutorial</category>
      <category>architecture</category>
    </item>
    <item>
      <title>🤖 Adding AI to My Project Wasn't Easy. Until It Was.😅</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Fri, 20 Mar 2026 08:44:14 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/adding-ai-to-my-project-wasnt-easy-until-it-was-3lmk</link>
      <guid>https://dev.to/techgeniuskaran/adding-ai-to-my-project-wasnt-easy-until-it-was-3lmk</guid>
      <description>&lt;p&gt;Hey fellow developers, 👋&lt;/p&gt;

&lt;p&gt;My hyped up hopes and dreams of adding AI magic to my project did not go as planned.🥲 &lt;strong&gt;Reality often hurts.&lt;/strong&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 First Attempt — HuggingFace
&lt;/h2&gt;

&lt;p&gt;I asked ChatGPT for free AI model options and landed on &lt;strong&gt;HuggingFace&lt;/strong&gt; — free, easy to set up, seemed perfect. Got the API key, set the environment variables, wrote the post route, and sat back to enjoy the fruits of my labour.&lt;/p&gt;

&lt;p&gt;The model loaded… and then just returned &lt;strong&gt;garbage.&lt;/strong&gt; Incomplete sentences, broken outputs, nothing close to an actual quote. Turns out the model I picked wasn't built for clean text generation from short prompts.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Wrong tool, wrong job.&lt;/em&gt; Classic. 🙃&lt;/p&gt;

&lt;h2&gt;
  
  
  😤 Second Attempt — OpenAI
&lt;/h2&gt;

&lt;p&gt;So I switched to &lt;strong&gt;OpenAI&lt;/strong&gt; with my head held high, because that's what optimistic developers do.&lt;/p&gt;

&lt;p&gt;Same process — new keys, new route, new hope. This time I got hit with &lt;strong&gt;billing issues and quota errors&lt;/strong&gt; before I even got started. 404s everywhere. I didn't fully understand what was happening and honestly? I didn't want to. I just moved on.&lt;/p&gt;

&lt;p&gt;Then came my board exams and the project sat untouched for a while.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Enter Claude — &lt;em&gt;The SAVIOUR&lt;/em&gt;🙌
&lt;/h2&gt;

&lt;p&gt;When I came back, &lt;strong&gt;Claude was everywhere.&lt;/strong&gt; My dad got the subscription, I took Anthropic's Claude 101 course, and I finally tried &lt;strong&gt;Claude Code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Best decision I've made in this entire project.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I explained my project in plain English — what it does, what I want, what's broken. It analysed everything, suggested &lt;strong&gt;Gemini Flash 2.5&lt;/strong&gt; as the model, and within minutes had:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built the API route&lt;/li&gt;
&lt;li&gt;Added proper error handling&lt;/li&gt;
&lt;li&gt;Updated the frontend elements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All I had to do was paste the API key and watch. 👀&lt;/p&gt;

&lt;h2&gt;
  
  
  🐛 Minor Setbacks (Because Nothing Ever Works First Try)
&lt;/h2&gt;

&lt;p&gt;Did everything work perfectly on the first run? No. Obviously not. 😂&lt;/p&gt;

&lt;p&gt;Because no code ever works on the first try — and every developer has used the infamous &lt;em&gt;"it should work now"&lt;/em&gt; line at least a hundred times. I am no different.&lt;/p&gt;

&lt;p&gt;But whenever something broke, I'd screenshot the console error, show it to Claude, and it would fix it &lt;strong&gt;almost immediately.&lt;/strong&gt; Within about an hour — &lt;em&gt;a working AI quote generator.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Being a developer today isn't just about writing code. It's about &lt;strong&gt;knowing which tools exist&lt;/strong&gt;, being willing to switch when something isn't working, and not being too proud to ask for help.&lt;/p&gt;

&lt;p&gt;Two months ago I'd never heard of Claude Code. Now it's a core part of how I build.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Change is inevitable. Ride along with it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My live project here👇&lt;br&gt;
&lt;a href="https://techgenius-karan.github.io/Random-quote-generator-upgraded/" rel="noopener noreferrer"&gt;https://techgenius-karan.github.io/Random-quote-generator-upgraded/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Next up — I'm not done hyping Claude just yet. More on how it levelled up this entire project in my next post. 👀&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>openai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🚀 Deploying My Full-Stack App: From Localhost to Live</title>
      <dc:creator>Karan</dc:creator>
      <pubDate>Wed, 31 Dec 2025 04:53:25 +0000</pubDate>
      <link>https://dev.to/techgeniuskaran/deploying-my-full-stack-app-from-localhost-to-live-hh0</link>
      <guid>https://dev.to/techgeniuskaran/deploying-my-full-stack-app-from-localhost-to-live-hh0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey everyone!&lt;/strong&gt; 👋&lt;br&gt;
Picking up right from where we left off — both the frontend and backend of my project were working beautifully on my local system.&lt;br&gt;
All that was left was to deploy everything to the real world… where the &lt;em&gt;real magic&lt;/em&gt; (and bugs 😅) happen.&lt;/p&gt;
&lt;h2&gt;
  
  
  🌐 Deployment Setup
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Frontend (GitHub Pages)&lt;/strong&gt;&lt;br&gt;
I took the straightforward route and deployed my frontend using GitHub Pages. The process was smooth, and the site was up and running almost instantly. No major issues here since it was a static frontend.&lt;/p&gt;

&lt;p&gt;The real challenge? &lt;em&gt;The backend&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  ☁️ Backend Deployment (Render)
&lt;/h2&gt;

&lt;p&gt;I used Render to deploy my backend because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It’s beginner-friendly&lt;/li&gt;
&lt;li&gt;Free to use&lt;/li&gt;
&lt;li&gt;I had prior experience with it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Initially, my backend was connected to local MongoDB (Compass).&lt;br&gt;
Once deployed, everything stopped working.&lt;/p&gt;
&lt;h2&gt;
  
  
  🐛 The Problem (Symptoms)
&lt;/h2&gt;

&lt;p&gt;Clicking Generate did absolutely nothing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No new quote&lt;/li&gt;
&lt;li&gt;No background change&lt;/li&gt;
&lt;li&gt;No errors on the UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That meant one thing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;quotes&lt;/strong&gt; was empty, so &lt;code&gt;newQuote()&lt;/code&gt; exited immediately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (quotes.length === 0) return;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So the real question became:&lt;/p&gt;

&lt;p&gt;Why was &lt;code&gt;fetchQuotes()&lt;/code&gt; no longer populating data?&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 Debugging the Issue
&lt;/h2&gt;

&lt;p&gt;Here’s the logic trail I followed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Frontend now points to Render backend&lt;/li&gt;
&lt;li&gt;Render backend CANNOT access local MongoDB (the part I had missed)&lt;/li&gt;
&lt;li&gt;API returns an empty response&lt;/li&gt;
&lt;li&gt;Frontend correctly refuses to render empty data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So technically… nothing was “broken”.&lt;br&gt;
The system was doing exactly what it was told to do.&lt;/p&gt;
&lt;h2&gt;
  
  
  ✅ The Real Fix: MongoDB Atlas
&lt;/h2&gt;

&lt;p&gt;The solution was to move from local MongoDB to a cloud-based database. I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up MongoDB Atlas&lt;/li&gt;
&lt;li&gt;Created a new cluster&lt;/li&gt;
&lt;li&gt;Seeded the database with sample quotes&lt;/li&gt;
&lt;li&gt;Connected Atlas to Render using environment variables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;MONGO_URI = mongodb+srv://quoteAdmin:YOUR_PASSWORD@.../quoteGeneratorDB&lt;br&gt;
PORT = 5000&lt;/code&gt;&lt;br&gt;
Then I updated the frontend &lt;code&gt;API_URL&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let API_URL = "http://localhost:5000";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬇️⬇️⬇️&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let API_URL = "https://YOUR-RENDER-URL.onrender.com";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🐛 Debugging (The Second Heartbreak💔)
&lt;/h2&gt;

&lt;p&gt;After connecting MongoDB Atlas, Render, and updating all the environment variables, I was confident everything should work.&lt;/p&gt;

&lt;p&gt;But… clicking &lt;strong&gt;Generate&lt;/strong&gt; still did nothing.&lt;br&gt;
Same symptom. Same silence. Honestly, it was heartbreaking.&lt;/p&gt;

&lt;p&gt;At this point, I had no idea what was wrong because everything was technically correct.&lt;/p&gt;

&lt;p&gt;To dig deeper, I directly visited my API endpoint in the browser:&lt;br&gt;
&lt;code&gt;https://quote-generator-5qei.onrender.com/quotes&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I saw the words &lt;code&gt;Cannot GET&lt;/code&gt; and assumed it was an error and something was wrong with my code, but after repeatedly checking my console and recieving no errors -&lt;br&gt;
&lt;strong&gt;That’s when it finally clicked.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There was nothing wrong with my code, deployment, or API.&lt;br&gt;
I had simply forgotten to seed data into MongoDB Atlas. All my quotes were still sitting in my local database.&lt;/p&gt;

&lt;p&gt;A painful but valuable lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes, the bug isn’t in the code — it’s in the data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🎉 Final Result
&lt;/h2&gt;

&lt;p&gt;And… voilà! 🎉&lt;br&gt;
Once the database was seeded with sample quotes and connected properly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quotes started loading&lt;/li&gt;
&lt;li&gt;Generate button worked&lt;/li&gt;
&lt;li&gt;Categories functioned perfectly&lt;/li&gt;
&lt;li&gt;Full-stack data flow was live&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This felt like the moment the project officially became real.&lt;/p&gt;

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

&lt;p&gt;Next up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 AI integration ideas (brief planning)&lt;/li&gt;
&lt;li&gt;✨ Generating original quotes&lt;/li&gt;
&lt;li&gt;🎯 Personalization &amp;amp; scalability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you in the next post — stay tuned! 🚀&lt;/p&gt;

</description>
      <category>fullstack</category>
      <category>mongodb</category>
      <category>node</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
