<?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: RinWah</title>
    <description>The latest articles on DEV Community by RinWah (@rinwah).</description>
    <link>https://dev.to/rinwah</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%2F3837254%2F1efa7513-f1fb-4125-903a-9958f23a6633.jpg</url>
      <title>DEV Community: RinWah</title>
      <link>https://dev.to/rinwah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rinwah"/>
    <language>en</language>
    <item>
      <title>how i built lifeagent: an approval-gated routine manager on trueforge</title>
      <dc:creator>RinWah</dc:creator>
      <pubDate>Sat, 29 Aug 2026 15:03:55 +0000</pubDate>
      <link>https://dev.to/rinwah/how-i-built-lifeagent-an-approval-gated-routine-manager-on-trueforge-9gm</link>
      <guid>https://dev.to/rinwah/how-i-built-lifeagent-an-approval-gated-routine-manager-on-trueforge-9gm</guid>
      <description>&lt;p&gt;i always forget my medications, miss calendar events, and always forget about doing my laundry. i built lifeagent during the agent harness hackathon to fix this. it is an agent that watches my routines and asks before it completes any actions.&lt;/p&gt;

&lt;p&gt;lifeagent reads my google calendar schedule every morning, sends me push notifications for each event, and reminds me to take my medications at 8am and 8pm, tells me to go to bed, and runs a laundry timer for me. nothing happens without my approval as well.&lt;/p&gt;

&lt;p&gt;trueforge assisted me in this project by giving me the runtime so i could focus on solving the issue at hand instead of focusing on the project's infrastructure. within the sandbox, it handled code execution safely for me, and the session model meant that the agent could retain states even if i had to reconnect.&lt;/p&gt;

&lt;p&gt;the google calendar mcp didn't support trueforge's oauth flow, so i had to swap to python oauth, which comically made my code simpler. the sandbox allowlist blocks ntfy.sh [which i use to send pings to my iphone since it is free and very simple to use], so my notifications run outside the sandbox on my host machine [in this case my macbook]. &lt;/p&gt;

&lt;p&gt;the next thing i would do is to implement a proper approval queue in the dashboard where you tap approve/snooze on your phone. static notifications are my worse enemy and i'll typically ignore them. multi-day awareness would be cool as well so if i have an early class the following day, i get notified in advance instead of waking up to a missed class.&lt;/p&gt;

&lt;p&gt;my stack was python, google calendar api, ntfy.sh, trueforge, and the usual html/css/js combination.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>showdev</category>
    </item>
    <item>
      <title>studygemma: AI study buddy for CS students</title>
      <dc:creator>RinWah</dc:creator>
      <pubDate>Mon, 25 May 2026 02:53:07 +0000</pubDate>
      <link>https://dev.to/rinwah/studygemma-ai-study-buddy-for-cs-students-2c37</link>
      <guid>https://dev.to/rinwah/studygemma-ai-study-buddy-for-cs-students-2c37</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Build with Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;StudyGemma&lt;/strong&gt; — an AI-powered study buddy that transforms messy CS notes into polished study material. &lt;/p&gt;

&lt;p&gt;I built this because I noticed how frustrating it is to have scattered lecture notes, code snippets, and textbook excerpts scattered everywhere with no good way to organize them. StudyGemma solves that with a single interface:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explain&lt;/strong&gt;: Turns confusing notes into clear explanations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quiz Me&lt;/strong&gt;: Generates 5-question quizzes to test understanding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notebook Notes&lt;/strong&gt;: Creates clean, structured bullet-point summaries&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice Problems&lt;/strong&gt;: Generates problems to reinforce concepts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interview Mode&lt;/strong&gt;: Preps you for technical interviews&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a React + FastAPI web app that's simple to use but powerful enough to actually save study time.&lt;/p&gt;

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

&lt;p&gt;[Link to deployed demo or video walkthrough]&lt;/p&gt;

