<?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: Aryan</title>
    <description>The latest articles on DEV Community by Aryan (@aryan_singh).</description>
    <link>https://dev.to/aryan_singh</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%2F3250084%2F69a88974-9d2f-4d20-a536-72e8243469dd.jpg</url>
      <title>DEV Community: Aryan</title>
      <link>https://dev.to/aryan_singh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aryan_singh"/>
    <language>en</language>
    <item>
      <title>🚀 Day 4 | AI Gym Assistant 💪 - Project Progress Update!</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Mon, 16 Jun 2025 09:35:34 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-4-ai-gym-assistant-project-progress-update-10ne</link>
      <guid>https://dev.to/aryan_singh/day-4-ai-gym-assistant-project-progress-update-10ne</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%2Frp4hktru2xp2d4ej3hjx.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%2Frp4hktru2xp2d4ej3hjx.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today was nothing short of a breakthrough!&lt;/strong&gt; 🔥&lt;/p&gt;

&lt;p&gt;I integrated a drag-and-drop upload experience powered with buttery-smooth GSAP animations, making it not just functional but fun to interact with!&lt;br&gt;
From the moment a user drops a gym equipment image — our backend kicks in with:&lt;br&gt;
✅ Google Vision API for equipment detection&lt;br&gt;
✅ Gemini AI for suggesting beginner-friendly workouts&lt;br&gt;
✅ Real-time GIFs via GIPHY that bring each exercise to life! 🎥💥&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;imagine this&lt;/strong&gt;: You upload a simple photo of a dumbbell... and instantly get animated workout suggestions tailored to that equipment — GIFs, muscle groups, tips and all!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I worked on today:&lt;/strong&gt;&lt;br&gt;
🧠 Refined the prompt engineering for better AI output&lt;br&gt;
🎨 Improved the front-end styling and responsiveness&lt;br&gt;
🎞️ GIFs now feel like something out of a top-tier fitness app&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Still to come:&lt;/strong&gt;&lt;br&gt;
➡️ User authentication&lt;br&gt;
➡️ History tracking for uploaded images&lt;br&gt;
➡️ Sharing your AI-generated routine with friends!&lt;/p&gt;

</description>
      <category>googlevision</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🔥 Day 3 of building something really cool!</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Sat, 14 Jun 2025 16:32:52 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-3-of-building-something-really-cool-5hi3</link>
      <guid>https://dev.to/aryan_singh/day-3-of-building-something-really-cool-5hi3</guid>
      <description>&lt;p&gt;I’ve been working on a &lt;em&gt;smart fitness project&lt;/em&gt; that I’m super excited about — I didn’t post about it earlier (was deep in the build mode the last 2 days 😅) — but imagine this: upload a photo of any gym equipment and instantly get 2–3 beginner-friendly exercises, complete with videos, tips, and targeted muscle info! 💪📸&lt;/p&gt;

&lt;p&gt;No fitness knowledge? No problem.&lt;br&gt;
 This tool is built for beginners who walk into a gym and think:&lt;br&gt;
 "What can I even do with this machine?"&lt;br&gt;
**&lt;br&gt;
🚧 What I’ve built so far (in just 3 days):**&lt;br&gt;
✅ Detect gym equipment from a photo using Google Cloud Vision API&lt;br&gt;
 ✅ Use Gemini (Google’s LLM) to generate exercises, GIF/video links, muscle info, and beginner tips&lt;br&gt;
 ✅ Created a backend with Node.js + Express to connect the dots&lt;br&gt;
 ✅ Parsed and cleaned messy AI output into clean JSON (trust me, this was tricky 😅)&lt;br&gt;
 ✅ Ready to hook this into a simple, clean React frontend&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up&lt;/strong&gt;: Designing the UI to actually show this magic ✨&lt;/p&gt;

&lt;p&gt;If you're into fitness, AI, LLMs, or just love seeing creative tools come to life — I’d love to hear your thoughts! 💬&lt;br&gt;
Let’s connect and build cool stuff together 🚀&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%2F17gmf5tjcd7piml6zj7u.webp" 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%2F17gmf5tjcd7piml6zj7u.webp" alt="Image description" width="357" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>llm</category>
      <category>ai</category>
      <category>node</category>
    </item>
    <item>
      <title>Day 5: Dynamic Routing &amp; Header Support</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Tue, 10 Jun 2025 12:39:10 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-5-dynamic-routing-header-support-4290</link>
      <guid>https://dev.to/aryan_singh/day-5-dynamic-routing-header-support-4290</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%2Fyw8m3vfztamgsedba0xx.webp" 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%2Fyw8m3vfztamgsedba0xx.webp" width="800" height="400"&gt;&lt;/a&gt;🤔 Ever wondered how servers handle dynamic routes like /user/:id or validate headers?&lt;/p&gt;

