<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Divyansh Kumar</title>
    <description>The latest articles on Forem by Divyansh Kumar (@divyansh_kumar_1).</description>
    <link>https://forem.com/divyansh_kumar_1</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%2F1529507%2Ffcd9de79-29f6-4eac-b5ae-b0d4076b26e6.jpg</url>
      <title>Forem: Divyansh Kumar</title>
      <link>https://forem.com/divyansh_kumar_1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/divyansh_kumar_1"/>
    <language>en</language>
    <item>
      <title>What Testing a Real App Taught Me About Building One</title>
      <dc:creator>Divyansh Kumar</dc:creator>
      <pubDate>Sun, 26 Oct 2025 18:15:56 +0000</pubDate>
      <link>https://forem.com/divyansh_kumar_1/what-testing-a-real-app-taught-me-about-building-one-2ifm</link>
      <guid>https://forem.com/divyansh_kumar_1/what-testing-a-real-app-taught-me-about-building-one-2ifm</guid>
      <description>&lt;p&gt;When I joined Stapubox as a Backend + QA Intern, I thought testing would be the “less exciting” part of the journey.&lt;br&gt;
But I was wrong.&lt;/p&gt;

&lt;p&gt;Within the first week, I realized testing isn’t about clicking buttons or breaking things—it’s about understanding how &lt;em&gt;real users&lt;/em&gt; think. And that changed the way I look at building products forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  📖 My Story
&lt;/h2&gt;

&lt;p&gt;Since this was my first experience in QA, I honestly didn’t know where to start.&lt;/p&gt;

&lt;p&gt;A senior teammate gave me a simple but powerful suggestion:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Before you think like a developer, think like a user. Do a bit of monkey testing first.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first, it sounded funny. But when I started exploring the app like a curious user—signing up, creating a profile, testing chats, checking recommendations—I began noticing small details I would’ve completely ignored as a developer.&lt;/p&gt;

&lt;p&gt;Tiny loading delays.&lt;br&gt;
A misplaced button on the onboarding screen.&lt;br&gt;
A chat message that didn’t update in real-time unless I refreshed.&lt;/p&gt;

&lt;p&gt;Individually, they seemed minor. But together, they told a bigger story about user experience.&lt;/p&gt;

&lt;p&gt;That’s when it hit me—every tiny inconsistency matters because that’s exactly what a user notices first.&lt;/p&gt;

&lt;p&gt;By the second week, I wasn’t just finding bugs anymore.&lt;br&gt;
I was understanding why they happened—and more importantly, how to prevent them while building.&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%2Fk5es5f5kqudrqlmxbnbl.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%2Fk5es5f5kqudrqlmxbnbl.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 What I learned?
&lt;/h2&gt;

&lt;p&gt;Testing taught me lessons no coding tutorial ever could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Empathy beats logic. You can’t build something great unless you understand how it feels to use it.&lt;/li&gt;
&lt;li&gt;Small details aren’t small. A one-second delay or an unhandled state can define how users perceive your entire product.&lt;/li&gt;
&lt;li&gt;QA makes you a sharper developer. It forces you to think beyond “does this code work?” to “does this experience make sense?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, whenever I write backend logic, I automatically imagine how a user will interact with that flow on the front end.&lt;br&gt;
And that mindset shift alone has been priceless.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 Over to you!
&lt;/h2&gt;

&lt;p&gt;I used to think testing was the final step in development.&lt;br&gt;
Now, I see it as the foundation of building something truly meaningful.&lt;/p&gt;

&lt;p&gt;If you’re a developer—especially early in your journey—I’d love to hear this from you:&lt;br&gt;
👉 How do you make sure your code feels human to the end user?&lt;/p&gt;

&lt;p&gt;Let’s share stories, not just syntax. 👇&lt;/p&gt;

</description>
      <category>testing</category>
      <category>developer</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>Stop Shipping Broken .env Files — Meet env-check-ts</title>
      <dc:creator>Divyansh Kumar</dc:creator>
      <pubDate>Mon, 07 Jul 2025 05:15:02 +0000</pubDate>
      <link>https://forem.com/divyansh_kumar_1/stop-shipping-broken-env-files-meet-env-check-ts-17p8</link>
      <guid>https://forem.com/divyansh_kumar_1/stop-shipping-broken-env-files-meet-env-check-ts-17p8</guid>
      <description>&lt;p&gt;Have you ever deployed your Node.js app, only to see it crash due to a missing or incorrect environment variable?&lt;/p&gt;

