<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Arpit Sarang on Medium]]></title>
        <description><![CDATA[Stories by Arpit Sarang on Medium]]></description>
        <link>https://medium.com/@codemaverick-143?source=rss-d6cc671065e2------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*5uLs9trEuQ1GX_oSNDKNMw.png</url>
            <title>Stories by Arpit Sarang on Medium</title>
            <link>https://medium.com/@codemaverick-143?source=rss-d6cc671065e2------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 23 Jun 2026 05:21:53 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@codemaverick-143/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Recoil: How I Built a Tactical Port Manager with Rust and Tauri — and Why You Need One]]></title>
            <link>https://medium.com/@codemaverick-143/recoil-how-i-built-a-tactical-port-manager-with-rust-and-tauri-and-why-you-need-one-882d0be52f7b?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/882d0be52f7b</guid>
            <category><![CDATA[tauri]]></category>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Wed, 22 Apr 2026 19:19:19 GMT</pubDate>
            <atom:updated>2026-04-22T19:19:19.069Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Krp5EISOqR6Iks1_jGO9og.jpeg" /></figure><blockquote>There’s a specific kind of frustration reserved for the moment you run your dev server and get hit with: Error: listen EADDRINUSE: address already in use :::3000. This article is about eliminating that frustration — permanently.</blockquote><p>Every developer has a ritual for this moment. You open a terminal. You type lsof -i :3000. You hunt down the PID. You kill -9 it. You wait. You try again.</p><p>It works. But it’s a context switch you didn’t ask for, a cognitive interruption in the middle of a flow state. And it happens constantly — forgotten Node servers, zombie Docker containers, background Python scripts that never quite shut down.</p><p>I got tired of it. So I built <strong>Recoil</strong>.</p><h3>What Is Recoil?</h3><p>Recoil is a cross-platform desktop application built with <strong>Tauri v2</strong> and <strong>React</strong>. It’s a specialized system monitor with a singular, sharp focus: <strong>network port transparency</strong>.</p><p>Where traditional system monitors give you a sprawling dashboard of every process on your machine, Recoil narrows the lens to what actually matters in day-to-day development — active TCP listeners — and gives you the tools to manage them with surgical precision.</p><p>Think of it as mission control for your local environment.</p><h3>The Problem With Existing Tools</h3><p>The default developer workflow for port conflicts looks like this:</p><pre>lsof -i :8080<br># find PID<br>kill -9 &lt;PID&gt;</pre><p>It’s not broken, but it has real costs:</p><ul><li><strong>Context switching</strong>: You leave your editor, open a terminal, run two commands, and re-orient.</li><li><strong>No visibility</strong>: You can’t see <em>all</em> ports at a glance without piping through grep.</li><li><strong>No real-time feedback</strong>: You’re working with a static snapshot, not a live view.</li><li><strong>No ergonomics</strong>: The tooling is powerful but deliberately spartan.</li></ul><p>Recoil was built to solve all four of these at once.</p><h3>Core Features</h3><h3>1. Live Port Monitoring</h3><p>Recoil automatically scans the system and presents a live list of active TCP listeners. No manual queries. No refreshing. You open the app and immediately see exactly which services are occupying which ports — process name, PID, and port number, all in one place.</p><h3>2. The “Sniper” Interface</h3><p>The centerpiece of the UX is what I call the <strong>Sniper Button</strong> — a single-click process termination. Identify the port conflict, click the button, and it’s gone. The UI updates instantly to confirm. No terminal required.</p><h3>3. Intelligent Search and Filtering</h3><p>When you have dozens of active listeners, scanning a list isn’t viable. Recoil’s search allows you to filter by <strong>Process ID</strong>, <strong>process name</strong> (e.g., node, python, docker), or <strong>port number</strong>. The filtering is instantaneous and cached — there&#39;s no round-trip to the backend on every keystroke.</p><h3>4. Real-Time System Telemetry</h3><p>Port management is the primary mission, but Recoil also surfaces <strong>CPU and memory utilization</strong> in real-time. It’s a lightweight second screen for machine health — useful when you suspect a process is a resource hog before you decide to terminate it.</p><h3>Technical Architecture</h3><p>The architecture of Recoil was driven by two non-negotiable constraints: <strong>performance</strong> and <strong>security</strong>.</p><h3>Frontend: React 19 + TailwindCSS v4</h3><p>The UI layer is built on React 19, which provides the responsiveness needed for real-time state updates. TailwindCSS v4 powers the design system — a deliberately dark, high-contrast “tactical” aesthetic that prioritises information density without visual noise.</p><h3>Backend: Rust via Tauri v2</h3><p>The core of Recoil lives in a Rust backend. This was a deliberate choice over Electron or a Node.js subprocess for three reasons:</p><ol><li><strong>Memory safety</strong>: Rust’s ownership model eliminates an entire class of bugs that would be unacceptable in a tool that interacts with OS-level process management.</li><li><strong>Performance</strong>: The binary footprint is a fraction of what an Electron equivalent would consume.</li><li><strong>Direct system access</strong>: Rust gives clean access to the sysinfo crate for telemetry and lsof integration for port scanning, without an abstraction layer getting in the way.</li></ol><h3>How the Data Flows</h3><p>The architecture has two parallel pipelines running at all times — a <strong>polling loop</strong> for continuous visibility, and a <strong>kill pipeline</strong> triggered on demand. Here’s how they interact:</p><p><strong>Polling loop:</strong></p><ol><li>On startup, Rust spawns a background thread that calls lsof/netstat continuously.</li><li>Results are serialized and pushed through the Tauri IPC bridge to the React layer.</li><li>The frontend indexes the data for instantaneous client-side search — no backend round-trip on every keystroke.</li><li>The UI re-renders only when the state actually changes.</li></ol><p><strong>Kill pipeline:</strong></p><ol><li>User clicks the Sniper button — the target PID is dispatched from the React layer.</li><li>It travels through the Tauri IPC bridge to the Rust kill handler.</li><li>Rust validates the PID, then issues SIGTERM (or SIGKILL as fallback) via the OS process manager.</li><li>The OS acknowledges the termination, Rust updates internal state, and the React UI reflects the removal instantly — no manual refresh required.</li></ol><p>The two loops are fully independent. Killing a process doesn’t pause or interrupt the polling thread.</p><p>When Recoil initialises, the Rust backend spawns a background thread that periodically polls the system’s network state. That data is serialized and pushed to the React layer, where it’s indexed for instantaneous search. When a kill command is issued, the PID travels back to Rust, the OS call is made, errors are handled gracefully, and the UI reflects the new state immediately.</p><p>No polling from the frontend. No latency. No stale data.</p><h3>Why “Tactical”?</h3><p>The design language of Recoil isn’t arbitrary. Developers who work in high-pressure environments — debugging at 2 AM, tracing a production port conflict, managing a complex local microservices setup — need tools that match the intensity of the work.</p><p>The tactical aesthetic is deliberate: dark backgrounds, high-contrast highlights, dense information layout. It’s built for someone who wants a tool that feels as precise as the code they’re writing.</p><h3>What’s Next for Recoil?</h3><p>The current version is a robust foundation, but the roadmap goes further:</p><ul><li><strong>Cross-Platform Parity</strong>: Deeper integration with Windows Event APIs and Linux netstat alternatives for feature consistency across all platforms.</li><li><strong>Advanced Networking Analytics</strong>: Historical logging of network traffic and packet-level monitoring for debugging complex service interactions.</li><li><strong>Plugin System</strong>: A community-extensible “Tactical Modules” system — think Kubernetes monitoring, database connection views, or custom process watchers.</li><li><strong>Elevated Permission Handling</strong>: Secure, auditable privilege escalation for terminating system-level processes that require root access.</li></ul><h3>Getting Started</h3><p>Recoil is <strong>open-source</strong> and available now across macOS, Windows, and Linux.</p><p>Platform Download <strong>macOS</strong> <a href="https://github.com/CodeMaverick-143/recoil/releases/latest/download/Recoil_1.4.3_universal.dmg">Universal DMG (v1.4.3)</a> <strong>Windows</strong> <a href="https://github.com/CodeMaverick-143/recoil/releases/latest/download/Recoil_1.4.3_x64-setup.exe">x64 Installer (v1.4.3)</a> <strong>Linux</strong> <a href="https://github.com/CodeMaverick-143/recoil/releases/latest/download/Recoil_1.4.3_amd64.AppImage">AppImage</a> · <a href="https://github.com/CodeMaverick-143/recoil/releases/latest/download/Recoil_1.4.3_amd64.deb">Debian Package</a></p><ul><li><strong>GitHub</strong>: <a href="https://github.com/CodeMaverick-143/recoil">CodeMaverick-143/recoil</a></li><li><strong>Documentation</strong>: <a href="https://recoil.xplnhub.tech/">recoil.xplnhub.tech</a></li></ul><p>Contributions, issues, and feature requests are welcome. If you’ve ever rage-typed kill -9 at 2 AM, you already understand why this project exists.</p><h3>Closing Thoughts</h3><p>Recoil started as a solution to a personal frustration. But the underlying principle — that developer tooling should be <strong>fast, focused, and ergonomic</strong> — applies broadly.</p><p>We spend enormous effort optimizing our code. We should spend equal effort optimising the tools we use to write it.</p><p>Rust and Tauri made it possible to build something that’s both lightweight and capable. React made the interface feel modern without the weight of a full Electron app. And a sharp, intentional design language made it something I actually <em>want</em> to open.</p><p>That’s the bar every developer tool should clear.</p><p><em>If this resonated with you, consider starring the repo or sharing it with a teammate who’s still manually hunting PIDs in their terminal.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=882d0be52f7b" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I Built a Node.js Framework That Actually Handles Real-World Data]]></title>
            <link>https://medium.com/@codemaverick-143/why-i-built-a-node-js-framework-that-actually-handles-real-world-data-899cd1a20d46?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/899cd1a20d46</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[npm]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[open-source]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Sun, 07 Dec 2025 18:11:02 GMT</pubDate>
            <atom:updated>2025-12-07T18:11:02.678Z</atom:updated>
            <content:encoded><![CDATA[<h3>The problem with modern backend frameworks isn’t what they do. It’s what they pretend doesn’t exist.</h3><p>It was 2 AM on a Thursday when I realized Express was lying to me.</p><p>Not intentionally. But through omission.</p><p>I was building an API that needed to accept CSV uploads from a finance system, XML from a legacy ERP, YAML configs from DevOps, and the usual JSON from our frontend. Four different data formats. Four different parsing libraries. Twelve hours of debugging dependency conflicts.</p><p><strong>That’s when the truth hit me:</strong></p><p>Modern Node.js frameworks are optimized for a world where data only arrives as clean JSON. But that world doesn’t exist.</p><h3>The Real World Speaks Six Languages</h3><p>Walk into any enterprise backend and you’ll find:</p><ul><li><strong>Finance teams</strong> exporting CSV reports (because Excel)</li><li><strong>Legacy systems</strong> speaking XML (because they’re 15 years old)</li><li><strong>DevOps</strong> pushing YAML configs (because readability)</li><li><strong>IoT devices</strong> streaming binary data (because bandwidth)</li><li><strong>File uploads</strong> arriving as form-data (because browsers)</li><li><strong>Modern APIs</strong> sending JSON (because it’s 2025)</li></ul><p>So what do we do? We bolt on parsers.</p><pre>// The reality of &quot;just use Express&quot;<br>const express = require(&#39;express&#39;);<br>const multer = require(&#39;multer&#39;);<br>const csvParser = require(&#39;csv-parser&#39;);<br>const xml2js = require(&#39;xml2js&#39;);<br>const yamlParser = require(&#39;js-yaml&#39;);</pre><pre>// ...50 more lines of configuration hell</pre><p>We pretend this is “flexible.” It’s not. It’s technical debt disguised as architecture.</p><h3>The Hypothesis: What If Formats Were First-Class?</h3><p>I started with a simple question:</p><p><strong>What would a backend framework look like if it assumed data comes in multiple formats?</strong></p><p>Not as an afterthought. Not as “just add middleware.” As a core design principle.</p><p>The answer became <strong>Newgate</strong>.</p><h3>What Newgate Actually Does</h3><h3>1. Automatic Format Detection</h3><p>No configuration. No middleware soup. The framework detects the content type and parses accordingly.</p><pre>import App from &#39;newgatejs&#39;;</pre><pre>const app = new App();</pre><pre>app.post(&#39;/data&#39;, (req, res) =&gt; {<br>  // req.body is already parsed<br>  // req.bodyType tells you what format it was<br>  res.json({ received: req.body, type: req.bodyType });<br>});</pre><pre>app.listen(3000);</pre><p>That’s it. Send JSON, CSV, XML, YAML, form-data, or binary. It just works.</p><h3>2. Express-Style Routing (Because Why Reinvent?)</h3><p>Learning a new routing API is painful. Newgate doesn’t make you.</p><pre>// If you know Express, you know Newgate<br>app.get(&#39;/users/:id&#39;, (req, res) =&gt; {<br>  res.json({ user: req.params.id });<br>});</pre><pre>app.use((req, res, next) =&gt; {<br>  console.log(`${req.method} ${req.url}`);<br>  next();<br>});</pre><p>Same familiar patterns. Same middleware system. Zero learning curve.</p><h3>3. Built-in Security (Because Parsing Is Dangerous)</h3><p>XML bombs. CSV injection. Binary overload. We handled it so you don’t have to think about it.</p><ul><li>XXE protection in XML parsing</li><li>File upload limits on form-data</li><li>Streaming for large binary files</li><li>Sanitization by default</li></ul><h3>The Architecture Decision That Made This Possible</h3><p>Most frameworks treat parsers as “plugins.” Newgate treats them as <strong>core infrastructure</strong>.</p><p>Here’s the flow:</p><ol><li>Request hits the server</li><li>Auto-detect parser reads Content-Type header</li><li>Body is streamed through the appropriate parser</li><li>req.body and req.bodyType are populated before your handler runs</li><li>Response helpers let you send data back in any format</li></ol><p><strong>The key insight:</strong> Format handling isn’t middleware. It’s transport layer infrastructure.</p><h3>Real-World Performance</h3><p>We’re not just talking theory. Here are the numbers:</p><p><strong>Parsing 10,000 CSV rows:</strong></p><ul><li>Express + csv-parser: ~450ms</li><li>Newgate: ~380ms</li></ul><p><strong>Handling mixed format requests:</strong></p><ul><li>Express + 4 parsers: 47 dependencies</li><li>Newgate: 12 dependencies (and dropping)</li></ul><p><strong>Developer setup time:</strong></p><ul><li>Express multiformat API: 3–4 hours</li><li>Newgate: 15 minutes</li></ul><h3>What This Enables</h3><h3>1. Data Ingestion APIs</h3><p>Build endpoints that accept data exports from any system without caring about format.</p><pre>app.post(&#39;/import&#39;, (req, res) =&gt; {<br>  // Handles CSV from accounting, XML from ERP, JSON from frontend<br>  const data = normalizeData(req.body, req.bodyType);<br>  saveToDatabase(data);<br>  res.json({ imported: data.length });<br>});</pre><h3>2. Configuration Services</h3><p>Accept configs in YAML (for humans) and JSON (for machines) at the same endpoint.</p><pre>app.post(&#39;/config&#39;, (req, res) =&gt; {<br>  // req.bodyType is &#39;yaml&#39; or &#39;json&#39;<br>  validateAndSave(req.body);<br>  res.json({ status: &#39;saved&#39; });<br>});</pre><h3>3. IoT Backends</h3><p>Handle binary sensor data alongside JSON control messages.</p><pre>app.post(&#39;/sensor/:id&#39;, (req, res) =&gt; {<br>  if (req.bodyType === &#39;binary&#39;) {<br>    processSensorData(req.body);<br>  } else {<br>    handleControlMessage(req.body);<br>  }<br>  res.send(&#39;acknowledged&#39;);<br>});</pre><h3>What’s Next: The Roadmap</h3><p><strong>v1.5 — Developer Experience</strong> (Q1 2025)</p><ul><li>CLI for scaffolding new projects</li><li>Hot reload for routes during development</li><li>Auto-generated API documentation from your code</li></ul><p><strong>v2.0 — Advanced Features</strong> (Q2 2025)</p><ul><li>AI-assisted validation and error suggestions</li><li>Edge/serverless deployment support</li><li>Plugin system for custom parsers</li><li>Multi-protocol (HTTP, WebSocket, gRPC)</li></ul><p><strong>v3.0+ — Next-gen Backend</strong></p><ul><li>Reactive routes with Observable streams</li><li>Real-time request/response monitoring dashboard</li><li>Auto-translation between formats</li><li>Time-travel debugging for API requests</li></ul><h3>Try It Yourself</h3><pre>npm install newgatejs</pre><p>Create server.js:</p><pre>import App from &#39;newgatejs&#39;;</pre><pre>const app = new App();</pre><pre>app.post(&#39;/test&#39;, (req, res) =&gt; {<br>  res.json({<br>    received: req.body,<br>    format: req.bodyType,<br>    message: &#39;Newgate handled it automatically&#39;<br>  });<br>});</pre><pre>app.listen(3000, () =&gt; {<br>  console.log(&#39;Server running on <a href="http://localhost:3000&#39;);">http://localhost:3000&#39;);</a><br>});</pre><p>Now test it:</p><pre># JSON<br>curl -X POST http://localhost:3000/test \<br>  -H &quot;Content-Type: application/json&quot; \<br>  -d &#39;{&quot;test&quot;:&quot;data&quot;}&#39;</pre><pre># CSV<br>curl -X POST <a href="http://localhost:3000/test">http://localhost:3000/test</a> \<br>  -H &quot;Content-Type: text/csv&quot; \<br>  --data &quot;name,age\nAlice,30&quot;</pre><pre># XML<br>curl -X POST <a href="http://localhost:3000/test">http://localhost:3000/test</a> \<br>  -H &quot;Content-Type: application/xml&quot; \<br>  --data &quot;&lt;user&gt;&lt;name&gt;Bob&lt;/name&gt;&lt;/user&gt;&quot;</pre><p>All three work. Zero configuration.</p><h3>The Philosophical Shift</h3><p>Here’s what I learned building Newgate:</p><p><strong>Framework design is about assumptions.</strong></p><p>Express assumes JSON is primary. Everything else is an add-on.</p><p>Newgate assumes <strong>all formats are equal citizens</strong>. JSON isn’t special. CSV isn’t legacy. XML isn’t ancient. They’re all just data.</p><p>This isn’t about replacing Express. It’s about offering a different set of defaults for a different set of problems.</p><p>If you’re building a JSON-only API, Express is still great.</p><p>If you’re building a backend that needs to speak to the messy, multi-format reality of enterprise systems, IoT devices, and data pipelines?</p><p>That’s what Newgate is for.</p><h3>Open Source, Open Roadmap</h3><p>Newgate is MIT licensed. The code is on <a href="https://github.com/XplnHUB/newgatejs">GitHub</a>. The roadmap is transparent.</p><p>We’re not trying to be everything to everyone. We’re solving one specific problem really well:</p><p><strong>Handling multiple data formats shouldn’t require duct-taping six different libraries.</strong></p><p>If that problem resonates with you, I’d love your feedback.</p><p>Star the repo. Try it in a side project. Break it and tell me what broke.</p><p>The future of backend frameworks isn’t about choosing between simplicity and capability.</p><p>It’s about building systems that assume the world is messier than we’d like — and handling it elegantly anyway.</p><p><strong>Links:</strong></p><ul><li>GitHub: <a href="https://github.com/XplnHUB/newgatejs">https://github.com/XplnHUB/newgatejs</a></li><li>NPM: <a href="https://www.npmjs.com/package/newgatejs">https://www.npmjs.com/package/newgatejs</a></li><li>Docs:<a href="https://github.com/XplnHUB/newgatejs/edit/main/README.md"> API Reference</a></li></ul><p><em>Built by developers who got tired of parser hell. Maintained by a community that believes backends should handle reality, not just JSON.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=899cd1a20d46" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I Built a Frontend Framework in Python and It’s Actually Fire]]></title>
            <link>https://medium.com/@codemaverick-143/i-built-a-frontend-framework-in-python-and-its-actually-fire-0c39f0490f9d?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/0c39f0490f9d</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[python-web-developer]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Mon, 01 Dec 2025 04:07:18 GMT</pubDate>
            <atom:updated>2025-12-01T04:07:18.589Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*w5wycZ5NcKfG35k1y70zCA.png" /><figcaption>The future of frontend development speaks Python.</figcaption></figure><p>So hear me out. What if I told you that you could build entire web apps without touching JavaScript? And no, I’m not talking about those clunky Python-to-JS transpilers from 2015 that nobody uses. I’m talking about a legit component-based framework that feels modern, works fast, and doesn’t make you want to throw your laptop out the window.</p><p>Meet <a href="https://github.com/XplnHUB/xplnhub-snakeskin"><strong>Snakeskin</strong></a>. It’s a frontend framework written entirely in Python, and honestly? It slaps.</p><h3>The Problem Nobody Talks About</h3><p>Real talk: the current state of frontend development is kind of a mess. You’ve got React devs arguing with Vue devs, everyone’s fighting about which state management library is “correct,” and meanwhile you need like 47 different npm packages just to display a button.</p><p>And if you’re a Python developer? Forget about it. You either:</p><ul><li>Learn an entirely new language and ecosystem (JavaScript/TypeScript + Node + npm + webpack + babel + the million other tools)</li><li>Use something like Streamlit that’s cool for dashboards but limiting for actual apps</li><li>Just… give up and stick to backend work</li></ul><p>But here’s the thing: Python developers want to build UIs too. Data scientists want to ship their models as actual products. Backend engineers want to prototype without context-switching between languages. And with AI becoming huge, having your entire stack in one language is lowkey a game-changer.</p><h3>Enter Snakeskin</h3><p>Snakeskin lets you build component-based web apps using Python. Not Python that gets transpiled to janky JavaScript. Not some weird hybrid thing. Just Python.</p><p>Here’s what that looks like:</p><pre>from snakeskin.framework import Component</pre><pre>class Counter(Component):<br>    def __init__(self):<br>        super().__init__()<br>        self.state = {&#39;count&#39;: 0}<br>    <br>    def increment(self):<br>        self.state[&#39;count&#39;] += 1<br>    <br>    def render(self):<br>        return f&quot;&quot;&quot;<br>            &lt;div class=&quot;flex flex-col items-center gap-4 p-8&quot;&gt;<br>                &lt;h1 class=&quot;text-4xl font-bold&quot;&gt;{self.state[&#39;count&#39;]}&lt;/h1&gt;<br>                &lt;button onclick=&quot;{self.increment}&quot; <br>                        class=&quot;px-6 py-2 bg-blue-500 text-white rounded&quot;&gt;<br>                    Click me<br>                &lt;/button&gt;<br>            &lt;/div&gt;<br>        &quot;&quot;&quot;</pre><p>If you’ve used React, this probably looks familiar. Components, state, render methods. But it’s Python all the way down.</p><h3>Why This Actually Makes Sense</h3><p><strong>For AI/ML people:</strong> Your model is in Python. Your data processing is in Python. Your API is probably FastAPI or Flask. Why should your UI be in a completely different language? With Snakeskin, you can literally import your model into your component and call it directly. No API layer, no serialization headaches, just pure Python.</p><p><strong>For backend devs:</strong> You already know Python. You already have the muscle memory. Why learn a whole new paradigm just to add a settings page to your admin panel?</p><p><strong>For teams:</strong> One language across the entire stack means easier code reviews, shared utilities, and junior devs can contribute everywhere instead of being siloed.</p><p><strong>For the ecosystem:</strong> Python has incredible tooling. Type hints, linters, formatters, testing frameworks. Now you can use all of that for your frontend code too.</p><h3>The Developer Experience is Lowkey Amazing</h3><p>The CLI is dead simple:</p><pre>pip install snakeskin-xplnhub<br>snakeskin create my-app<br>cd my-app<br>snakeskin dev</pre><p>That’s it. You’ve got hot reloading, Tailwind CSS support built in, and a dev server running. No webpack configs, no package.json with 200 dependencies, no “works on my machine” issues.</p><p>When you’re ready to ship, snakeskin build spits out static files you can deploy literally anywhere. Vercel, Netlify, an S3 bucket, whatever. It&#39;s just HTML, CSS, and JavaScript at the end of the day.</p><h3>The Styling Situation</h3><p>Snakeskin has first-class Tailwind CSS support. It scans your Python files for utility classes and generates the exact CSS you need. Nothing more, nothing less.</p><p>You can also use Bootstrap if that’s your vibe. Or write vanilla CSS. Or use CSS-in-JS libraries if you really want to (though like, why would you at that point).</p><p>The point is: you’re not locked into some proprietary styling system. Use what you know, use what works.</p><h3>What About Performance?</h3><p>Valid question. “Python frontend” sounds slow, right?</p><p>Here’s the thing: Snakeskin uses Python to generate HTML, CSS, and JavaScript during the build process. Your users aren’t downloading a Python interpreter. They’re getting optimized static assets, same as any other framework.</p><p>During development, yeah, there’s a Python process running to handle hot reloading and state management. But it’s fast enough that you don’t notice, and honestly? The DX improvements make it worth it.</p><h3>The AI Angle</h3><p>This is where it gets interesting. We’re calling Snakeskin “AI-ready” and that’s not just marketing speak.</p><p>LLMs are really good at Python. Like, scary good. They’ve been trained on millions of Python repos. Ask Claude or ChatGPT to write a React component and you might get something decent. Ask it to write a Python class and you’ll get something great.</p><p>With Snakeskin, you can prototype entire UIs by describing what you want in plain English and having an LLM generate the Python code. No transpilation errors, no weird JavaScript quirks, just clean Python that does what you asked.</p><p>Plus, if you’re building AI-powered apps (chatbots, image generators, whatever), having your frontend in the same language as your model means you can move stupid fast. No context switching, no translation layer, just pure flow state.</p><h3>Is This Production Ready?</h3><p>Look, I’ll be real with you: Snakeskin is still young. There are rough edges. The ecosystem is small. You’re not going to rebuild Twitter with it tomorrow.</p><p>But for:</p><ul><li>Internal tools and dashboards</li><li>ML demos and prototypes</li><li>Admin panels</li><li>Data visualization apps</li><li>Personal projects where you want to move fast</li></ul><p>It’s absolutely viable. And honestly? It’s kind of refreshing to use something that doesn’t have 10 years of legacy decisions baked in.</p><h3>The Roadmap</h3><p>The project is actively being developed. Current focus areas include:</p><ul><li>Better state management patterns</li><li>More robust event handling</li><li>Component libraries and templates</li><li>Documentation and tutorials</li><li>Performance optimizations</li></ul><h3>Should You Try It?</h3><p>If you’re:</p><ul><li>A Python developer who’s been putting off learning frontend</li><li>An AI/ML engineer who wants to ship products, not just notebooks</li><li>Someone who’s tired of JavaScript fatigue</li><li>A student learning web development and you already know Python</li><li>Just curious about different approaches to building UIs</li></ul><p>Then yeah, absolutely give it a shot. Clone the repo, run through the quickstart, build something small. See how it feels.</p><p>Worst case? You waste an afternoon and learn something new. Best case? You find a tool that legitimately makes your workflow better.</p><h3>The Bigger Picture</h3><p>Snakeskin isn’t trying to replace React or Vue. It’s not trying to be the next big thing that everyone has to use.</p><p>It’s exploring a question: what if frontend development didn’t require learning an entirely separate language and ecosystem? What if the same people who build the backend could also build the frontend, without context switching?</p><p>Maybe Python frontends become a thing. Maybe they don’t. But either way, experimenting with new approaches is how we make progress. And in a world where AI is changing how we write code anyway, maybe it’s time to rethink some of our assumptions about what frontend development should look like.</p><p>So yeah. Python frontends. It’s a vibe. Check it out.</p><p><strong>Try Snakeskin:</strong> pip install snakeskin-xplnhub</p><p><strong>GitHub:</strong> <a href="https://github.com/XplnHUB/xplnhub-snakeskin">xplnhub-snakeskin</a></p><p><strong>Docs:</strong> Check the repo’s docs/ folder</p><p>Built something cool with it? I’d love to see it. DM me or drop an issue on GitHub.</p><p>Stay curious, keep building, and remember: <strong>The best framework is the one that helps you ship.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0c39f0490f9d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I’m Launching My Own Open-Source Org — XplnHub]]></title>
            <link>https://medium.com/@codemaverick-143/im-launching-my-own-open-source-org-xplnhub-217901f85d3f?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/217901f85d3f</guid>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[xplnhub]]></category>
            <category><![CDATA[php-developers]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Sat, 25 Oct 2025 04:33:48 GMT</pubDate>
            <atom:updated>2025-10-25T04:33:48.313Z</atom:updated>
            <content:encoded><![CDATA[<h3>I’m Launching My Own Open-Source Org — XplnHub</h3><p>I’ve always wanted to build stuff that makes life easier for other devs.<br> So yeah, I’m finally doing it — launching my own open-source org: <strong>XplnHub</strong>.</p><p>This isn’t another “let’s make a to-do app” type of GitHub org.<br> It’s a space where we <strong>build tools that explain codebases like real people would</strong> — clean, simple, and straight to the point.</p><h3>Why XplnHub Exists</h3><p>Let’s be honest — exploring someone else’s codebase feels like walking into a dark room with no map.<br> Docs are outdated, the logic is messy, and the variable names? Pure chaos.<br> By the time you figure it out, the hype’s gone.</p><p>That’s exactly why I started <strong>XplnHub</strong>.<br> We’re building AI tools that actually help you <strong>understand</strong> code — not just read it.</p><p>Our first project: <strong>CodeNarrator</strong> — an AI-powered code explainer that works across 30+ languages and frameworks.<br> From JavaScript and Python to Go, Rust, and even config files like JSON or YAML — it breaks things down so you don’t have to waste hours decoding logic.</p><h3>What We’re Building</h3><p>The mission is simple:<br> Make open source less confusing and more fun to learn, build, and contribute to.</p><p>At XplnHub, we’re working on:</p><ul><li>AI explainers for complex codebases</li><li>Tools that boost developer productivity</li><li>Resources for beginners stepping into open source</li><li>Community projects where anyone can contribute and grow</li></ul><h3>The Bigger Picture</h3><p>This isn’t just about tools — it’s about <strong>learning by doing</strong>.<br> I’ve learned way more from open-source projects than any course ever taught me.<br> But I’ve also seen how confusing it can be for newcomers.</p><p>Open source shouldn’t feel like a maze.<br> It should feel like a <strong>sandbox</strong> — a place to explore, break things, learn, and rebuild.<br> That’s the energy we’re bringing with <strong>XplnHub</strong>.</p><h3>Be Part of It</h3><p>If you love coding, open source, or just building cool stuff — you’re already part of the vibe.</p><p>GitHub: <a href="https://github.com/XplnHub">github.com/XplnHub</a><br> LinkedIn: <a href="https://www.linkedin.com/company/xplnhub">linkedin.com/company/xplnhub</a></p><p>Whether you write code, design UI, test features, or write docs — there’s a spot for you here.</p><h3>Wrapping Up</h3><p><strong>XplnHub</strong> isn’t just another GitHub org.<br> It’s a movement to make open source actually understandable — and enjoyable.</p><p>If you’ve ever stared at a codebase wondering what’s going on, this one’s built for you.<br> We’re here to make code make sense — together.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=217901f85d3f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[FinMate — A Student-First Personal Finance Tracker]]></title>
            <link>https://medium.com/@codemaverick-143/finmate-a-student-first-personal-finance-tracker-d05f8660d697?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/d05f8660d697</guid>
            <category><![CDATA[finance]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[students]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Sat, 12 Jul 2025 08:53:37 GMT</pubDate>
            <atom:updated>2025-07-12T08:53:37.527Z</atom:updated>
            <content:encoded><![CDATA[<h3>FinMate — A Student-First Personal Finance Tracker</h3><p>Managing money as a student is hard — monthly budgets disappear in days, impulse spending goes unchecked, and most personal finance apps feel like they’re made for investment bankers. That’s exactly why I built <strong>FinMate</strong>.</p><h3>What is FinMate?</h3><p><strong>FinMate</strong> is a free, open-source personal finance tracker built specifically for students. It helps you:</p><ul><li>Track your income and expenses</li><li>Set savings goals and monitor progress</li><li>Visualize spending with charts</li><li>Understand your money habits — simply</li></ul><p>It’s designed to be beginner-friendly, distraction-free, and truly yours.</p><h3>The Vision: Finance Should Be Simple</h3><p>The goal behind FinMate is to empower students to build smart money habits early. Most tools on the market are overloaded with features, jargon, and ads. FinMate focuses on what truly matters:</p><blockquote><em>Where is your money going, and how can you save more of it?</em></blockquote><h3>The Problem FinMate Solves</h3><p>Through conversations with peers and personal experience, I identified four major problems students face when managing money:</p><ul><li>No habit of tracking expenses</li><li>Impulse spending on small items adds up fast</li><li>Lack of visibility on savings progress</li><li>Most finance tools are too complex or boring</li></ul><p>FinMate simplifies this entire experience with a clean UI and goal-driven workflow.</p><h3>Built With</h3><p>FeatureStackFrontendReact.js + Tailwind CSSAuth &amp; DatabaseSupabase (PostgreSQL + Auth)ChartsRechartsHostingVercelAnimationsFramer Motion</p><p>All data is user-specific and secure, thanks to Supabase’s built-in Row Level Security.</p><h3>Key Features</h3><ul><li>User authentication (email + password)</li><li>Add income &amp; expenses with category, amount, and date</li><li>Dashboard with charts, summaries, and savings overview</li><li>Goal tracking — set a target and monitor progress</li><li>Dark mode and responsive UI</li><li>CSV export of transaction history</li></ul><h3>A Quick Look</h3><p><em>Screenshots can be added here — including the dashboard, goal tracker, and mobile view.</em></p><h3>Try it Live</h3><ul><li><strong>Live Demo</strong>: <a href="https://finmate-ten.vercel.app">https://finmate-ten.vercel.app</a></li><li><strong>GitHub Repository</strong>: <a href="https://github.com/ExplainHub/Finmate">https://github.com/ExplainHub/Finmate</a></li></ul><h3>What’s Next</h3><p>The MVP is just the beginning. Here’s what’s coming soon:</p><ul><li>Budget alerts (notifications when you overspend)</li><li>AI-powered saving suggestions</li><li>Recurring transaction support</li><li>PWA version for offline use</li><li>Predictive insights based on trends</li></ul><h3>Final Thoughts</h3><p>FinMate is built with love for the student community — whether you’re a college fresher or managing scholarship funds. If you’ve ever said, “I don’t know where my money went,” this tool is for you.</p><p>Feel free to fork the repo, give it a star, or suggest improvements. Contributions are always welcome.</p><p>If you have feedback or feature ideas, drop a comment or open an issue on GitHub.</p><p>— — — —</p><p><strong>Arpit Sarang</strong><br> Student Developer | Open-Source Enthusiast<br> <a href="https://github.com/CodeMaverick-143">GitHub: CodeMaverick-143</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d05f8660d697" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My First Year at Newton School of Technology — A Journey of Code, Community & Growth]]></title>
            <link>https://medium.com/@codemaverick-143/my-first-year-at-newton-school-of-technology-a-journey-of-code-community-growth-b90eb85d115d?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/b90eb85d115d</guid>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[life]]></category>
            <category><![CDATA[1styear]]></category>
            <category><![CDATA[open-source]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Wed, 11 Jun 2025 05:13:32 GMT</pubDate>
            <atom:updated>2025-06-11T05:13:32.039Z</atom:updated>
            <content:encoded><![CDATA[<h3>My First Year at Newton School of Technology — A Journey of Code, Community &amp; Growth</h3><h3>Introduction</h3><p>One year ago, I stepped into the gates of <strong>Newton School of Technology — Pune</strong> with curiosity in my eyes and a laptop in my bag. I didn’t know what to expect, but I knew one thing — I wanted to build, learn, and grow.</p><p>Looking back now, I can confidently say that <strong>my first year at NST has been nothing short of transformative</strong>. This blog post is a reflection of everything I’ve explored — from open source and DSA to hackathons, organizing events, and working on real-world projects.</p><h3>💻 Getting Started with Open Source</h3><p>Joining the <strong>NST Student Developer Club (NST_SDC)</strong> was one of my first major turning points. Here, I was introduced to the world of <strong>Open Source Development</strong> — where collaboration and contribution matter more than just lines of code.</p><p>I began small — fixing bugs, writing documentation — but soon, I was:</p><ul><li>💡 Participating in <strong>Hacktoberfest 2024</strong></li><li>🤝 Contributing to <strong>open-source organizations</strong></li><li>🌱 Exploring projects from <strong>Google Summer of Code (GSoC)</strong></li></ul><h3>🚀 Achievements:</h3><ul><li>✅ <strong>1000+ GitHub Contributions</strong></li><li>✅ <strong>40+ Pull Requests Merge</strong></li><li>✅ First taste of real-world impact through code</li></ul><p>Open source helped me grow not just as a developer, but as a <strong>collaborator</strong> and <strong>community learner</strong>.</p><h3>🧠 My DSA Journey</h3><p>Parallel to open source, I started my journey into <strong>Data Structures and Algorithms (DSA)</strong> — a field that forms the core of computer science and competitive programming.</p><p>I began solving problems in <strong>Python</strong>, which helped me focus on logic without worrying too much about syntax. Once comfortable, I transitioned to <strong>C++</strong> to improve performance and learn memory management.</p><h3>🎯 My DSA Stats:</h3><ul><li>🧩 <strong>464+ Questions Solved</strong></li><li>📅 <strong>140 Active Days of Practice</strong></li><li>🔥 <strong>61+ Day Streak (and counting!)</strong></li><li>⚔️ <strong>Ratings</strong>: CodeChef — <em>1188</em>, Codeforces — <em>1156</em>, LeetCode — <em>1471</em></li></ul><p>Through every problem, I learned to think critically, debug calmly, and embrace the joy of solving complex challenges.</p><h3>🏆 Hackathons &amp; Real-World Projects</h3><p>Hackathons were the <strong>playgrounds where I put all my learnings to the test</strong>.</p><h3>📌 Hackathons I Participated In:</h3><ul><li>🔹 <strong>Scratchathon</strong> → Reached <strong>Top 5 Teams</strong></li><li>🔹 <strong>Tekron (24hr Hackathon)</strong> → Again in <strong>Top 5 Teams</strong></li><li>🔹 <strong>Amazon Sambhav Hackathon</strong> → Learned from the experience, even though I wasn’t selected</li></ul><p>These hackathons taught me how to <strong>build under pressure</strong>, work in teams, and think creatively.</p><h3>📌 Hackathons I Helped Organize:</h3><ul><li>🛠️ <strong>Nirmaan</strong> — A web-building hackathon with limited time</li><li>💻 <strong>Quicksnatch</strong> — A creative mix of <strong>CLI-based coding</strong> + <strong>treasure hunt</strong></li></ul><p>Organizing events gave me leadership and community-building experience, helping others grow while learning a lot myself.</p><h3>🌐 Real-World Development</h3><p>I also worked on several real-world and college projects — applying my knowledge of full-stack development, version control, team collaboration, and problem-solving.</p><p>These included:</p><ul><li>Portfolio websites</li><li>Club websites</li><li>Event registration platforms</li><li>Backend systems with Node.js, MongoDB, and Express</li><li>Frontends using React, Tailwind CSS, and Bootstrap</li></ul><p>Each project gave me insight into <strong>how development works outside the classroom</strong> — where deployment, bugs, user feedback, and deadlines matter just as much as clean code.</p><h3>💬 What I Learned in Year One</h3><p>✅ Consistency &gt; Intensity — Progress happens slowly, but it adds up<br> ✅ Failures are part of growth — Rejected pull requests, failed contests, unmerged PRs — all made me better<br> ✅ Give back to grow — Organizing and helping others helped me become more confident<br> ✅ Never stop building — You learn the most when you’re hands-on</p><h3>🎯 What’s Next?</h3><p>My plans for Year 2 and beyond:</p><ul><li>Apply for <strong>GSoC</strong> and <strong>other open-source programs</strong></li><li>Build more <strong>products from scratch</strong></li><li>Dive deeper into <strong>system design</strong>, <strong>DevOps</strong>, and <strong>AI projects</strong></li><li>Mentor others, just like I was guided this year</li></ul><h3>👋 Final Thoughts</h3><p>If you’re starting out your college journey — be <strong>curious</strong>, stay <strong>consistent</strong>, and say <strong>yes</strong> to opportunities. Whether it’s a coding contest, a hackathon, or contributing to GitHub — just start.</p><p>Because that one small step will eventually turn into a journey that shapes you in unexpected ways — just like it did for me.</p><p>Here’s to more learning, more building, and more impact in Year Two. 🚀</p><h3>🙌 Let’s Connect!</h3><p>If you found this post helpful or want to collaborate, feel free to connect:</p><p>🔗 <a href="https://github.com/CodeMaverick-143">GitHub — CodeMaverick-143</a><br> 🔗 <a href="https://www.linkedin.com/in/arpit-sarang-ab0b63320/">LinkedIn — Arpit Sarang</a></p><p>#CollegeLife #DeveloperJourney #OpenSource #DSA #Hackathons #NewtonSchoolOfTechnology #NST #FirstYearReflections #StudentDeveloper #GrowthMindset #TechCommunity</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b90eb85d115d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[1st Semester in Newton School of Technology]]></title>
            <link>https://medium.com/@codemaverick-143/1st-semester-in-newton-school-of-technology-561ded43360a?source=rss-d6cc671065e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/561ded43360a</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[college]]></category>
            <category><![CDATA[newton-school]]></category>
            <category><![CDATA[dsa-courses]]></category>
            <dc:creator><![CDATA[Arpit Sarang]]></dc:creator>
            <pubDate>Mon, 24 Feb 2025 18:28:39 GMT</pubDate>
            <atom:updated>2025-02-24T18:28:39.666Z</atom:updated>
            <content:encoded><![CDATA[<p>Starting my <strong>B.Tech in AI &amp; ML at Newton School of Technology (NST) in 2024</strong>, I embarked on an exciting journey of <strong>web development, competitive programming, open-source contributions, backend development, DevOps, and networking with industry leaders</strong>. Throughout the year, I explored various domains, participated in hackathons, attended tech meetups, and even organized a development event.</p><h3>🖥️ Exploring Frontend &amp; Backend Development</h3><p>In my <strong>first semester</strong>, I started with <strong>frontend development</strong>, learning <strong>HTML, CSS, JavaScript, Tailwind CSS, and Bootstrap</strong>. I worked on several projects, including:<br> ✅ <strong>A personal portfolio website</strong><br> ✅ <strong>A calculator app &amp; a To-Do list app</strong><br> ✅ <strong>NST Software Developer Club website</strong></p><p>Later, I dived into <strong>backend development</strong> with <strong>Node.js, Express.js, and MongoDB</strong>, where I built APIs, managed databases, and explored authentication techniques. I also gained knowledge in <strong>Linux and DevOps</strong>, understanding <strong>server management and deployment strategies</strong>.</p><h3>💻 Competitive Programming &amp; Open Source Contribution</h3><p>Alongside development, I actively participated in <strong>competitive programming</strong>, improving my problem-solving skills and logical thinking. My achievements include:<br> ✅ <strong>4-star rating in Python</strong> (HackerRank)<br> ✅ <strong>1-star rating in C++ &amp; SQL</strong> (HackerRank)<br> ✅ <strong>1K+ rating on CodeChef</strong></p><p>Additionally, I was introduced to <strong>open-source contribution</strong> and participated in <strong>Hacktoberfest</strong>, where I learned about:<br> ✅ <strong>GitHub workflow &amp; version control</strong><br> ✅ <strong>Collaborating on real-world projects</strong><br> 📌 <strong>500+ GitHub contributions</strong>, reflecting my active participation in the open-source community.</p><h3>⚡ Hackathons, Events &amp; Networking</h3><p>I participated in <strong>Scratchthon</strong>, a hackathon where I worked on real-world problem-solving under time constraints. Additionally, I <strong>organized ‘Nirman’</strong>, a development event that brought together aspiring developers to collaborate on projects.</p><p>Attending <strong>DevFest</strong> was a game-changer, where I got the opportunity to <strong>meet tech leaders</strong> and learn about the latest industry trends. I also had insightful <strong>sessions with industry pioneers</strong>, including:<br> ✅ <strong>Siddharth Maheshwari (Founder, Newton School)</strong><br> ✅ <strong>Nishant Chandra (Founder, Newton School)</strong></p><p>These experiences broadened my perspective on <strong>startup culture, career growth, and technological advancements</strong>.</p><h3>🔭 Astronomy &amp; Space Exploration</h3><p>Beyond tech, I explored my curiosity in astronomy with <strong>StellarQuest (Space Club)</strong>, where I participated in a <strong>star observation session</strong> at an observatory, gaining hands-on experience in space science.</p><h3>🎯 What’s Next?</h3><p>As I move forward, my focus will be on:<br> ✅ <strong>Mastering backend development, DevOps &amp; system design</strong><br> ✅ <strong>Exploring Swift &amp; macOS development</strong><br> ✅ <strong>Building real-world projects like a music streaming app, GitHub activity tracker, and AI-based resume generator</strong><br> ✅ <strong>Expanding my open-source contributions &amp; aiming for GSoC participation</strong></p><p>My <strong>first year</strong> has been an incredible journey filled with <strong>learning, challenges, and achievements</strong>. I look forward to pushing my boundaries even further in the coming years! 🚀</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=561ded43360a" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>