<?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: Dhanush K</title>
    <description>The latest articles on DEV Community by Dhanush K (@xdk0d3r).</description>
    <link>https://dev.to/xdk0d3r</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%2F3991296%2Fa8ce9a98-6d3d-495b-ad7a-b09abe37a2da.png</url>
      <title>DEV Community: Dhanush K</title>
      <link>https://dev.to/xdk0d3r</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xdk0d3r"/>
    <language>en</language>
    <item>
      <title>I Spent 7 Days Building a Simple Python To-Do List… Here's What It Actually Taught Me</title>
      <dc:creator>Dhanush K</dc:creator>
      <pubDate>Thu, 09 Jul 2026 17:37:36 +0000</pubDate>
      <link>https://dev.to/xdk0d3r/i-spent-7-days-building-a-simple-python-to-do-list-heres-what-it-actually-taught-me-3gi4</link>
      <guid>https://dev.to/xdk0d3r/i-spent-7-days-building-a-simple-python-to-do-list-heres-what-it-actually-taught-me-3gi4</guid>
      <description>&lt;p&gt;When I first thought about building a To-Do List application, I assumed it would take a day or two.&lt;/p&gt;

&lt;p&gt;After all, it's "just" a CRUD app... right?&lt;/p&gt;

&lt;p&gt;Seven days later, I realized I had underestimated how much there was to learn.&lt;/p&gt;

&lt;p&gt;This wasn't just about adding, editing, and deleting tasks. It became an exercise in thinking like a software developer instead of simply writing Python code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Chose This Project
&lt;/h2&gt;

&lt;p&gt;My previous project was a Number Guessing Game. It helped me become comfortable with Python basics, but I wanted something closer to a real application.&lt;/p&gt;

&lt;p&gt;A To-Do List seemed like the perfect next step because it introduced concepts that many real-world applications use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating, reading, updating, and deleting data (CRUD)&lt;/li&gt;
&lt;li&gt;Persistent storage&lt;/li&gt;
&lt;li&gt;Input validation&lt;/li&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;li&gt;Modular project structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to build everything myself rather than copy a tutorial.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Reality
&lt;/h2&gt;

&lt;p&gt;The hardest part wasn't Python syntax.&lt;/p&gt;

&lt;p&gt;It was deciding &lt;strong&gt;how the application should work&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Questions like these came up constantly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How should I store each task?&lt;/li&gt;
&lt;li&gt;Should I use a list or a dictionary?&lt;/li&gt;
&lt;li&gt;Where should file handling happen?&lt;/li&gt;
&lt;li&gt;When should data be saved?&lt;/li&gt;
&lt;li&gt;What should &lt;code&gt;main.py&lt;/code&gt; be responsible for?&lt;/li&gt;
&lt;li&gt;How can I keep the code organized as the project grows?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't syntax problems.&lt;/p&gt;

&lt;p&gt;They're software design problems.&lt;/p&gt;

&lt;p&gt;And solving them taught me far more than memorizing Python functions.&lt;/p&gt;

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

