<?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: Swapnadeep</title>
    <description>The latest articles on DEV Community by Swapnadeep (@meswapnadeeppal).</description>
    <link>https://dev.to/meswapnadeeppal</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%2F3956961%2F6f94edd7-fe5a-4261-9605-63c3347e309f.jpg</url>
      <title>DEV Community: Swapnadeep</title>
      <link>https://dev.to/meswapnadeeppal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/meswapnadeeppal"/>
    <language>en</language>
    <item>
      <title>Finishing SynthwaveOS: My Browser-Based OS Portfolio</title>
      <dc:creator>Swapnadeep</dc:creator>
      <pubDate>Tue, 02 Jun 2026 17:10:07 +0000</pubDate>
      <link>https://dev.to/meswapnadeeppal/finishing-synthwaveos-my-browser-based-os-portfolio-b1h</link>
      <guid>https://dev.to/meswapnadeeppal/finishing-synthwaveos-my-browser-based-os-portfolio-b1h</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built SynthwaveOS, a high-performance, framework-free digital operating system that runs directly in the browser and serves as my interactive professional portfolio.&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%2F8vv3ksb80amnifvj6huz.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%2F8vv3ksb80amnifvj6huz.png" alt=" " width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In an ecosystem crowded with bloated templates and drag-and-drop builders, I wanted to build something that proved my grasp of native web engineering. I completely abandoned heavy frontend frameworks like React and Vue in favor of pure Vanilla JavaScript, HTML5, and CSS3. The result is a lightweight, lightning-fast digital environment with a draggable window manager, a custom virtual file system, and a fully functional Linux-style terminal console. I engineered all of this from scratch to demonstrate deep DOM manipulation and effective user-centered design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🚀 Initiate Uplink: &lt;a href="https://swapnadeep.cloud/" rel="noopener noreferrer"&gt;swapnadeep.cloud&lt;/a&gt;&lt;br&gt;
💻 Source Code: &lt;a href="https://github.com/meswapnadeeppal/meswapnadeeppal.github.io" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/NCIMX4LAdH0"&gt;
  &lt;/iframe&gt;
&lt;br&gt;
Key Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Draggable GUI: Dynamic resizing and active-window Z-index layering built natively.&lt;/li&gt;
&lt;li&gt;Interactive Terminal: A custom command-line interface supporting commands like ls, cat, and neofetch.&lt;/li&gt;
&lt;li&gt;Multimodal AI Integrations: Built-in "Neural Vision" and "Text Forge" apps powered by serverless backend logic.&lt;/li&gt;
&lt;li&gt;Personalization Engine: Real-time aesthetic overrides, including a custom CRT scanline retro monitor filter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;The creation of SynthwaveOS began with grand ambitions for replicating a desktop interface, but I soon ran into several architectural obstacles that derailed the process.&lt;br&gt;
For one thing, the complicated z-index calculations were a major pain point; dragging an active window would result in it randomly moving behind inactive windows. Second, I had the difficult situation of trying to overcome X-Frame-Options' cross-origin restrictions, which meant that other projects could not be rendered through the OS's executable App Runner.&lt;br&gt;
In order to overcome the last obstacle of this challenge, I took stock of the necessary steps and found a way past them. I managed to solve the problem of layering through the use of a global topZIndex counter incremented every time I created a new window purely by mousedown. In addition, I rebuilt my application architecture to run locally hosted payloads and avoid any iframe issues.&lt;br&gt;
Lastly, as an extra touch to the user experience, I updated my "Transmission" contact app's HTML structure to allow multiple checkbox selection instead of the more limited radio button.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;My approach to AI on this project is a bit different. I actually turn off autocomplete and inline code suggestions in VS Code. Building a complex window manager and event system from scratch means I need to understand the core logic myself. I want to write the code, not just hit tab to accept it.&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%2F4edw9jtxyunmjup7y8ch.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%2F4edw9jtxyunmjup7y8ch.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But I definitely do not work alone. When it comes to utilizing an AI assistant for my project, I do it exactly how I would collaborate with a competent developer friend. Rather than asking for a solution for the code that works right away, I upload my files to make sure that my AI assistant fully comprehends my architecture. That way we can address the problem together.&lt;br&gt;
Disabling autocomplete ensures that I design and comprehend every piece of DOM manipulation in my project. However, having an AI assistant around to discuss my architecture with helps me overcome difficulties.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
