<?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: Mouna</title>
    <description>The latest articles on DEV Community by Mouna (@mounab3).</description>
    <link>https://dev.to/mounab3</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%2F4152075%2F8ea69e37-55d1-4c45-bd8f-da8b791414d1.png</url>
      <title>DEV Community: Mouna</title>
      <link>https://dev.to/mounab3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mounab3"/>
    <language>en</language>
    <item>
      <title>gmail agent- side hustle project</title>
      <dc:creator>Mouna</dc:creator>
      <pubDate>Sun, 18 Oct 2026 23:52:43 +0000</pubDate>
      <link>https://dev.to/mounab3/gmail-agent-side-hustle-project-3lkb</link>
      <guid>https://dev.to/mounab3/gmail-agent-side-hustle-project-3lkb</guid>
      <description>&lt;p&gt;This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/p&gt;

&lt;p&gt;What I Built:&lt;br&gt;
I'm building Gmail Agent, a small AI assistant designed to help freelancers and independent professionals manage repetitive email tasks.&lt;br&gt;
Freelancers often spend valuable time reading client requests, identifying important details, deciding what to do next, and writing professional replies. Gmail Agent aims to make this process easier by analyzing an email, extracting its key information, suggesting the next action, and preparing a reply for the user to review.&lt;br&gt;
My goal is to create a simple, practical tool that could save freelancers time and eventually become useful to tutors, virtual assistants, and small business owners.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
The project is currently in development. I'll update this section with a working demo or screenshots once it is ready.&lt;/p&gt;

&lt;p&gt;Code&lt;br&gt;
GitHub repository: &lt;a href="https://github.com/mounab3/gmail-agent" rel="noopener noreferrer"&gt;https://github.com/mounab3/gmail-agent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
I'm developing Gmail Agent around open-weight AI and open-source agent technology. Rather than downloading another large model onto my computer, I plan to explore hosted inference with open-weight models through Backboard and use Mastra to learn how AI agents, tools, and workflows work together.&lt;br&gt;
The planned workflow will analyze email content, extract relevant details, identify missing information, and prepare a suggested reply. I also want to explore the Gmail API so users can authorize access to selected messages rather than manually copying every email.&lt;br&gt;
I'm keeping the first version small so I can understand each component, test the workflow, and build on it gradually.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;br&gt;
I want to explore how open-weight AI and open-source agent frameworks can make practical AI tools more accessible to individual developers and small businesses.&lt;br&gt;
For a freelancer, the ability to choose between available models and providers could offer more flexibility than depending entirely on one proprietary AI service. Open-source frameworks also allow developers to inspect, modify, and extend the workflows behind their applications.&lt;br&gt;
Because email can contain sensitive information, privacy is another important consideration. I plan to use fictional messages while developing and to handle Gmail authorization and API credentials carefully. Since the initial model setup may involve a hosted provider, I will also document the relevant data-handling limitations rather than claim that all processing happens locally.&lt;br&gt;
My goal is to learn how these technologies can work together to build something useful, affordable, and adaptable.&lt;/p&gt;

&lt;p&gt;My Agent Session&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Mastra&lt;br&gt;
Backboard *&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>🌿 TouchGrass AI: What If We Used AI to Spend Less Time Online?</title>
      <dc:creator>Mouna</dc:creator>
      <pubDate>Sun, 11 Oct 2026 19:27:36 +0000</pubDate>
      <link>https://dev.to/mounab3/touchgrass-ai-what-if-we-used-ai-to-spend-less-time-online-38ei</link>
      <guid>https://dev.to/mounab3/touchgrass-ai-what-if-we-used-ai-to-spend-less-time-online-38ei</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We spend so much time using technology that sometimes we forget to step away from it.&lt;/p&gt;

&lt;p&gt;We open our phones to check one thing, and suddenly we have spent much longer scrolling than we intended. I started thinking about a small question: What if we used AI to help us spend less time online and more time experiencing the world around us?&lt;/p&gt;

&lt;p&gt;That question became the idea behind TouchGrass AI. 🌱&lt;/p&gt;

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

&lt;p&gt;&amp;lt;!-- TouchGrass AI is a small AI-powered web application that turns your preferences into a personalized outdoor activity mission.&lt;/p&gt;

&lt;p&gt;The idea is simple. You enter your city, choose how much time you have, select your energy level, and tell the app what interests you. It retrieves current weather information and sends those details to an AI model, which generates an outdoor activity suggestion tailored to your situation.&lt;/p&gt;

&lt;p&gt;For example, someone with only 10 minutes and low energy should not receive the same suggestion as someone with an hour and plenty of energy!&lt;/p&gt;

