<?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: Harkeerat Singh</title>
    <description>The latest articles on DEV Community by Harkeerat Singh (@harkeerat24).</description>
    <link>https://dev.to/harkeerat24</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3949369%2F0f8acbdb-2239-4486-b128-77aa683c53de.png</url>
      <title>DEV Community: Harkeerat Singh</title>
      <link>https://dev.to/harkeerat24</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harkeerat24"/>
    <language>en</language>
    <item>
      <title>GSoC 2026 - Week 7</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Sat, 11 Jul 2026 19:34:50 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc-2026-week-7-1i84</link>
      <guid>https://dev.to/harkeerat24/gsoc-2026-week-7-1i84</guid>
      <description>&lt;p&gt;Week 7 of my Google Summer of Code journey with CircuitVerse &lt;strong&gt;(July 6th to July 12th)&lt;/strong&gt; is officially done.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔌 Building the End-to-End Pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The first order of business was &lt;strong&gt;updating importCanonical.ts to stay perfectly in sync with our finalized canonical.ts&lt;/strong&gt;. Once the core code layers matched up, the simulator was officially able to take our deterministic JSON and &lt;strong&gt;completely rebuild the digital circuits from scratch.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;The Ultimate Developer Satisfaction:&lt;/strong&gt; There is genuinely nothing quite like exporting a complex circuit layout, deleting it, and watching the import engine reconstruct it onto the canvas flawlessly.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🖥️ Wireframing the New Export &amp;amp; Import UI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Because my &lt;strong&gt;official GSoC Midterm Evaluation lands next week&lt;/strong&gt;, I wanted to get the remaining features pushed early so my mentors had plenty of time to review it. &lt;strong&gt;My main task became hooking up the engine to the real CircuitVerse frontend.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On the import side&lt;/strong&gt;, I configured the workflow to accept the new deterministic canonical structure, dropping support for the legacy layout parsing. I also added a safety transaction backup: if a canvas import crashes or fails for any reason, the system automatically rolls back, preserving the user's existing work instead of wiping the canvas clean.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On the export side&lt;/strong&gt;, I tied the "Export as File" actions directly to canonical.ts to output perfect .cv files. To make the feature developer-friendly, I added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📜 A &lt;strong&gt;live JSON preview panel&lt;/strong&gt; powered by CodeMirror.&lt;/li&gt;
&lt;li&gt;📋 A &lt;strong&gt;Copy to Clipboard&lt;/strong&gt; utility button.&lt;/li&gt;
&lt;li&gt;💾 A &lt;strong&gt;Download Circuit&lt;/strong&gt; action trigger.&lt;/li&gt;
&lt;/ul&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flu0bytxqd455mluln6dc.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flu0bytxqd455mluln6dc.png" alt="Export UI" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🚀 Pushing the Pull Requests &amp;amp; Demo Time&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once the UI layers were polished, I &lt;strong&gt;opened up two new Pull Requests&lt;/strong&gt;—one for the import pipeline and another covering the newly minted UI views. &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🧠 Brainstorming Determinism with Aboo&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;During the sync meeting, my mentor Aboo and I had an interesting design &lt;strong&gt;discussion regarding a potential edge case that could break component determinism.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We discussed an &lt;strong&gt;alternative strategy&lt;/strong&gt; that changes how components are tracked and saved internally. Right now, it's just an initial architectural discussion, so &lt;strong&gt;I’m going to hold off&lt;/strong&gt; on writing code until the rest of the mentoring group weighs in. We'll likely dive deeper into this next week!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;📺 Demo Day&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I also got to showcase my progress during our weekly CircuitVerse GSoC Contributors' Meeting! Giving a &lt;strong&gt;live demonstration of the full export-to-import&lt;/strong&gt; loop running seamlessly inside the active simulator environment was a proud moment, and the &lt;strong&gt;feedback from the community was incredibly warm and positive.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔮 Looking Ahead: Midterm Evaluations!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;With Week 7 officially wrapped, I am incredibly proud to say that the &lt;strong&gt;majority (arguably the most challenging) parts&lt;/strong&gt; of my GSoC roadmap are finished.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next week is the big one: Midterm Evaluations!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Wish me luck, and see you all in Week 8! ⚡💻&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GSoC 2026 - Week 6</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Sat, 11 Jul 2026 19:13:20 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc-2026-week-6-50d</link>
      <guid>https://dev.to/harkeerat24/gsoc-2026-week-6-50d</guid>
      <description>&lt;p&gt;Week 6 of my Google Summer of Code journey with CircuitVerse (&lt;strong&gt;June 29th to July 5th&lt;/strong&gt;) was arguably the &lt;strong&gt;most rewarding week&lt;/strong&gt; of the summer so far.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🧠 The Power of Elite Code Review&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This week, all my &lt;strong&gt;mentors dropped reviews&lt;/strong&gt; on my initial three pull requests. It was the first time I’ve ever experienced code review at this level of depth, and honestly, &lt;strong&gt;I learned a lot from the reviews&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;My mentors caught edge cases I hadn’t even considered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚡ &lt;strong&gt;A brilliant architectural idea&lt;/strong&gt;: Caching the canonical hashes. Instead of recomputing the heavy Weisfeiler-Leman structure and SHA-256 hash every single time a project saves, we can cache the hash of circuits that haven't changed and reuse them.&lt;/li&gt;
