<?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: I SHANIA JONE</title>
    <description>The latest articles on DEV Community by I SHANIA JONE (@i_shaniajone_d85359f3b86).</description>
    <link>https://dev.to/i_shaniajone_d85359f3b86</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%2F3501313%2F8c179b99-8508-4e2b-8b85-9ce9b9ccd77c.png</url>
      <title>DEV Community: I SHANIA JONE</title>
      <link>https://dev.to/i_shaniajone_d85359f3b86</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/i_shaniajone_d85359f3b86"/>
    <language>en</language>
    <item>
      <title>Math Quest: Adventure Through the Land of Numbers – A Fun, Interactive Way to Learn Math</title>
      <dc:creator>I SHANIA JONE</dc:creator>
      <pubDate>Sun, 14 Sep 2025 17:02:35 +0000</pubDate>
      <link>https://dev.to/i_shaniajone_d85359f3b86/math-quest-adventure-through-the-land-of-numbers-a-fun-interactive-way-to-learn-math-1nal</link>
      <guid>https://dev.to/i_shaniajone_d85359f3b86/math-quest-adventure-through-the-land-of-numbers-a-fun-interactive-way-to-learn-math-1nal</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-ai-studio-2025-09-03"&gt;Google AI Studio Multimodal Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built Math Quest: Adventure Through the Land of Numbers, a fun, interactive, and educational game designed for kids to learn core math concepts. The app provides a gamified experience that helps kids strengthen their math skills through different themes, such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Forest of Addition&lt;/li&gt;
&lt;li&gt;Mountain of Multiplication&lt;/li&gt;
&lt;li&gt;Ocean of Fractions&lt;/li&gt;
&lt;li&gt;Castle of Subtraction&lt;/li&gt;
&lt;li&gt;Jungle of Division&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each theme contains 30 levels, and each level features 25 questions. As players progress, the difficulty increases, offering an engaging learning curve.&lt;/p&gt;

&lt;p&gt;To make the experience more interactive, animated characters help guide players. When kids answer incorrectly, they can retry the question. If they get it wrong a second time, a visualized solution is provided, showing step-by-step how to solve the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem It Solves:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Boring Math Learning&lt;/strong&gt;: Kids get bored with repetitive, one-size-fits-all math problems.&lt;br&gt;
&lt;strong&gt;Lack of Personalization&lt;/strong&gt;: Traditional apps don’t adapt to individual learning needs.&lt;br&gt;
&lt;strong&gt;No Instant Feedback&lt;/strong&gt;: Mistakes aren’t corrected in real-time, leading to confusion and frustration.&lt;br&gt;
&lt;strong&gt;Limited Engagement&lt;/strong&gt;: Static lessons fail to hold kids' attention.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live Applet:&lt;/strong&gt;&lt;a href="https://math-quest-adventure-through-the-land-of-numbers-392307462345.us-west1.run.app/" rel="noopener noreferrer"&gt;MathQuest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github:&lt;/strong&gt; &lt;a href="https://github.com/IShania-Jone-UCBerk-USA/MathQuest.git" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youtube:&lt;/strong&gt; &lt;a href="https://youtu.be/pN42-WAK_UE" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MathQuest-FrontPage&lt;/strong&gt;&lt;br&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%2Fj8knye46k5598nafh34x.png" 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%2Fj8knye46k5598nafh34x.png" alt="MathQuest-FrontPage"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Forest of Addition&lt;/strong&gt;&lt;br&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%2F9isjx0wwfuc8m0rsofqm.png" 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%2F9isjx0wwfuc8m0rsofqm.png" alt="Forest of Addition"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Gigi the guide&lt;/strong&gt;&lt;br&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%2Fn78wnwl0k8m1zl1r5rd1.png" 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%2Fn78wnwl0k8m1zl1r5rd1.png" alt="Gigi the guide"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Visual explanation in case of wrong answer&lt;/strong&gt;&lt;br&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%2Fovpzv5s93ab7qr49d33j.png" 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%2Fovpzv5s93ab7qr49d33j.png" alt="Visual explanation"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Explanation for a geometry question&lt;/strong&gt;&lt;br&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%2F6021c2udv9r24wb4z6a3.png" 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%2F6021c2udv9r24wb4z6a3.png" alt="Geometry"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Used Google AI Studio
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deployment Infrastructure&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Platform&lt;/strong&gt;: Google Cloud Run (auto-scaling, Dockerized)&lt;br&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Node.js with Express.js&lt;br&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React + TypeScript&lt;br&gt;
&lt;strong&gt;Scaling&lt;/strong&gt;: Auto-scaling from 0 to N instances&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google AI API Integration&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Dynamic Math Problem Generation&lt;/strong&gt;&lt;br&gt;
Gemini 2.5 Flash generates age-appropriate, themed math problems (Addition, Subtraction, etc.), ensuring no repetition.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const question = await gemini.generateContent({
  model: 'gemini-2.5-flash',
  contents: [{ parts: [level, topic] }],
  generationConfig: {
    responseMimeType: 'application/json',
    responseSchema: questionSchema,
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; &lt;strong&gt;Text-to-Image Visual Solutions&lt;/strong&gt;&lt;br&gt;
After a wrong answer, Gemini creates visual solutions (SVGs) to help children understand.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const visualSolution = await gemini.generateContent({
  model: 'imagen-4.0-generate-001',
  contents: [{ parts: [problemText] }],
  generationConfig: {
    responseMimeType: 'application/json',
    responseSchema: svgSchema,
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Real-Time Chatbot Support&lt;/strong&gt;&lt;br&gt;
Gemini Chat API powers a responsive chatbot, offering real-time personalized hints.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const chatStream = await gemini.streamGenerateContent({
  model: 'gemini-2.5-flash',
  contents: conversationHistory
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Multimodal Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text + Image Fusion&lt;/strong&gt;: Merges visual and text data for better context and understanding.&lt;br&gt;
&lt;strong&gt;Instant Feedback&lt;/strong&gt;: Text-based hints and visual solutions (SVGs) after incorrect answers.&lt;br&gt;
&lt;strong&gt;Real-Time Interaction&lt;/strong&gt;: The chatbot provides live, context-aware responses based on the child's progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Dynamic Questions&lt;/strong&gt;: Fresh, thematic math problems.&lt;br&gt;
&lt;strong&gt;Instant Feedback&lt;/strong&gt;: Visual hints and solutions.&lt;br&gt;
&lt;strong&gt;Real-Time Scoring&lt;/strong&gt;: Tracks progress and shows performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engineering Best Practices&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Structured AI Output&lt;/strong&gt;: JSON responses ensure consistent integration.&lt;br&gt;
&lt;strong&gt;State Management&lt;/strong&gt;: Managed via React hooks for responsiveness.&lt;br&gt;
&lt;strong&gt;Code Organization&lt;/strong&gt;: Modular architecture for easy scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment &amp;amp; Performance&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Scalable Deployment&lt;/strong&gt;: Dockerized and deployed on Google Cloud Run with auto-scaling.&lt;br&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React + TypeScript, styled with Tailwind CSS.&lt;br&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Node.js + Express.js for fast API handling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Example: Multimodal Analysis&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const analysis = await gemini.generateContent({
  model: 'gemini-2.5-flash',
  contents: [{ parts: [imageData, textPrompt] }],
  generationConfig: {
    responseMimeType: 'application/json',
    responseSchema: damageAssessmentSchema,
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
