<?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: Naomi</title>
    <description>The latest articles on DEV Community by Naomi (@naomir).</description>
    <link>https://dev.to/naomir</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%2F3797111%2F0b46abd0-70e6-4dcb-9e33-eaa8d221603a.png</url>
      <title>DEV Community: Naomi</title>
      <link>https://dev.to/naomir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naomir"/>
    <language>en</language>
    <item>
      <title>AI-Assisted Frontend Reviews Using Gemma 4</title>
      <dc:creator>Naomi</dc:creator>
      <pubDate>Thu, 21 May 2026 20:29:56 +0000</pubDate>
      <link>https://dev.to/naomir/ai-assisted-frontend-reviews-using-gemma-4-567c</link>
      <guid>https://dev.to/naomir/ai-assisted-frontend-reviews-using-gemma-4-567c</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;p&gt;PR Sentinel analyzes React and TypeScript snippets and generates structured engineering feedback focused on maintainability, accessibility, performance, and UI quality.&lt;/p&gt;

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

&lt;p&gt;PR Sentinel is an AI-assisted frontend PR reviewer focused on React and TypeScript engineering quality.&lt;/p&gt;

&lt;p&gt;Developers can paste frontend code snippets and receive structured engineering feedback across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React best practices&lt;/li&gt;
&lt;li&gt;Maintainability&lt;/li&gt;
&lt;li&gt;UI/UX quality&lt;/li&gt;
&lt;li&gt;Accessibility (A11y)&lt;/li&gt;
&lt;li&gt;Component architecture&lt;/li&gt;
&lt;li&gt;State management patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project was inspired by real frontend review pain points commonly seen in enterprise applications, especially issues related to stale closures, infinite re-renders, semantic accessibility structure, and reusable component design.&lt;/p&gt;

&lt;p&gt;Instead of producing generic AI summaries, PR Sentinel organizes feedback into categorized engineering review cards that resemble actual senior-level frontend review comments.&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%2Foeuvzf809n1okas545x9.jpg" 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%2Foeuvzf809n1okas545x9.jpg" alt="PR Sentinel landing screen with diagnostic sandbox presets, React/TSX input editor, and AI review console interface" width="798" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://frontend-pr-review-assistant.onrender.com/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live demo uses a limited development API configuration and may occasionally be unavailable during evaluation periods.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/BL2Cib5c-bU"&gt;
  &lt;/iframe&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.amazonaws.com%2Fuploads%2Farticles%2Ftzy0myl4mvj5e2pd8ro0.jpg" 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%2Ftzy0myl4mvj5e2pd8ro0.jpg" alt="AI-generated frontend review report showing side-by-side code comparison, React best practices analysis, accessibility suggestions, and refactoring rationale" width="576" height="789"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;(&lt;a href="https://github.com/naomirasamalla/Frontend-PR-Review-Assistant" rel="noopener noreferrer"&gt;https://github.com/naomirasamalla/Frontend-PR-Review-Assistant&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The application allows developers to paste frontend snippets and receive categorized AI-generated engineering review feedback in real time.&lt;/p&gt;

&lt;p&gt;Key Features:&lt;/p&gt;

&lt;p&gt;AI-powered React/TypeScript review analysis&lt;br&gt;
Structured frontend engineering feedback&lt;br&gt;
Accessibility-focused review insights&lt;br&gt;
UI/UX and maintainability recommendations&lt;br&gt;
Real-time review rendering&lt;/p&gt;

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

&lt;p&gt;PR Sentinel uses Gemma 4 to analyze React and TypeScript frontend code snippets and generate structured PR-style engineering feedback.&lt;/p&gt;

&lt;p&gt;The project focuses on identifying practical frontend issues such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;infinite render loops&lt;/li&gt;
&lt;li&gt;stale closures in async logic&lt;/li&gt;
&lt;li&gt;unsafe DOM access patterns&lt;/li&gt;
&lt;li&gt;maintainability concerns&lt;/li&gt;
&lt;li&gt;accessibility-related frontend risks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma 4 was selected because the project required fast reasoning over frontend engineering patterns while generating concise, developer-focused review output.&lt;/p&gt;

&lt;p&gt;The model is used to evaluate pasted code snippets and return structured recommendations similar to a lightweight frontend pull request review workflow.&lt;/p&gt;

&lt;p&gt;The application includes built-in diagnostic sandbox scenarios that simulate real frontend engineering issues commonly encountered in React applications.&lt;/p&gt;

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