&lt;li&gt;💡 This &lt;strong&gt;caching suggestion&lt;/strong&gt; completely shifted how I view the project's performance. It opens the door to fast saving pipelines! We decided to slate this optimisation for a dedicated upcoming PR.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🥞 CircuitVerse GSoC contributors' meeting&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;During our weekly CircuitVerse GSoC contributors' meeting, I shared my progress but also raised a genuine concern: since almost all of my &lt;strong&gt;upcoming PR's relies on my initial pull requests being merged&lt;/strong&gt;, waiting for slow code reviews was starting to bottleneck my timeline.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My mentor, Aboo, dropped an absolute game-changer of a suggestion: &lt;strong&gt;Stacked PRs.&lt;/strong&gt; If you want to know more about it, you can read &lt;a href="https://newsletter.pragmaticengineer.com/p/stacked-diffs" rel="noopener noreferrer"&gt;https://newsletter.pragmaticengineer.com/p/stacked-diffs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;⏳ Timeline Extensions &amp;amp; Midterms&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My mentors decided to &lt;strong&gt;extend my project timeline by two weeks! 🗓️&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It gives us plenty of room to run thorough testing, edge-case debugging, and performance polishing. Because of this timeline adjustment, my official &lt;strong&gt;GSoC midterm evaluation has also shifted by a week&lt;/strong&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🥳 FINALLY... IT MERGED!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There couldn’t have been a better way to close out the week. On the very last day, I opened GitHub and saw the glorious notification: &lt;strong&gt;My first pull request as a GSoC contributor was officially merged into main! 😭🎉&lt;/strong&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi1o7dks2ytspc9ly12go.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi1o7dks2ytspc9ly12go.png" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PR &lt;a href="https://github.com/CircuitVerse/cv-frontend-vue/pull/1095" rel="noopener noreferrer"&gt;https://github.com/CircuitVerse/cv-frontend-vue/pull/1095&lt;/a&gt; MERGED!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔮 Looking Ahead to Week 7&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I am riding a &lt;strong&gt;massive wave of motivation right now&lt;/strong&gt;. Thank you to my mentors for the incredible guidance this week. &lt;/p&gt;

