<?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.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'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>
