<?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 Rohan Unbeg on Medium]]></title>
        <description><![CDATA[Stories by Rohan Unbeg on Medium]]></description>
        <link>https://medium.com/@rohan_unbeg?source=rss-ef46c971e707------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Yyb_SbzVNj--IbvpSD0nxA.jpeg</url>
            <title>Stories by Rohan Unbeg on Medium</title>
            <link>https://medium.com/@rohan_unbeg?source=rss-ef46c971e707------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 20 May 2026 13:47:07 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@rohan_unbeg/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[GSoC 2026 Week 2: Wrapping Up the Community Bonding Period]]></title>
            <link>https://medium.com/@rohan_unbeg/gsoc-2026-week-2-wrapping-up-the-community-bonding-period-7499654cf15a?source=rss-ef46c971e707------2</link>
            <guid isPermaLink="false">https://medium.com/p/7499654cf15a</guid>
            <category><![CDATA[oppia]]></category>
            <category><![CDATA[google-summer-of-code]]></category>
            <category><![CDATA[gsoc]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Rohan Unbeg]]></dc:creator>
            <pubDate>Sun, 17 May 2026 20:06:10 GMT</pubDate>
            <atom:updated>2026-05-17T20:06:10.206Z</atom:updated>
            <content:encoded><![CDATA[<p>We are nearing the end of the Community Bonding Period (CBP). As the official coding phase approaches, my focus this week was on finalizing the remaining documentation for my project design.</p><p>I also had college lab exams in the middle of the week, so I had to balance my time carefully.</p><h3>My Goals for this Week</h3><p>My main objective was to complete all pending design documentation. Before I can officially start writing code, my mentors need to review and approve my project proposal and the Critical User Journeys (CUJs) for the Translation Dashboard. My goal was to clear all remaining mentor comments to request the final approval.</p><h3>What I Accomplished</h3><ul><li><strong>Detailed Task Breakdowns:</strong> Based on feedback from my mentors (Chris and Hasitha), I updated the project timeline to break down all the Milestone 1 and 2 PRs into 1–2 day coding tasks. This makes it easier to track daily progress.</li><li><strong>CUJ Migrations:</strong> I updated the Translation Submitter and Reviewer CUJs to the new “v3” table format (Goal/Steps/Expectations) and submitted them for review on the main Oppia sheet.</li><li><strong>API Request and Response Details:</strong> I documented the exact JSON request and response structures, query parameters, and access controls for all 11 endpoints impacted by my project.</li><li><strong>Review Updates:</strong> I resolved the final round of review comments on the proposal, and it is now waiting for the official approval.</li></ul><h3>What I Learned</h3><p>This week, I realized how important it is to fully plan the API data structures before writing any code. Figuring out exactly how the JSON outputs should look for the frontend helped me understand the logic of the new endpoints much better.</p><h3>What I Struggled With</h3><p>Time management was the main challenge. Having my college lab exams overlap with the final days of the CBP meant I had to plan my schedule carefully. There was some back-and-forth review with my mentors regarding the proposal formatting, but communicating actively in our GChat threads helped resolve things quickly.</p><p>Next up, I am waiting to receive the official sign-off on my proposal. Once that is approved, I am looking forward to officially starting the coding period and working on PR 1.1!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7499654cf15a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[GSoC 2026 Week 1: Kicking Off with Oppia]]></title>
            <link>https://medium.com/@rohan_unbeg/gsoc-2026-week-1-kicking-off-with-oppia-f4ac47efadbc?source=rss-ef46c971e707------2</link>
            <guid isPermaLink="false">https://medium.com/p/f4ac47efadbc</guid>
            <category><![CDATA[google-summer-of-code]]></category>
            <category><![CDATA[oppia-foundation]]></category>
            <category><![CDATA[oppia]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[gsoc]]></category>
            <dc:creator><![CDATA[Rohan Unbeg]]></dc:creator>
            <pubDate>Sun, 10 May 2026 11:31:20 GMT</pubDate>
            <atom:updated>2026-05-10T11:31:20.153Z</atom:updated>
            <content:encoded><![CDATA[<p>When the 18:00 UTC mark hit on April 30th, I didn’t even wait for the email. I went straight to the official GSoC site and refreshed. Seeing “Accepted” next to my name was a massive dopamine spike — the kind of moment you only get after months of grinding on a proposal and code contributions.</p><p>This summer, I’m working on the <strong>Extend translation infrastructure to exploration metadata and skills</strong> project. My focus is on migrating the existing translation backend to a more generic architecture using TranslationOpportunityModel. This will allow Oppia to support translations for Exploration Metadata (like Titles and Objectives) and Skills, which are currently restricted.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K9za_hPumysI4Gixo3eRpQ.jpeg" /></figure><h3>Getting Settled</h3><p>The first few days of the Community Bonding Period (CBP) were quite a shift. I was getting bombarded with emails from Oppia — mailing list invites, the CBP guide, action items, and technical onboarding docs. It felt like a lot to keep track of at first, but after a week of setting up my workflow and attending the Contributor Briefing, it’s all starting to feel like the new normal.</p><h3>My Goals for this Week</h3><p>With my college exams starting next week, my main goal was to front-load the administrative setup. I wanted to finalize my meeting schedule with my mentors, get my pre-launch documentation sorted, and move my project proposal toward its final “Greenlight.”</p><h3>What I Accomplished</h3><ul><li>I had my first sync with my mentor, Hasitha, and we’ve locked in a recurring schedule (Tuesdays and Fridays at 8:30 AM IST). I also attended the meeting with past GSoC contributors, which gave me some solid pointers on how to manage multiple parallel PRs effectively.</li><li>I completed the M1 and M2 Pre-Launch review docs and three distinct Release Job Instructions (for Tasks 1.9, 1.10, and 2.6). These follow the official Oppia format for server-side migrations.</li><li>I’ve already drafted PR 1.1 (#<a href="https://github.com/oppia/oppia/pull/26083">26083</a>), which implements the storage-layer query methods and aligns the necessary enums.</li><li>I opened the mandatory launch checklist issue (<a href="https://github.com/oppia/product-operations-team/issues/59">#59</a>) to track our production readiness.</li></ul><h3>What I Learned</h3><p>I spent a lot of time this week doing a technical deep dive into core/storage models. Understanding how the legacy ExplorationOpportunitySummaryModel interacts with the dashboard was key to mapping out the migration path for the new generic infrastructure. It’s one thing to read about it in a proposal, and another to trace the data flow through the actual controllers.</p><h3>What I Struggled With</h3><p>The main challenge this week was just the sheer volume of things to do. Getting all the administrative compliance items out of the way — like the developer readiness checks (recording test timings and capturing error screenshots) and the server job docs — meant a lot of context switching while I was also trying to dive into the codebase.</p><p>With the first PR drafted and the planning finalized, I’m in a good spot to focus on my exams while keeping the momentum going for Task 1.2 next week!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f4ac47efadbc" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>