&lt;p&gt;Let’s keep this momentum rolling! ⚡💻&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>learning</category>
      <category>opensource</category>
      <category>performance</category>
    </item>
    <item>
      <title>GSoC 2026 - Week 5</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Sat, 11 Jul 2026 18:53:27 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc-2026-week-5-29hd</link>
      <guid>https://dev.to/harkeerat24/gsoc-2026-week-5-29hd</guid>
      <description>&lt;p&gt;Week 5 of my Google Summer of Code journey with CircuitVerse (&lt;strong&gt;June 22nd to June 28th&lt;/strong&gt;) is officially in the books.&lt;/p&gt;

&lt;p&gt;After dealing with a rough sickness last week, I’m happy to say &lt;strong&gt;this week was incredibly positive&lt;/strong&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔄 Reconnecting with the Community&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Since I had to miss last week's sync because I was under the weather, I had to attend the CircuitVerse GSoC Contributors' Meeting this week. It felt so good to &lt;strong&gt;reconnect with everyone&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;I shared the progress I'd managed to scrape together over the last couple of weeks, and the &lt;strong&gt;mentors were incredibly understanding&lt;/strong&gt; and kind about my slower pace due to being sick. &lt;strong&gt;The CircuitVerse community is genuinely unmatched!&lt;/strong&gt; Everyone is so encouraging, and having that layer of support makes a world of difference.&lt;/p&gt;

&lt;p&gt;It was also super motivating to hear what the other contributors have been up to. Seeing how much progress everyone has made gave me a massive burst of inspiration to jump right back into development!&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🛠️ importCanonical.ts is Completed!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once the meeting was over, I officially &lt;strong&gt;finished implementing the entire import pipeline in importCanonical.ts! 🥳&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This file does the heavy lifting of taking our clean, deterministic canonical JSON and &lt;strong&gt;reconstructing the circuit&lt;/strong&gt; right back onto the user's canvas. Here is what's packed inside:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔀 Full Multi-Circuit Support:&lt;/strong&gt; The import pipeline seamlessly handles projects containing multiple individual circuits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📐 Smart Subcircuit Dependency Resolution:&lt;/strong&gt; Just like the export pipeline, the import engine now uses &lt;strong&gt;Kahn's Algorithm&lt;/strong&gt; to figure out the exact sequence the circuits need to be loaded in so that nested dependencies never break.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🛑 What's Missing? (For Now):&lt;/strong&gt; The import pipeline &lt;strong&gt;doesn't validate the incoming JSON file&lt;/strong&gt;. I am waiting until the canonical format is finalised. Once that's locked in, I will add JSON schema validation in the file.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🚀 The PR Status&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;On the GitHub side of things, the &lt;strong&gt;three foundational Pull Requests&lt;/strong&gt; I opened earlier are &lt;strong&gt;still actively under review&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One of my mentors gave them a look this week and left some &lt;strong&gt;excellent feedback&lt;/strong&gt;. I spent a good chunk of time addressing all the requested changes and polishing the code. Now, I’m just &lt;strong&gt;waiting for another round of reviews&lt;/strong&gt; and final green lights from the rest of the mentoring team.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Because my new import pipeline relies entirely on the foundational changes I introduced in canonical.ts, I haven't opened a fresh PR for the import code just yet. I’m keeping it local for now and will raise the PR the second those core building blocks get merged into main!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔮 Final Reflections &amp;amp; Looking Ahead to Week 6&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;All in all, Week 5 was exactly what I needed. &lt;strong&gt;It felt amazing to get back into a solid development&lt;/strong&gt; groove, receive highly detailed feedback on my work, and keep the momentum moving forward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Let's see what Week 6 brings! ⚡💻&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>community</category>
      <category>devjournal</category>
      <category>opensource</category>
    </item>
    <item>
      <title>GSoC 2026 – Week 4</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Mon, 22 Jun 2026 19:07:54 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc-2026-week-4-2p33</link>
      <guid>https://dev.to/harkeerat24/gsoc-2026-week-4-2p33</guid>
      <description>&lt;p&gt;&lt;strong&gt;Week 4&lt;/strong&gt; of my Google Summer of Code journey (&lt;strong&gt;June 15th to June 21st&lt;/strong&gt;)!&lt;/p&gt;