&lt;p&gt;Today, I &lt;em&gt;built dynamic routing&lt;/em&gt; and header support from scratch in Node.js—no Express, just raw HTTP.&lt;/p&gt;

&lt;p&gt;How it works:&lt;br&gt;
🚀 &lt;strong&gt;Trie-Based Routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Efficiently maps paths like /posts/:id using a Trie structure.&lt;/p&gt;

&lt;p&gt;No more brittle if-else or regex chaos!&lt;/p&gt;

&lt;p&gt;🛡️ &lt;strong&gt;Header Parsing &amp;amp; Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Extracts Content-Type, Authorization, and other headers.&lt;/p&gt;

&lt;p&gt;Enforces rules (e.g., Accept: application/json).&lt;/p&gt;

&lt;p&gt;📦 &lt;strong&gt;Modular Design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Clean separation: Parser → Router → Response Handler.&lt;/p&gt;

&lt;p&gt;Ready to scale beyond hardcoded routes.&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>buildinpublic</category>
      <category>programming</category>
    </item>
    <item>
      <title>DAY 4 – Streaming Body Parse</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Mon, 09 Jun 2025 10:01:46 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-4-streaming-body-parse-5d4n</link>
      <guid>https://dev.to/aryan_singh/day-4-streaming-body-parse-5d4n</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%2F8gobiq31umgjhnwqgmqp.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%2F8gobiq31umgjhnwqgmqp.png" alt="Snippet" width="800" height="516"&gt;&lt;/a&gt;&lt;strong&gt;🤷‍♂️Ever wondered how large file uploads don’t crash servers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, &lt;strong&gt;I built a streaming body parser from scratch&lt;/strong&gt; using raw Node.js TCP sockets — no Express, no frameworks.&lt;/p&gt;

&lt;p&gt;--&amp;gt; &lt;em&gt;Accumulate data chunks from the TCP socket&lt;br&gt;
--&amp;gt; Parse HTTP request headers to find Content-Length&lt;br&gt;
--&amp;gt;  Read request body safely, waiting for full body based on length&lt;br&gt;
--&amp;gt; Support plain text and JSON parsing for POST requests&lt;br&gt;
--&amp;gt; Avoid memory leaks by handling data in streams rather than buffering everything at once.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most developers rely on express.json() or middleware like multer for uploads. I wanted to understand what really happens under the hood.&lt;/p&gt;

&lt;p&gt;This deep dive helped me build a custom HTTP server that correctly handles POST request bodies — the backbone for handling forms, APIs, and uploads — without third-party dependencies.&lt;/p&gt;

</description>
      <category>node</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Day 3 – The Thought That Changed Everything</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Sun, 08 Jun 2025 10:31:48 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-3-the-thought-that-changed-everything-4d12</link>
      <guid>https://dev.to/aryan_singh/day-3-the-thought-that-changed-everything-4d12</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%2F9yoddushgclli156cgem.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%2F9yoddushgclli156cgem.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧠 Ever wondered what really happens before &lt;strong&gt;http.createServer()&lt;/strong&gt; in Node?&lt;/p&gt;

&lt;p&gt;I did — and decided to dig way deeper.&lt;/p&gt;

&lt;p&gt;While working on my server recently, a thought struck me:&lt;/p&gt;

&lt;p&gt;Can I build this from even lower down? Like, handle the &lt;em&gt;raw socket&lt;/em&gt; connections myself — understand the handshake, data transfer at the byte level, and have &lt;strong&gt;full control&lt;/strong&gt; over every bit sent and received.&lt;/p&gt;