&lt;p&gt;I wanted the experience to feel approachable rather than overwhelming. You do not need an elaborate plan, expensive equipment, or an entire free afternoon. Sometimes, a short walk, a little photography, or a few minutes observing nature is enough to get started.&lt;/p&gt;

&lt;p&gt;I also wanted the suggestions to be weather-conscious. The application provides weather information to the model and instructs it to consider unsuitable conditions, avoid inventing local facts, and prioritize personal safety.&lt;/p&gt;

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

&lt;p&gt;&amp;lt;!-- Try TouchGrass AI: &lt;a href="https://touchgrass-ai-w61h.onrender.com" rel="noopener noreferrer"&gt;https://touchgrass-ai-w61h.onrender.com&lt;/a&gt;&lt;br&gt;
Video demo link: &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1ub0MIWgqwssmNFB76trscNt8drbXnrgQ/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            demo touchgrass.mp4 - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fdoclist%2Fimages%2Fdrive_favicon_2026_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
The application is deployed on Render, so you can visit it through your browser without installing anything.

&lt;p&gt;Please note that the prototype currently depends on external weather and AI services. The weather provider has recently rate-limited some requests, so mission generation may occasionally be unavailable while I work on improving its reliability.&lt;/p&gt;

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

&lt;p&gt;🌱 GitHub repository: &lt;a href="https://github.com/mounab3/touchgrass-ai" rel="noopener noreferrer"&gt;https://github.com/mounab3/touchgrass-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the Python application, dependencies, setup instructions, and project documentation.&lt;/p&gt;

&lt;p&gt;I wanted to keep the project accessible to people who might want to explore the implementation, learn from it, or contribute improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built TouchGrass AI with Python and Gradio. I chose Gradio because it allowed me to create an interactive web interface without having to build a separate frontend from scratch.&lt;/p&gt;

&lt;p&gt;Here is how the main components work together:&lt;/p&gt;

&lt;p&gt;Python handles the application logic and connects the different services.&lt;/p&gt;

&lt;p&gt;Gradio provides the interface where users enter their preferences and receive their missions.&lt;/p&gt;

&lt;p&gt;Open-Meteo provides city geocoding and current weather information.&lt;/p&gt;

&lt;p&gt;OpenRouter connects the application to the selected AI model.&lt;/p&gt;

&lt;p&gt;NVIDIA Nemotron 3 Ultra generates the personalized outdoor activity suggestions.&lt;/p&gt;

&lt;p&gt;Render hosts the application so other people can access it online.&lt;/p&gt;

&lt;p&gt;One important part of the project is the use of an open-weight AI model. Rather than writing every possible activity suggestion manually, I provide the model with a structured prompt containing the user's preferences, available time, energy level, and retrieved weather data.&lt;/p&gt;

&lt;p&gt;The prompt also includes instructions about safety, practicality, and avoiding fabricated local recommendations.&lt;/p&gt;

&lt;p&gt;I used OpenRouter to access the model, so inference takes place through a hosted service rather than on my own computer. The project therefore explores using an open-weight model in a practical application, rather than running the model locally.&lt;/p&gt;

&lt;p&gt;This project also taught me that building an AI application is an important process. External APIs can fail, rate limits can interrupt requests, and an application needs to handle those situations gracefully. Making the demo more resilient is one of the improvements I want to continue working on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For me, open innovation matters because it makes experimentation more accessible.&lt;/p&gt;

&lt;p&gt;As a computer science student, I am still learning how to turn ideas into complete applications. Access to open-weight models, open-source tools, documentation, and public code repositories gives me opportunities to experiment, learn from existing work, and build something of my own.&lt;/p&gt;

&lt;p&gt;Open-weight models are interesting because they offer more flexibility to developers who want to explore how AI behaves, customize prompts, and build applications around their own ideas. Depending on the model and its license, they can also offer options for different deployment arrangements.&lt;/p&gt;

&lt;p&gt;I would not claim that a hosted open-weight model automatically provides every advantage of running a model locally. My project currently relies on an external inference service, and that comes with its own limitations. However, I can still explore how an open-weight model can be used in a real application without needing to host a large model myself.&lt;/p&gt;

&lt;p&gt;Most importantly, open innovation encourages people to build, share, learn, and improve ideas together.&lt;/p&gt;

&lt;p&gt;TouchGrass AI is a small project, but it represents something I find exciting about this ecosystem: a student with an idea can combine existing open tools and AI capabilities to create something practical, share it publicly, and continue improving it through feedback.&lt;/p&gt;

&lt;p&gt;And perhaps that is the part I appreciate most. &lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;Best Use of Render — I deployed TouchGrass AI on Render and made the application publicly accessible.&lt;/p&gt;