&lt;p&gt;If I’m being completely honest, this week didn’t exactly go according to plan. &lt;strong&gt;I was not feeling well this week&lt;/strong&gt;. Because of that, my main focus had to shift from coding to resting up and recovering.&lt;/p&gt;

&lt;p&gt;Even though it was a slower week, I still managed to get some work done.&lt;/p&gt;

&lt;p&gt;My main goals for this week were to &lt;strong&gt;write importCanonical.ts&lt;/strong&gt; and set up a &lt;strong&gt;JSON Schema.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;import file is super important&lt;/strong&gt; because it takes the clean, hashed canonical JSON we built in the last few weeks and &lt;strong&gt;actually reconstructs the digital circuits back onto the screen.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Despite feeling sick, I managed to &lt;strong&gt;complete most of importCanonical.ts&lt;/strong&gt;! The core logic is written, and there are only a few small pieces left to polish.&lt;/p&gt;

&lt;p&gt;Because I was running on low energy, I talked things over with my mentors. We agreed to &lt;strong&gt;push the JSON Schema work to next week&lt;/strong&gt;. I’ll be combining the leftover tasks with my Week 5 goals, and I'm confident I can catch up!&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;(Due to my health, I also had to skip our weekly GSoC contributors' meeting this time around!)&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🎉 The Blockade is Cleared&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Remember that annoying upstream &lt;strong&gt;bug in the V1 version&lt;/strong&gt; of CircuitVerse I mentioned in my previous updates? The one that was stopping me from submitting my code?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;It finally got fixed by the maintainers! 🥳&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As soon as the repository patch went live, I cleaned up my branches and &lt;strong&gt;opened the Pull Requests (PRs) for all the work I completed over the last few weeks.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The PRs are now sitting with my &lt;strong&gt;mentors for review&lt;/strong&gt;, and I’m looking forward to getting their feedback, tweaking things based on their notes, and getting everything merged.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;Time to bounce back stronger for Week 5—let's get it! 🚀🔥&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>coding</category>
      <category>devjournal</category>
      <category>opensource</category>
      <category>typescript</category>
    </item>
    <item>
      <title>GSoC'26: Week 3</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Mon, 15 Jun 2026 19:32:45 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc26-week-3-b1a</link>
      <guid>https://dev.to/harkeerat24/gsoc26-week-3-b1a</guid>
      <description>&lt;p&gt;&lt;strong&gt;Week 3&lt;/strong&gt; of my Google Summer of Code 2026 coding period at CircuitVerse lasted from &lt;strong&gt;June 8th to June 14th&lt;/strong&gt;. This was a productive week! Let's break down exactly what went down! 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🏗️ Mastering Subcircuits with Topological Sorting&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My primary goal this week was to implement &lt;strong&gt;subcircuit support&lt;/strong&gt; in the canonical.ts file, which I successfully implemented!&lt;/p&gt;

&lt;p&gt;For example, if Circuit B uses Circuit A as a nested subcircuit component, Circuit A must be processed and loaded before Circuit B.&lt;/p&gt;

&lt;p&gt;To handle these nested dependencies deterministically, I introduced two key system updates:&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Kahn’s Algorithm for Topological Sorting&lt;/strong&gt;&lt;br&gt;
I implemented Kahn’s Algorithm to evaluate the &lt;strong&gt;structural dependency graph&lt;/strong&gt;. It calculates the incoming degrees of each circuit layout, processing zero-dependency blocks first to construct a perfectly ordered, linear topological array.&lt;/p&gt;