&lt;p&gt;If yes — you’re not alone.&lt;/p&gt;

&lt;p&gt;Environment variables (&lt;code&gt;.env&lt;/code&gt; files) are essential for configuring secrets, ports, database URLs, and more — but they’re also &lt;strong&gt;fragile&lt;/strong&gt; and &lt;strong&gt;invisible&lt;/strong&gt;. A single missing or mistyped key can break your entire app in production, CI/CD, or even onboarding new teammates.&lt;/p&gt;

&lt;p&gt;That’s exactly the kind of problem I wanted to solve when I created:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.npmjs.com/package/env-check-ts" rel="noopener noreferrer"&gt;&lt;code&gt;env-check-ts&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A simple, TypeScript-powered CLI that validates your &lt;code&gt;.env&lt;/code&gt; file against a schema and even auto-generates &lt;code&gt;.env.example&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🤷‍♂️The Problem We Often Ignore
&lt;/h2&gt;

&lt;p&gt;Let’s say you’ve got a &lt;code&gt;.env&lt;/code&gt; like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NODE_ENV=prod
PORT=3000
DATABASE_URL=https://secure-db.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What if:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;NODE_ENV was expected to be "production", not "prod"? &lt;/li&gt;
&lt;li&gt;PORT was accidentally deleted? &lt;/li&gt;
&lt;li&gt;You forgot to include DATABASE_URL in .env.example?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These bugs don’t get caught until runtime... and by then it’s too late.&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%2Fue3o37k7d78v40wgiiik.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%2Fue3o37k7d78v40wgiiik.png" alt="Invalidated code due to missing env" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧪The Solution — env-check-ts
&lt;/h2&gt;

&lt;p&gt;env-check-ts solves this with schema validation, powered by Zod. It ensures your .env is:&lt;/p&gt;

&lt;p&gt;✅ Present&lt;/p&gt;

&lt;p&gt;✅ Complete&lt;/p&gt;

&lt;p&gt;✅ Valid by type and value&lt;/p&gt;

&lt;p&gt;You can also auto-generate a neat &lt;strong&gt;&lt;em&gt;.env.example&lt;/em&gt;&lt;/strong&gt; based on your schema.&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%2F8vajdcpkp39bs1j5ph4r.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%2F8vajdcpkp39bs1j5ph4r.png" alt="Generate .env.example as per your schema" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧑‍💻 Try it Now
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;npm install -g env-check-ts&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;or use via:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx env-check-ts validate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Full docs + GitHub: &lt;a href="https://github.com/Divyanshkumar62/env-check-ts-npm-package" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤔Why I Built This
&lt;/h2&gt;

&lt;p&gt;As a developer working on open-source and team projects, I faced recurring issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD failing due to missing envs&lt;/li&gt;
&lt;li&gt;Confusion over .env files in onboarding&lt;/li&gt;
&lt;li&gt;Forgetting to update .env.example&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted something:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple and Type-safe&lt;/li&gt;
&lt;li&gt;And powered by a schema — not just regex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So env-check-ts was born. It’s lightweight, zero-config, and developer-first.&lt;/p&gt;




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

&lt;p&gt;I'm actively improving this tool. Upcoming features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Support for .env.production, .env.test, etc. &lt;/li&gt;
&lt;li&gt; Ability to redact secrets when generating .env.example &lt;/li&gt;
&lt;li&gt; VS Code extension for inline validation &lt;/li&gt;
&lt;li&gt; Auto-run as part of CI/CD pipelines&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Have suggestions or ideas? I’d love your feedback!&lt;/p&gt;




&lt;h2&gt;
  
  
  🫡Final Words
&lt;/h2&gt;

&lt;p&gt;If this tool helped you or your team:&lt;/p&gt;

&lt;p&gt;⭐️ Give it a star on GitHub&lt;/p&gt;

&lt;p&gt;🗣 Share it with a dev friend or a crazy techy&lt;/p&gt;

&lt;p&gt;📥 DM or comment — I'd love to hear your thoughts!&lt;/p&gt;

&lt;p&gt;Thanks for reading 🙌&lt;br&gt;
Built with ❤️ by Divyansh Kumar&lt;/p&gt;

</description>
      <category>npm</category>
      <category>node</category>
      <category>typescript</category>
      <category>firstpost</category>
    </item>
  </channel>
</rss>