&lt;p&gt;So that’s exactly what I started doing:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Handling raw TCP&lt;/strong&gt; data streams&lt;br&gt;
 ✅ &lt;strong&gt;Parsing HTTP methods&lt;/strong&gt;, paths, and headers manually&lt;br&gt;
 ✅ Building a &lt;strong&gt;response engine&lt;/strong&gt; without relying on the http module&lt;br&gt;
 ✅ &lt;strong&gt;Rewriting my Trie-based router&lt;/strong&gt; to work directly on top of TCP sockets&lt;/p&gt;

&lt;p&gt;Most devs just use express() or http.createServer().&lt;br&gt;
But I wanted to know — what’s really going on underneath?&lt;/p&gt;

&lt;p&gt;This deep dive is teaching me:&lt;br&gt;
 → How TCP connections work from the ground up&lt;br&gt;
 → How net.Socket behaves internally&lt;br&gt;
 → How to build custom servers, proxies, or mini frameworks from scratch&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://gist.github.com/Aryan681/2126766d8791ffee631abc25cdae9f6a" rel="noopener noreferrer"&gt;Github Gist&lt;/a&gt;  for the sample of the new implementation :&lt;/p&gt;

</description>
      <category>node</category>
      <category>tcp</category>
      <category>customserver</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>DAY 2 – Trie-Based Router Like Fastify</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Sat, 07 Jun 2025 09:34:33 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-2-trie-based-router-like-fastify-2d27</link>
      <guid>https://dev.to/aryan_singh/day-2-trie-based-router-like-fastify-2d27</guid>
      <description>&lt;p&gt;🌲Fastify (alternative of express) uses a &lt;strong&gt;Trie&lt;/strong&gt; for route matching — today, I built my own.&lt;/p&gt;

&lt;p&gt;✅ Each URL segment is a node in the tree&lt;br&gt;&lt;br&gt;
✅ Lookup is O(k) for k segments&lt;br&gt;&lt;br&gt;
✅ Supports &lt;code&gt;/user/:id&lt;/code&gt; and wildcards&lt;br&gt;&lt;br&gt;
✅ Cleaner and faster than if-else chains&lt;/p&gt;

&lt;p&gt;I never thought a data structure would make routing this efficient.&lt;/p&gt;

&lt;p&gt;Frameworks do this behind the scenes — I wanted to understand the “why”.&lt;/p&gt;

&lt;p&gt;Tomorrow I’ll move to a &lt;strong&gt;body parser that works in chunks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is a &lt;a href="https://gist.github.com/Aryan681/6848e3e63ce2a777c89fe4bb38817d1d" rel="noopener noreferrer"&gt;Github Gist&lt;/a&gt; u can see the &lt;strong&gt;implementation&lt;/strong&gt;  here. It's a small portion of  the code &lt;/p&gt;

</description>
      <category>datastructures</category>
      <category>node</category>
      <category>backend</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Day 1 — “Why I’m Building My Own HTTP Server from Scratch”</title>
      <dc:creator>Aryan</dc:creator>
      <pubDate>Fri, 06 Jun 2025 18:53:27 +0000</pubDate>
      <link>https://dev.to/aryan_singh/day-1-why-im-building-my-own-http-server-from-scratch-g48</link>
      <guid>https://dev.to/aryan_singh/day-1-why-im-building-my-own-http-server-from-scratch-g48</guid>
      <description>&lt;p&gt;Most backend devs use Express or Fastify.&lt;br&gt;
I decided to build my own &lt;strong&gt;HTTP server&lt;/strong&gt; — &lt;strong&gt;from scratch&lt;/strong&gt;, using raw Node.js.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No frameworks. No shortcuts.&lt;/strong&gt;&lt;br&gt;
Just sockets, buffers, and my brain.&lt;/p&gt;

&lt;p&gt;Why? Because I want to understand how servers really work under the hood.&lt;/p&gt;

&lt;p&gt;In the next few days, I’ll share how &lt;strong&gt;I’m&lt;/strong&gt; &lt;strong&gt;building&lt;/strong&gt; this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A blazing-fast router using Trie&lt;/li&gt;
&lt;li&gt;Streaming request body parser&lt;/li&gt;
&lt;li&gt;JWT auth&lt;/li&gt;
&lt;li&gt;Custom middleware engine&lt;/li&gt;
&lt;li&gt;Reverse proxy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s see how far I can take this.&lt;/p&gt;

</description>
      <category>node</category>
      <category>100daysofcode</category>
      <category>buildinpublic</category>
      <category>development</category>
    </item>
  </channel>
</rss>