&lt;p&gt;If you want to know more about the Khan's Algorithm, you can explore &lt;a href="https://www.geeksforgeeks.org/dsa/topological-sorting-indegree-based-solution/" rel="noopener noreferrer"&gt;https://www.geeksforgeeks.org/dsa/topological-sorting-indegree-based-solution/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Circular Dependency Detection&lt;/strong&gt;&lt;br&gt;
What happens if a user accidentally makes Circuit A depend on Circuit B, while Circuit B simultaneously loops back to depend on Circuit A? Khan's algorithm made it very easy to detect these cycles!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I had &lt;strong&gt;studied&lt;/strong&gt; and experimented with topological graph sort algorithms during college, which made writing code for this week &lt;strong&gt;fun and interesting&lt;/strong&gt;!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;The canonical.ts can now generate deterministic canonical JSON for any valid layout. I could not be happier with the progress!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;📺 Demo Day&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This week I had my &lt;strong&gt;first Demo Day!&lt;/strong&gt; 💡&lt;/p&gt;

&lt;p&gt;This was a live session where &lt;strong&gt;all CircuitVerse GSoC contributors&lt;/strong&gt; stepped up to present their feature updates. I ran a live demo on the console by running the canonical.ts file, which generated the deterministic JSON successfully!&lt;/p&gt;

&lt;p&gt;It was incredibly rewarding to receive positive feedback from the team, and equally amazing to witness the progress being made by the other contributors.&lt;/p&gt;

&lt;p&gt;You can see the JSON in the image:&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%2F99lkgp4zminh0aeygv34.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%2F99lkgp4zminh0aeygv34.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🏀 Off-Duty: The Craziest Finals Games in NBA History!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you've been reading my updates, you know I’ve been completely locked into the &lt;strong&gt;2026 NBA Finals&lt;/strong&gt; matchup between the Knicks and the Spurs. This past week brought us three more games, and calling them "entertaining" is a massive understatement!🍿&lt;/p&gt;

&lt;p&gt;The headline story of the week has to be &lt;strong&gt;Game 4&lt;/strong&gt;. The &lt;strong&gt;Knicks were down by a mind-boggling 29 points&lt;/strong&gt; in the first half. What followed was absolute cinema. They launched a historic second-half comeback to scratch all the way back and &lt;strong&gt;win it 107-106&lt;/strong&gt;, marking the &lt;strong&gt;largest comeback victory in NBA Finals history! 🤯&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With yet another signature double-digit comeback under their belts in Game 5, &lt;strong&gt;Jalen Brunson dropped a masterclass 45 points&lt;/strong&gt; to lead the Knicks to a &lt;strong&gt;94-90 victory&lt;/strong&gt;, ending a legendary 53-year championship drought to &lt;strong&gt;win the title 4-1!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The momentum is real, and I'm incredibly excited to keep pushing forward. Catch you next week! ⚡💻&lt;/em&gt;&lt;/p&gt;




</description>
    </item>
    <item>
      <title>GSoC'26: Week 2</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Fri, 12 Jun 2026 20:18:20 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc26-week-2-177</link>
      <guid>https://dev.to/harkeerat24/gsoc26-week-2-177</guid>
      <description>&lt;p&gt;The second week of my Google Summer of Code 2026 coding period at CircuitVerse (&lt;strong&gt;June 1st to June 7th&lt;/strong&gt;) is officially in the books. This week was all about &lt;strong&gt;scaling up architectural ideas&lt;/strong&gt; and &lt;strong&gt;having some unexpected fun&lt;/strong&gt; during community hangouts.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🏗️ Scaling to Multi-Circuit Support&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This week, my main technical focus shifted toward implementing &lt;strong&gt;multi-circuit support&lt;/strong&gt; for our canonical JSON format. The core goal here is to ensure that the canonical representation remains completely &lt;strong&gt;deterministic even for complex projects containing multiple individual circuits&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🟢 The majority of the implementation was straightforward and easy&lt;/li&gt;
&lt;li&gt;🧠 Now, only the &lt;strong&gt;subcircuit dependency part&lt;/strong&gt; is left! It’s a beautifully complex problem that involves handling nested circuit hierarchies.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⏳** Navigating a Minor Pull Request Blocker**
&lt;/h2&gt;