&lt;p&gt;Try it locally:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clone the repo&lt;/li&gt;
&lt;li&gt;Set up your OpenRouter and Google AI API keys&lt;/li&gt;
&lt;li&gt;Run the backend: &lt;code&gt;uvicorn main:app --reload&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the frontend: &lt;code&gt;npm run dev&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Paste your CS notes and watch them transform&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/rinwah/studygemma" rel="noopener noreferrer"&gt;github.com/rinwah/studygemma&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend: React + Vite + Custom CSS
Backend: FastAPI (Python)
Models: Gemma 4 via OpenRouter + Google AI Studio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The backend intelligently handles API availability — it tries OpenRouter first, and if rate limited, automatically falls back to Google's API. No manual switching, no broken flows.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Gemma 4
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Gemma 4?
&lt;/h3&gt;

&lt;p&gt;I chose &lt;strong&gt;Gemma 4&lt;/strong&gt; (specifically the &lt;strong&gt;26B MoE&lt;/strong&gt; and &lt;strong&gt;31B Dense&lt;/strong&gt; models) for three deliberate reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Free tier access&lt;/strong&gt; — I wanted to build something anyone could use without expensive API credits. Gemma 4 is free on OpenRouter and Google AI Studio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Perfect for education&lt;/strong&gt; — Gemma 4 is exceptional at explaining concepts, generating questions, and creating practice problems. Its 262K context window means students can paste long lecture notes without truncation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multiple model options&lt;/strong&gt; — The Gemma 4 family spans from 2B to 31B. StudyGemma works across different tiers, letting users choose based on their hardware and needs.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Technical Implementation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Model Selection&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Primary&lt;/strong&gt;: &lt;code&gt;google/gemma-4-26b-a4b-it&lt;/code&gt; via OpenRouter (free tier)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fallback&lt;/strong&gt;: Same model via Google AI Studio (if rate limited)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context&lt;/strong&gt;: 262K tokens per request (can handle entire lecture transcripts)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why this works&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemma 4 is instruction-tuned and excellent at following structured prompts&lt;/li&gt;
&lt;li&gt;The 26B MoE model is efficient without sacrificing quality&lt;/li&gt;
&lt;li&gt;Free tier means students aren't blocked by cost&lt;/li&gt;
&lt;li&gt;Fallback architecture means reliability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The system prompt&lt;/strong&gt; emphasizes Gemma's strengths:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear, example-driven explanations&lt;/li&gt;
&lt;li&gt;Structured outputs (quizzes, bullet points)&lt;/li&gt;
&lt;li&gt;Beginner-friendly language (no unnecessary jargon)&lt;/li&gt;
&lt;li&gt;Conciseness (respects students' time)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features That Leverage Gemma 4
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Mode-specific prompting&lt;/strong&gt; — Each study mode (Explain, Quiz, Notes, Practice, Interview) has a tailored instruction that plays to Gemma 4's strengths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fallback reliability&lt;/strong&gt; — Gemma 4 via two providers ensures the app never breaks due to rate limits&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long context handling&lt;/strong&gt; — Students can paste entire lecture notes or textbook chapters without worrying about truncation&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What Gemma 4 Unlocked
&lt;/h3&gt;

&lt;p&gt;Without Gemma 4, this app would be expensive and limited. With it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Students can use it completely free&lt;/li&gt;
&lt;li&gt;✅ No API key required (uses free tiers)&lt;/li&gt;
&lt;li&gt;✅ Handles long-form educational content (262K tokens)&lt;/li&gt;
&lt;li&gt;✅ Produces high-quality explanations and quizzes&lt;/li&gt;
&lt;li&gt;✅ Runs reliably with fallback architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;CS students are drowning in scattered notes. StudyGemma brings them together and transforms them into focused, actionable study material in seconds. Gemma 4's capability and accessibility made this possible — it's powerful enough to understand nuanced concepts, but free enough that every student can use it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Try it out&lt;/strong&gt;: [GitHub Repo Link]&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Questions?&lt;/strong&gt; Drop a comment below!&lt;/p&gt;

&lt;p&gt;Built with ❤️ using Gemma 4 for the Gemma 4 Challenge.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
    </item>
  </channel>
</rss>