&lt;p&gt;Thank you for organizing this challenge! It gave me a reason to explore open-weight AI through a project with a purpose I genuinely care about.&lt;/p&gt;

&lt;p&gt;My hope is that TouchGrass AI reminds us that technology does not always have to ask for more of our attention. Sometimes, it can help us give that attention back to the world around us.&lt;/p&gt;

&lt;p&gt;Less scrolling. More exploring. See you outside! ☀️🌱&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>French language learning companion</title>
      <dc:creator>Mouna</dc:creator>
      <pubDate>Mon, 05 Oct 2026 00:56:24 +0000</pubDate>
      <link>https://dev.to/mounab3/french-language-learning-companion-3dhf</link>
      <guid>https://dev.to/mounab3/french-language-learning-companion-3dhf</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built French Language Companion, a small AI-powered French learning tool for my younger brother, who struggles with French grammar and spelling.&lt;/p&gt;

&lt;p&gt;The idea is to make practice more personal and interactive. Instead of only giving static exercises, the application uses AI to generate French practice based on the learner's level, check answers, and provide explanations and rules.&lt;/p&gt;

&lt;p&gt;The current interface lets the learner choose a level and a practice area such as Grammar or Orthography.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1lPskLFIQmT4xRXiZY6MKK8bxu_cx4AGV/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            demo french language companion.mp4 - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fdoclist%2Fimages%2Fdrive_favicon_2026_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
The application uses Gemma 3 4B locally through Ollama to generate and evaluate French exercises. Gemma is currently running slowly on my machine, but the local AI integration is implemented in the project.
&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/mounab3" rel="noopener noreferrer"&gt;
        mounab3
      &lt;/a&gt; / &lt;a href="https://github.com/mounab3/french-language-companion" rel="noopener noreferrer"&gt;
        french-language-companion
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered French grammar and orthography practice companion built with Streamlit, Ollama, and Gemma.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9afa46ead6a144b0f1eed3a5afedb82376ebe77597bfee9b62d1e59affa98762/68747470733a2f2f726561646d652d747970696e672d7376672e6865726f6b756170702e636f6d3f666f6e743d47656f726769612673697a653d3332266475726174696f6e3d3330303026636f6c6f723d3742314641322663656e7465723d74727565267643656e7465723d747275652677696474683d383030266c696e65733df09f87abf09f87b72b4672656e63682b4c616e67756167652b436f6d70616e696f6e3bf09fa4962b41492d506f77657265642b4672656e63682b50726163746963653bf09f939a2b4c6561726e2b4672656e63682b776974682b47656d6d613bf09f929c2b4275696c742b666f722b612b467269656e64"&gt;&lt;img src="https://camo.githubusercontent.com/9afa46ead6a144b0f1eed3a5afedb82376ebe77597bfee9b62d1e59affa98762/68747470733a2f2f726561646d652d747970696e672d7376672e6865726f6b756170702e636f6d3f666f6e743d47656f726769612673697a653d3332266475726174696f6e3d3330303026636f6c6f723d3742314641322663656e7465723d74727565267643656e7465723d747275652677696474683d383030266c696e65733df09f87abf09f87b72b4672656e63682b4c616e67756167652b436f6d70616e696f6e3bf09fa4962b41492d506f77657265642b4672656e63682b50726163746963653bf09f939a2b4c6561726e2b4672656e63682b776974682b47656d6d613bf09f929c2b4275696c742b666f722b612b467269656e64" alt="French Language Companion"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/a3e886f3729395497c1aede4341b5051f2f32758aebff312c1df9462d076c649/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31342d3337373641423f7374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/a3e886f3729395497c1aede4341b5051f2f32758aebff312c1df9462d076c649/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31342d3337373641423f7374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/3cf6728f2051ffe610033a65d599eaedf762beabccb1f35e7ddb613cf2008faa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53747265616d6c69742d4170702d4646344234423f7374796c653d666f722d7468652d6261646765266c6f676f3d73747265616d6c6974266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/3cf6728f2051ffe610033a65d599eaedf762beabccb1f35e7ddb613cf2008faa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53747265616d6c69742d4170702d4646344234423f7374796c653d666f722d7468652d6261646765266c6f676f3d73747265616d6c6974266c6f676f436f6c6f723d7768697465" alt="Streamlit"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/2f8730874e2cd6826d5ed1c9fb92ce60da5968fa3c0c6e4a9fe7df702b037b7c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f6c6c616d612d4c6f63616c25323041492d626c61636b3f7374796c653d666f722d7468652d6261646765"&gt;&lt;img src="https://camo.githubusercontent.com/2f8730874e2cd6826d5ed1c9fb92ce60da5968fa3c0c6e4a9fe7df702b037b7c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f6c6c616d612d4c6f63616c25323041492d626c61636b3f7374796c653d666f722d7468652d6261646765" alt="Ollama"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7008bb11a26fe9371f10ed83ddc11c1069bca0f44e46aade1674fb2b8dfccdc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47656d6d612d4f70656e2532304d6f64656c2d3845343441443f7374796c653d666f722d7468652d6261646765"&gt;&lt;img src="https://camo.githubusercontent.com/7008bb11a26fe9371f10ed83ddc11c1069bca0f44e46aade1674fb2b8dfccdc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47656d6d612d4f70656e2532304d6f64656c2d3845343441443f7374796c653d666f722d7468652d6261646765" alt="Gemma"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7033a7605d78de6e247739e7d7b0787f86c6ee2fc8b262baea8a7cbce7c9c272/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769742d56657273696f6e253230436f6e74726f6c2d4630353033323f7374796c653d666f722d7468652d6261646765266c6f676f3d676974266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/7033a7605d78de6e247739e7d7b0787f86c6ee2fc8b262baea8a7cbce7c9c272/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769742d56657273696f6e253230436f6e74726f6c2d4630353033323f7374796c653d666f722d7468652d6261646765266c6f676f3d676974266c6f676f436f6c6f723d7768697465" alt="Git"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/e5e9c02ca7bdde1278e63e2d0c128b30ccecc2afb5bc2328e77e9a5a6d25ba98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d5265706f7369746f72792d3138313731373f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/e5e9c02ca7bdde1278e63e2d0c128b30ccecc2afb5bc2328e77e9a5a6d25ba98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d5265706f7369746f72792d3138313731373f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="GitHub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;🌱 A simple AI-powered French learning companion for grammar and orthography practice.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hacktoberfest 2026 — Weekend Challenge: Build for a Friend 💜&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div&gt;
&lt;p&gt;&lt;strong&gt;📋 Description&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;French Language Companion&lt;/strong&gt; is an AI-powered learning application designed to help a French learner practice grammar and orthography
&lt;/p&gt;

