<?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: Folefac Martins</title>
    <description>The latest articles on DEV Community by Folefac Martins (@folefac_martins_44a2bca70).</description>
    <link>https://dev.to/folefac_martins_44a2bca70</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%2F1786851%2F5fd7370e-86d2-4264-8569-3f488be41f37.jpg</url>
      <title>DEV Community: Folefac Martins</title>
      <link>https://dev.to/folefac_martins_44a2bca70</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/folefac_martins_44a2bca70"/>
    <language>en</language>
    <item>
      <title>Gemminate: Transforming Static Textbooks into Interactive Learning Journeys with Gemma 4</title>
      <dc:creator>Folefac Martins</dc:creator>
      <pubDate>Sun, 24 May 2026 23:33:14 +0000</pubDate>
      <link>https://dev.to/folefac_martins_44a2bca70/gemminate-transforming-static-textbooks-into-interactive-learning-journeys-with-gemma-4-65g</link>
      <guid>https://dev.to/folefac_martins_44a2bca70/gemminate-transforming-static-textbooks-into-interactive-learning-journeys-with-gemma-4-65g</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;Static textbooks are a thing of the past. I built &lt;strong&gt;Gemminate&lt;/strong&gt;, an intelligent, agentic learning platform that ingests raw textbook PDFs and instantly transforms them into interactive, personalized, and highly dynamic learning journeys. &lt;/p&gt;

&lt;p&gt;Instead of forcing students to read hundreds of pages sequentially, Gemminate uses AI to act as a 1-on-1 tutor. When a user uploads a PDF, the platform:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Extracts and Maps:&lt;/strong&gt; Analyzes the Table of Contents and page contents to build a hierarchical, interactive "Learning Map." based on the learner's objectives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generates Interactive UI:&lt;/strong&gt; Seamlessly weaves standard textbook reading with AI-generated Quizzes, Flashcards, Feynman Technique exercises, and Video suggestions directly into the syllabus.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creates On-The-Fly Visualizations:&lt;/strong&gt; Automatically generates highly interactive &lt;strong&gt;D3.js and Three.js HTML visualizations&lt;/strong&gt; directly in the browser to explain complex topics mathematically and visually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grades Handwritten Exams (Multimodal):&lt;/strong&gt; Features a "Qualify" stage where students upload photos of their &lt;em&gt;handwritten&lt;/em&gt; answers, which the AI reads, evaluates, and scores before unlocking the next chapter.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Built with &lt;strong&gt;FastAPI, LangGraph, FAISS (RAG), and Vanilla JS&lt;/strong&gt;, Gemminate turns any dense PDF into an engaging, multimodal, and interactive classroom experience.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live Application:&lt;/strong&gt; &lt;a href="https://gemminate-wrbr.onrender.com/dashboard" rel="noopener noreferrer"&gt;gemminate.com&lt;/a&gt;&lt;br&gt;
 &lt;strong&gt;Video Walkthrough:&lt;/strong&gt; [&lt;a href="https://youtu.be/PnnDTs6KpNc" rel="noopener noreferrer"&gt;https://youtu.be/PnnDTs6KpNc&lt;/a&gt;]&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Cleeroute" rel="noopener noreferrer"&gt;
        Cleeroute
      &lt;/a&gt; / &lt;a href="https://github.com/Cleeroute/gemminate" rel="noopener noreferrer"&gt;
        gemminate
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Using AI to learn from textbooks effectively !
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;Gemma 4 isn't just a chatbot in this project, it is the core reasoning engine driving the entire backend pipeline. I specifically chose the &lt;strong&gt;Gemma 4 26B Mixture-of-Experts (MoE) model&lt;/strong&gt; (&lt;code&gt;google/gemma-4-26b-a4b-it&lt;/code&gt;) via OpenRouter, as it perfectly bridged the gap between complex reasoning, rapid token throughput, and cost-efficiency.&lt;/p&gt;

&lt;p&gt;Here is how Gemma 4 powers Gemminate's core features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native Multimodal Vision for Handwritten Grading:&lt;/strong&gt; 
One of Gemminate's standout features is the "Qualify" module. I utilized Gemma 4's native vision capabilities to evaluate photos of a user's &lt;em&gt;handwritten&lt;/em&gt; physics/math answers. The model cross-references the student's handwriting against the textbook's context, scoring the test out of 10. I also used the vision model to analyze complex textbook diagrams and generate pedagogical meta-descriptions of the layout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex Agentic Code Generation (D3.js):&lt;/strong&gt; 
When a user requests a visual explanation (e.g., &lt;code&gt;@visual Magnetic Force&lt;/code&gt;), Gemma 4 is prompted to generate a complete, interactive HTML document featuring D3.js or Three.js code. The 26B MoE model's advanced coding capabilities allowed it to consistently output valid, bug-free declarative D3 selection code, complete with CSS and sliders for variable manipulation. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;128K Context Window for Chapter Mapping:&lt;/strong&gt; 
To build the hierarchical "Learning Map," I pass massive arrays of page-by-page textbook summaries into Gemma 4. Leveraging its massive context window, the model successfully synthesizes these summaries into a unified JSON tree of chapters, subchapters, and dynamically inserted "learning node" injections (quizzes/flashcards) without losing track of the page numbering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured Data &amp;amp; JSON adherence:&lt;/strong&gt;
Gemminate heavily relies on LangGraph pipelines that require strict JSON outputs for Quiz, Flashcard, and Tree generation. Gemma 4 handled deep structural formatting flawlessly, successfully escaping LaTeX math notations (&lt;code&gt;\\alpha&lt;/code&gt;, &lt;code&gt;\\[ \\]&lt;/code&gt;) inside JSON string values so the frontend MathJax could render them beautifully.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma 4's 26B MoE model proved to be the ultimate workhorse: fast enough to stream dynamic D3 code to the frontend in seconds, and smart enough to accurately grade handwritten calculus.&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/azanzijiomekong"&gt;@azanzijiomekong&lt;/a&gt; was very instrumental in ensuring the product lived up to expectation.&lt;/p&gt;




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