&lt;p&gt;While the code is running great locally (in V0), I wasn't able to officially open a Pull Request in the V1 version this week.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;The Reason:&lt;/strong&gt; We ran into a few underlying issues with the V1 version of the system. I am currently waiting for the core maintainers to patch those upstream issues so the environment is stable. Once that’s cleared up, the PR is going straight up for review! 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🤝 GSoC Student Meeting&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I also attended our regular &lt;strong&gt;weekly GSoC student meeting&lt;/strong&gt;. It was a great space to &lt;strong&gt;share my progress&lt;/strong&gt; on the multi-circuit framework and see the incredible work the other contributors are pulling off.&lt;/p&gt;

&lt;p&gt;But the absolute highlight happened &lt;em&gt;after&lt;/em&gt; the official meeting wrapped up!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;☕ Some of the mentors stuck around, and we ended up having an amazing, casual conversation. We talked about what everyone has been up to, shared personal stories, and walked away with some incredibly unique insights.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Honestly, I never thought meetings could be &lt;strong&gt;&lt;em&gt;this&lt;/em&gt; much fun&lt;/strong&gt;! The culture here is genuinely unmatched. 🩵&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🏀 Off-Duty: NBA Finals!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;2026 NBA Finals&lt;/strong&gt; are finally here, and it's a wild matchup between the &lt;strong&gt;New York Knicks&lt;/strong&gt; and the &lt;strong&gt;San Antonio Spurs!&lt;/strong&gt; 🤯&lt;/p&gt;

&lt;p&gt;As a basketball fan, the Finals are always the best time of the year. The first two games are already over, and the &lt;strong&gt;Knicks have taken a quick 2-0 lead!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Will the Spurs pull off a massive comeback, or are the Knicks going to run away with this? &lt;strong&gt;Let’s see what happens next! 🍿&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🔮 Final Reflections &amp;amp; Looking Ahead&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Week 2 was fantastic, let's see what the next week brings! Week 3 is going to be all about handling subcircuit hierarchies.🚀&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>devjournal</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>GSoC'26: Week 1</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Fri, 05 Jun 2026 21:01:21 +0000</pubDate>
      <link>https://dev.to/harkeerat24/gsoc26-week-1-gkd</link>
      <guid>https://dev.to/harkeerat24/gsoc26-week-1-gkd</guid>
      <description>&lt;p&gt;The &lt;strong&gt;first week&lt;/strong&gt; of my Google Summer of Code 2026 coding period at CircuitVerse ran from &lt;strong&gt;May 25th to May 31st&lt;/strong&gt;. It turned out to be an exciting mix of core development work, community activities, deep learning, and even a little bit of friendly competition!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🛠️ Getting Started on the Project&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After the intense discussions and planning sessions during the Community Bonding Period, I spent this week implementing many of the structural changes that had been finalised with my mentors.&lt;/p&gt;

&lt;p&gt;One of the key pillars of my project is generating a deterministic canonical JSON representation of digital circuits. During my initial proof-of-concept phase, I had implemented the core logic in a raw canonical.js file. However, after diving deep into the architectural standards of the project, we decided that the implementation should be &lt;strong&gt;migrated to TypeScript&lt;/strong&gt; to ensure long-term maintainability and codebase alignment.&lt;/p&gt;

&lt;p&gt;As a result, I completely rewrote the implementation in &lt;strong&gt;canonical.ts&lt;/strong&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🧬 Building the Canonicalization Pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Beyond simply migrating the codebase, I worked extensively on implementing the main pipeline responsible for generating the canonical JSON output.&lt;/p&gt;