&lt;p&gt;
I built it for my younger brother, who struggles with French grammar and spelling
The goal is to create a simple learning tool where &lt;strong&gt;AI generates exercises, checks answers, and explains mistakes.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;🤖 The AI runs locally using &lt;strong&gt;Ollama&lt;/strong&gt; and &lt;strong&gt;Gemma&lt;/strong&gt;.&lt;/p&gt;


&lt;/div&gt;
&lt;br&gt;


&lt;div&gt;
&lt;p&gt;&lt;strong&gt;💡 Why I Built It&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
Traditional exercises do not always explain &lt;strong&gt;why&lt;/strong&gt; an answer is wrong
I wanted to create a more personal practice tool that gives useful feedback instead of only showing correct or incorrect.
&lt;/p&gt;
&lt;/div&gt;




&lt;div&gt;
&lt;p&gt;&lt;strong&gt;🎯 Main Objectives&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📚 Practice French grammar and orthography&lt;/li&gt;
&lt;li&gt;🤖 Use open AI technology for learning&lt;/li&gt;
&lt;li&gt;🎯 Generate exercises adapted to the learner's level&lt;/li&gt;
&lt;li&gt;💡 Explain mistakes and relevant rules&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mounab3/french-language-companion" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built the project with Python and Streamlit, using Ollama to run Google's Gemma 3 4B model locally.&lt;br&gt;
The application is structured around a simple learning flow:&lt;/p&gt;

&lt;p&gt;Choose level → Choose practice → Generate exercise → Answer → Check → Explanation&lt;/p&gt;

&lt;p&gt;Gemma is integrated into the Python application through Ollama's local API. I separated the AI logic into ai.py and the Streamlit interface into app.py.&lt;br&gt;
One of the things I liked about this approach is that the AI does not sit beside the application as a generic chatbot. It is intended to be part of the actual learning process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation made it possible for me, as a student, to experiment with AI locally and build around an open-weight model without depending entirely on a closed API.&lt;/p&gt;

&lt;p&gt;With Gemma and Ollama, the model can run on the user's own computer, which can be useful for learning tools where keeping data local matters.&lt;/p&gt;

&lt;p&gt;It also gives me the freedom to experiment with different Gemma model sizes and change how the AI is used inside the application.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I did not use DevRelay for this project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Use of Gemma
&lt;/h2&gt;

&lt;p&gt;I am entering this category because the project uses Google's Gemma 3 4B locally through Ollama as the AI model behind the language learning experience.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