&lt;p&gt;The finished application includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;➕ Add tasks&lt;/li&gt;
&lt;li&gt;✏️ Edit tasks&lt;/li&gt;
&lt;li&gt;🗑️ Delete tasks&lt;/li&gt;
&lt;li&gt;✅ Mark tasks as completed&lt;/li&gt;
&lt;li&gt;📋 View all tasks&lt;/li&gt;
&lt;li&gt;💾 Save tasks automatically to a JSON file&lt;/li&gt;
&lt;li&gt;📂 Load tasks when the application starts&lt;/li&gt;
&lt;li&gt;⚠️ Input validation&lt;/li&gt;
&lt;li&gt;🛡️ Exception handling&lt;/li&gt;
&lt;li&gt;🧩 Modular project structure&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Over the course of seven days, I strengthened my understanding of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Lists and dictionaries&lt;/li&gt;
&lt;li&gt;Loops (&lt;code&gt;for&lt;/code&gt; and &lt;code&gt;while&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Conditional statements&lt;/li&gt;
&lt;li&gt;CRUD operations&lt;/li&gt;
&lt;li&gt;File handling&lt;/li&gt;
&lt;li&gt;JSON data persistence&lt;/li&gt;
&lt;li&gt;Exception handling&lt;/li&gt;
&lt;li&gt;Input validation&lt;/li&gt;
&lt;li&gt;Modular programming&lt;/li&gt;
&lt;li&gt;Separating application logic from data storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More importantly, I learned that building software is about making good design decisions—not just writing code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Biggest Lesson
&lt;/h2&gt;

&lt;p&gt;Before this project, I often thought programming was mainly about knowing the right syntax.&lt;/p&gt;

&lt;p&gt;Now I think differently.&lt;/p&gt;

&lt;p&gt;The syntax is usually the easy part.&lt;/p&gt;

&lt;p&gt;Understanding the problem, designing the solution, organizing the code, and deciding how everything fits together—that's where the real learning happens.&lt;/p&gt;

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

&lt;p&gt;This project is now feature-complete for its current scope.&lt;/p&gt;

&lt;p&gt;I'm continuing to build more Python projects to improve my problem-solving skills and deepen my understanding of software development.&lt;/p&gt;

&lt;p&gt;Each project is a little more challenging than the last, and that's exactly the goal.&lt;/p&gt;




&lt;p&gt;📂 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;em&gt;&lt;a href="https://github.com/xDK0d3r/todo-list" rel="noopener noreferrer"&gt;https://github.com/xDK0d3r/todo-list&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Portfolio:&lt;/strong&gt; &lt;em&gt;&lt;a href="https://xdk0d3r.github.io/" rel="noopener noreferrer"&gt;https://xdk0d3r.github.io/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you're also learning Python by building projects, I'd love to hear what you're working on or any feedback you have on this project.&lt;/p&gt;

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

</description>
      <category>python</category>
      <category>beginners</category>
      <category>showdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Built My Personal Portfolio Website with GitHub Pages</title>
      <dc:creator>Dhanush K</dc:creator>
      <pubDate>Mon, 29 Jun 2026 17:17:32 +0000</pubDate>
      <link>https://dev.to/xdk0d3r/i-built-my-personal-portfolio-website-with-github-pages-95f</link>
      <guid>https://dev.to/xdk0d3r/i-built-my-personal-portfolio-website-with-github-pages-95f</guid>
      <description>&lt;p&gt;I just launched my personal portfolio website using GitHub Pages.&lt;/p&gt;

&lt;p&gt;It brings together my projects, GitHub repositories, and ways to connect with me in one place.&lt;/p&gt;

&lt;p&gt;I'm currently learning Python backend development and documenting my journey by building projects and sharing what I learn.&lt;/p&gt;

&lt;p&gt;Feedback is always welcome!&lt;/p&gt;

&lt;p&gt;🔗 Portfolio: &lt;a href="https://xdk0d3r.github.io/" rel="noopener noreferrer"&gt;https://xdk0d3r.github.io/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>githubpages</category>
      <category>python</category>
      <category>showdev</category>
    </item>
    <item>
      <title>My First Python Project: Lessons Learned While Building a Number Guessing Game</title>
      <dc:creator>Dhanush K</dc:creator>
      <pubDate>Sat, 27 Jun 2026 15:11:00 +0000</pubDate>
      <link>https://dev.to/xdk0d3r/my-first-python-project-lessons-learned-while-building-a-number-guessing-game-559i</link>
      <guid>https://dev.to/xdk0d3r/my-first-python-project-lessons-learned-while-building-a-number-guessing-game-559i</guid>
      <description>&lt;p&gt;Hello everyone! 👋&lt;/p&gt;

&lt;p&gt;I'm a self-taught Python learner, and today I completed my very first programming project—a command-line Number Guessing Game.&lt;/p&gt;

&lt;p&gt;It isn't a large project, but finishing it feels like an important milestone because it's the first application I built from start to finish on my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Choose This Project
&lt;/h2&gt;

&lt;p&gt;After learning the basics of Python, I wanted to build something practical instead of only solving small exercises.&lt;/p&gt;

&lt;p&gt;A number guessing game seemed like the perfect beginner project because it combines many fundamental programming concepts into one application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Features
&lt;/h2&gt;

&lt;p&gt;The game includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎲 Random number generation between 1 and 100&lt;/li&gt;
&lt;li&gt;🎯 Five attempts to guess the correct number&lt;/li&gt;
&lt;li&gt;⌨️ User input validation&lt;/li&gt;
&lt;li&gt;✅ Handles invalid input using exception handling&lt;/li&gt;
&lt;li&gt;📏 Range validation (only accepts numbers from 1–100)&lt;/li&gt;
&lt;li&gt;💬 Helpful feedback after each guess ("Too Big" or "Too Small")&lt;/li&gt;
&lt;li&gt;🏆 Win and lose conditions&lt;/li&gt;
&lt;li&gt;🧩 Organized code using multiple functions instead of one large script&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;This project helped me understand how different Python concepts work together in a real application.&lt;/p&gt;

&lt;p&gt;Some of the topics I practiced include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Return values&lt;/li&gt;
&lt;li&gt;Conditional statements (&lt;code&gt;if&lt;/code&gt;, &lt;code&gt;elif&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;While loops&lt;/li&gt;
&lt;li&gt;Exception handling with &lt;code&gt;try&lt;/code&gt; and &lt;code&gt;except&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;User input validation&lt;/li&gt;
&lt;li&gt;Using Python's &lt;code&gt;random&lt;/code&gt; module&lt;/li&gt;
&lt;li&gt;Breaking a program into smaller, reusable functions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One lesson I learned is that separating code into functions makes the program much easier to understand and maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges
&lt;/h2&gt;

&lt;p&gt;The biggest challenge was making the program accept only valid input.&lt;/p&gt;

&lt;p&gt;I didn't want the game to crash if the user entered letters or special characters, so I implemented exception handling and input validation until a valid number was entered.&lt;/p&gt;

&lt;p&gt;I also wanted to ensure the player could only enter numbers between 1 and 100, which added another layer of validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;This project is feature-complete for its current scope.&lt;/p&gt;

&lt;p&gt;I have ideas for future versions, such as difficulty levels, score tracking, and replay support, but for now I'm leaving the project as it is and moving on to build new applications.&lt;/p&gt;

&lt;p&gt;My goal is to keep creating projects that gradually become more challenging while improving my Python skills.&lt;/p&gt;

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

&lt;p&gt;You can check out the complete project on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/xDK0d3r/Number-Guessing-Game" rel="noopener noreferrer"&gt;https://github.com/xDK0d3r/Number-Guessing-Game&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Every experienced developer started somewhere.&lt;/p&gt;

&lt;p&gt;This Number Guessing Game is my first completed Python project, and I'm excited to continue learning by building more projects and sharing my progress along the way.&lt;/p&gt;

&lt;p&gt;If you're also learning Python, I'd love to hear what you're working on.&lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