&lt;p&gt;This involved integrating the &lt;strong&gt;1-Dimensional Weisfeiler-Leman (1-WL)&lt;/strong&gt; graph algorithm into our component sorting pipeline. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🏆 CircuitVerse Repository Cleanup Contest&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Project work wasn't the only exciting part of the week! CircuitVerse organised a Repository Cleanup Contest, which was &lt;strong&gt;MERGATHONE&lt;/strong&gt;, where contributors competed to close as many issues and pull requests as possible across the entire GitHub ecosystem.&lt;/p&gt;

&lt;p&gt;I'm incredibly happy to share that my team secured &lt;strong&gt;1st place! 🎉&lt;/strong&gt;&lt;br&gt;
The contest was both highly productive and fun. As a bonus, we'll also be receiving exclusive &lt;strong&gt;CircuitVerse T-shirts&lt;/strong&gt; later this month! 👕&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🤝 GSoC Contributors Meetup&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We also held our official &lt;strong&gt;CircuitVerse GSoC 2026 contributors meetup&lt;/strong&gt; during the week. Each contributor shared updates about their ongoing work and talked about their progress.&lt;/p&gt;

&lt;p&gt;One thing I really appreciate about the CircuitVerse community is how &lt;strong&gt;welcoming and relaxed everyone is&lt;/strong&gt;. The meetings are highly productive while still maintaining a warm, friendly atmosphere, making it easy to engage in deep technical discussions.&lt;/p&gt;

&lt;p&gt;There was even a &lt;strong&gt;hilarious&lt;/strong&gt; moment during the meetup when contributors started guessing the &lt;strong&gt;age&lt;/strong&gt; of one of the &lt;strong&gt;organisation admins&lt;/strong&gt; (Aboo Bhaiyaa) before he joined the call. Somehow, I managed to &lt;strong&gt;guess it exactly right&lt;/strong&gt;, which felt like a small but &lt;strong&gt;satisfying victory&lt;/strong&gt;! 😄&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🔮 Reflections &amp;amp; What's Next&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Looking back, this first week had a little bit of everything:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📈 Significant progress on my core GSoC project&lt;br&gt;
🔄 Migration of core architecture from JavaScript to TypeScript&lt;br&gt;
🧠 Implementation of key topological canonicalization algorithms (1-WL)&lt;br&gt;
🥇 A successful (and victorious!) repository cleanup contest&lt;br&gt;
🌐 Awesome community interactions and contributor meetups&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm excited to continue building on this progress in the coming weeks and look forward to sharing more updates as the summer progresses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Excited for Week 2! 🚀🔥&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>google</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>From a Student Who Used CircuitVerse to a GSoC Contributor — My Community Bonding Story</title>
      <dc:creator>Harkeerat Singh</dc:creator>
      <pubDate>Sun, 24 May 2026 18:09:06 +0000</pubDate>
      <link>https://dev.to/harkeerat24/from-a-student-who-used-circuitverse-to-a-gsoc-contributor-my-community-bonding-story-43ie</link>
      <guid>https://dev.to/harkeerat24/from-a-student-who-used-circuitverse-to-a-gsoc-contributor-my-community-bonding-story-43ie</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;📍 Where It All Started&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In &lt;strong&gt;January 2026&lt;/strong&gt;, I was browsing through GSoC organisations, shortlisting ones that matched my interests in computer science. Then I came across &lt;strong&gt;CircuitVerse&lt;/strong&gt; — and it wasn't a new name to me at all.&lt;/p&gt;

&lt;p&gt;A year before, I was struggling with my &lt;strong&gt;Digital and Logic Design course&lt;/strong&gt;. Sequential circuits felt abstract until I started building them on CircuitVerse. Being able to see a D flip-flop hold state, or watch a 3-bit counter tick through its sequence in real time, made concepts click in a way no textbook had managed. CircuitVerse genuinely helped me get there.&lt;/p&gt;

