<?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: Dev Namdev</title>
    <description>The latest articles on DEV Community by Dev Namdev (@devnamdev).</description>
    <link>https://dev.to/devnamdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F990381%2Fd653bf26-ff24-4f3e-becc-4deccafe328e.jpeg</url>
      <title>DEV Community: Dev Namdev</title>
      <link>https://dev.to/devnamdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devnamdev"/>
    <language>en</language>
    <item>
      <title>🚨 One filename change. Zero errors. Production broken.</title>
      <dc:creator>Dev Namdev</dc:creator>
      <pubDate>Sat, 17 Jan 2026 06:22:42 +0000</pubDate>
      <link>https://dev.to/devnamdev/one-filename-change-zero-errors-production-broken-5cnd</link>
      <guid>https://dev.to/devnamdev/one-filename-change-zero-errors-production-broken-5cnd</guid>
      <description>&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%2Fg2w23ivsjixz7wsrpu7y.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%2Fg2w23ivsjixz7wsrpu7y.png" alt="1" width="800" height="533"&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%2Fezougf13hxelp8ltntmc.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%2Fezougf13hxelp8ltntmc.png" alt="2" width="800" height="533"&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%2F3mr3sk48swvqehiia7wr.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%2F3mr3sk48swvqehiia7wr.png" alt="3" width="800" height="533"&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%2F0t5ypm2pncdfz1d62rbl.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%2F0t5ypm2pncdfz1d62rbl.png" alt="4" width="800" height="533"&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%2Fc6egpiu673ooo9r7phtx.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%2Fc6egpiu673ooo9r7phtx.png" alt="5" width="800" height="533"&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%2Fx21l0pr5mnt7guvcog0a.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%2Fx21l0pr5mnt7guvcog0a.png" alt="6" width="800" height="533"&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%2Fwe7ywaba8z7bu1w2ldhv.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%2Fwe7ywaba8z7bu1w2ldhv.png" alt="7" width="800" height="533"&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%2Flp8u8lan4s9evsdxbkwm.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%2Flp8u8lan4s9evsdxbkwm.png" alt="8" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>🚨 One filename change. Zero errors. Production broken.</title>
      <dc:creator>Dev Namdev</dc:creator>
      <pubDate>Sat, 17 Jan 2026 06:16:23 +0000</pubDate>
      <link>https://dev.to/devnamdev/one-filename-change-zero-errors-production-broken-2kp1</link>
      <guid>https://dev.to/devnamdev/one-filename-change-zero-errors-production-broken-2kp1</guid>
      <description>&lt;p&gt;A small Git detail taught me a production-level lesson the hard way.**&lt;/p&gt;

&lt;p&gt;I recently ran into a subtle issue while working with Git on Windows. It looked harmless at first — until it showed up in production.&lt;/p&gt;

&lt;p&gt;I had a file named &lt;code&gt;DEV.html&lt;/code&gt;.&lt;br&gt;
I pushed it to GitHub and everything worked as expected.&lt;/p&gt;

&lt;p&gt;Later, I renamed it locally to &lt;code&gt;dev.html&lt;/code&gt; (just a case change) and pushed again.&lt;br&gt;
No errors. No warnings. Everything looked fine.&lt;/p&gt;

&lt;p&gt;But in production, links like &lt;code&gt;&amp;lt;a href="dev.html"&amp;gt;&lt;/code&gt; started returning &lt;strong&gt;404 – Page Not Found&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After some digging, I realized GitHub still had the file named &lt;code&gt;DEV.html&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;🔍 &lt;strong&gt;What was happening?&lt;/strong&gt;&lt;br&gt;
This isn’t a Git bug, but a cross-platform design limitation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows filesystems are &lt;strong&gt;case-insensitive&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Git on Windows doesn’t detect &lt;strong&gt;case-only renames&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;GitHub runs on Linux, which &lt;strong&gt;is case-sensitive&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So Git never recorded the rename, and GitHub never received it.&lt;/p&gt;




&lt;p&gt;⚠️ &lt;strong&gt;Why this matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In small projects, this is easy to miss.&lt;br&gt;
In larger projects, it can silently break navigation and cause production-only bugs — the classic &lt;em&gt;“works on my machine”&lt;/em&gt; problem.&lt;/p&gt;




&lt;p&gt;✅ &lt;strong&gt;What I learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always use lowercase filenames&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;git mv&lt;/code&gt; when renaming files&lt;/li&gt;
&lt;li&gt;Enforce naming rules with CI or pre-commit hooks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sharing this in case it helps someone avoid a similar issue.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>🚀 I Built a Mobile-First Expense Tracker in Angular + Tailwind — Works 100% Offline</title>
      <dc:creator>Dev Namdev</dc:creator>
      <pubDate>Fri, 15 Aug 2025 17:03:09 +0000</pubDate>
      <link>https://dev.to/devnamdev/i-built-a-mobile-first-expense-tracker-in-angular-tailwind-works-100-offline-5fhh</link>
      <guid>https://dev.to/devnamdev/i-built-a-mobile-first-expense-tracker-in-angular-tailwind-works-100-offline-5fhh</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;The Problem&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Like many of us, I kept telling myself &lt;em&gt;“I’ll track my expenses from tomorrow”&lt;/em&gt;.&lt;br&gt;