&lt;p&gt;So seeing it listed as a GSoC organisation felt personal. This was a chance to give something back to the platform that had helped me. I decided to start contributing.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;💻 February — Getting Into the Codebase&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I started with &lt;strong&gt;beginner-friendly issues&lt;/strong&gt; in &lt;strong&gt;February&lt;/strong&gt;, exploring both the Vue frontend and the main Rails repository. My first contributions were small but impactful:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔤 Fixing typos&lt;br&gt;
⌨️ Improving keyboard accessibility for the header dropdowns&lt;br&gt;
🔍 Making the search icon focusable&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Nothing glamorous&lt;/strong&gt;, but it taught me how the codebase was structured and how the contribution process worked.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;📝 The Proposal — Late Nights and Midterms&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Of all the projects listed on the idea list, one stood out: &lt;strong&gt;Structured Format for Saved Circuit Data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The problem was &lt;strong&gt;"elegant"&lt;/strong&gt; and &lt;strong&gt;"genuinely hard"&lt;/strong&gt;. Currently, two logically identical circuits saved in different orders produce completely different files. The goal was to build a canonical, deterministic format that produces identical output for any two logically equivalent circuits.&lt;/p&gt;

&lt;p&gt;I decided to build a &lt;strong&gt;Proof of Concept&lt;/strong&gt; before writing a single word of the proposal and recorded a &lt;strong&gt;demo&lt;/strong&gt; showing matching hashes on import and export. &lt;/p&gt;

&lt;p&gt;And then I wrote the proposal. I will be honest, that was the least interesting part of all. But somehow I was doing all of this while preparing for my midterms.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;FINALLY, on &lt;strong&gt;March 30th 07:49 PM&lt;/strong&gt; , I submitted the proposal! &lt;strong&gt;Late — but worth it!&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;⏳ April — The Wait and the Interview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After submitting, I checked Slack every single day. Every morning, first thing. Waiting to see if a mentor had messaged me for an interview. A few days of silence, and I started &lt;strong&gt;second-guessing everything&lt;/strong&gt;. These were really stressful weeks.&lt;/p&gt;

&lt;p&gt;Then on &lt;strong&gt;April 14th&lt;/strong&gt;, the message came. I said yes without a second thought. I prepared for the interview. The mentors asked sharp, thoughtful questions — some I answered well, some made me realise there were corners of the project I needed to think through more carefully. It was a good kind of difficult.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🎉 April 30th, 2026 | 11:33 PM&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I opened the GSoC dashboard. &lt;strong&gt;My project was live.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I sat there for a moment just staring at the screen. A year of using the platform, two months of contributing, late nights on the proposal, the interview — it had all landed.&lt;/p&gt;

&lt;p&gt;The next morning, I woke up and genuinely thought &lt;strong&gt;I had dreamed it&lt;/strong&gt;. I checked the dashboard again just to be sure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It was real.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🤝 The Community Bonding Period&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;May 2nd — Organization Meeting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The community bonding period kicked off with an organisation-wide meeting. We met mentors, fellow GSoC contributors, and the people behind other projects. It was &lt;strong&gt;relaxed, warm, and genuinely fun&lt;/strong&gt; — less like a formal meeting and more like a friendly group hangout.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;May 9th — Project Kickoff&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My project-specific meeting was with my mentors &lt;strong&gt;Aboobacker, JoshVarga, Arnabdaz, Aryann&lt;/strong&gt;. We went through the timeline, discussed the algorithm design in depth, and aligned on how the canonical format should handle edge.&lt;/p&gt;

&lt;p&gt;The meeting was fun, and I learned many new things and got very useful insights.&lt;/p&gt;

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

&lt;p&gt;The coding period begins &lt;strong&gt;May 25th.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The community bonding period has been everything I hoped — technically productive, genuinely warm, and motivating. &lt;/p&gt;

&lt;p&gt;I'm grateful to my mentors for the opportunity and for the quality of feedback they've already given.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Let's see what the coding period brings. Very excited! 🔥&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>circuitverse</category>
      <category>opensource</category>
      <category>devjournal</category>
    </item>
  </channel>
</rss>