But every time I tried an app, I hit the same problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Too many ads&lt;/li&gt;
&lt;li&gt;Forced sign-ups&lt;/li&gt;
&lt;li&gt;Complex UI that made adding expenses a chore&lt;/li&gt;
&lt;li&gt;Internet required for basic features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So… I decided to build my own solution.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Introducing ExpenseWise&lt;/strong&gt; 🧾
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://exwise.vercel.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;ExpenseWise&lt;/strong&gt;&lt;/a&gt; is a &lt;strong&gt;mobile-first expense tracker&lt;/strong&gt; I built using &lt;strong&gt;Angular&lt;/strong&gt; + &lt;strong&gt;Tailwind CSS&lt;/strong&gt;, with &lt;strong&gt;LocalStorage&lt;/strong&gt; for data persistence.&lt;br&gt;
It’s lightweight, fast, and works &lt;strong&gt;entirely offline&lt;/strong&gt; — your data never leaves your device.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📊 &lt;strong&gt;Dashboard with Graphs&lt;/strong&gt; — Toggle between Daily, Monthly, and Yearly expense trends.&lt;/li&gt;
&lt;li&gt;🥧 &lt;strong&gt;Category-wise Breakdown&lt;/strong&gt; — See where your money is going with a pie chart.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;strong&gt;Calendar View&lt;/strong&gt; — Tap on any date to see expenses for that day.&lt;/li&gt;
&lt;li&gt;📝 &lt;strong&gt;Quick Add Expense Form&lt;/strong&gt; — Amount, date, category, payment mode, location, notes, and “Extra Spending” toggle.&lt;/li&gt;
&lt;li&gt;💡 &lt;strong&gt;Budget Tracking&lt;/strong&gt; — Set a start and end date, and monitor with a progress bar + daily suggestions.&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Dark/Light Theme Toggle&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📥 &lt;strong&gt;Import / Export Data&lt;/strong&gt; — Backup or migrate easily.&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;PWA Update Button&lt;/strong&gt; — Update instantly without reinstalling.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Tech Stack&lt;/strong&gt;
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Angular&lt;/td&gt;
&lt;td&gt;Frontend logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tailwind CSS&lt;/td&gt;
&lt;td&gt;Modern responsive UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LocalStorage&lt;/td&gt;
&lt;td&gt;Persistent data storage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chart.js&lt;/td&gt;
&lt;td&gt;Beautiful graphs &amp;amp; charts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Why LocalStorage?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No backend dependency → zero server costs.&lt;/li&gt;
&lt;li&gt;Instant read/write speed.&lt;/li&gt;
&lt;li&gt;Privacy-first — no one else can see your data.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Try It Out&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📱 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://exwise.vercel.app/" rel="noopener noreferrer"&gt;https://exwise.vercel.app/&lt;/a&gt;&lt;br&gt;
💻 &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/devnamdev2003/ExpenseWise" rel="noopener noreferrer"&gt;https://github.com/devnamdev2003/ExpenseWise&lt;/a&gt;&lt;br&gt;
No installation needed — just open in your phone browser, and it works offline after first load.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ Screenshots
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&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%2F2t3lntgasldbie136jbb.jpg" alt="home" width="800" height="1711"&gt;&lt;/th&gt;
&lt;th&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%2F3szwbgpurfwxk804j5ih.jpg" alt="add" width="800" height="1712"&gt;&lt;/th&gt;
&lt;th&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%2Fzegp3puvtrtwfoaeutgl.jpg" alt="list" width="800" height="1714"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&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%2Fxw185oti9odc7xkggopg.jpg" alt="calendar" width="800" height="1705"&gt;&lt;/td&gt;
&lt;td&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%2Fawbpwm9hkk6az6zlaaw1.jpg" alt="settings" width="800" height="1702"&gt;&lt;/td&gt;
&lt;td&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%2Fq1b1f093366ef0ii4896.jpg" alt="budget" width="800" height="1709"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>angular</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Portfolio</title>
      <dc:creator>Dev Namdev</dc:creator>
      <pubDate>Sat, 19 Aug 2023 08:41:14 +0000</pubDate>
      <link>https://dev.to/devnamdev/portfolio-4o25</link>
      <guid>https://dev.to/devnamdev/portfolio-4o25</guid>
      <description>&lt;p&gt;Over the past 15 to 20 days, I have invested my creativity and dedication into crafting this portfolio from scratch using HTML, CSS, and JavaScript. My primary goal was to demonstrate my abilities in creating captivating and interactive web experiences while ensuring they are fully responsive across all devices.&lt;/p&gt;

&lt;p&gt;🌐 Responsiveness: One of the key features of my portfolio is its responsiveness across various devices and screen sizes. Whether you're browsing on a desktop, tablet, or mobile phone, my portfolio will adapt seamlessly to provide an optimal user experience.&lt;/p&gt;

&lt;p&gt;✨ Animation: To add a touch of magic, I've incorporated captivating animations that bring life to my projects and create an enjoyable browsing experience. Each animation is thoughtfully designed to enhance user engagement and showcase the power of modern web technologies.&lt;/p&gt;

&lt;p&gt;I take immense pride in writing clean, efficient, and maintainable code that not only delivers a visually appealing experience but also ensures smooth functionality.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/devnamdev2003/embed/zYMVxxX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
  </channel>
</rss>
