<?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: Gagan Kadam</title>
    <description>The latest articles on DEV Community by Gagan Kadam (@grkadam7).</description>
    <link>https://dev.to/grkadam7</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%2F4160970%2Fa0e46f1a-1d2d-4861-bea6-0ffdf8913e2a.png</url>
      <title>DEV Community: Gagan Kadam</title>
      <link>https://dev.to/grkadam7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/grkadam7"/>
    <language>en</language>
    <item>
      <title>I built my friend an offline AI to justify skipping 8 AM classes</title>
      <dc:creator>Gagan Kadam</dc:creator>
      <pubDate>Sun, 04 Oct 2026 11:38:45 +0000</pubDate>
      <link>https://dev.to/grkadam7/i-built-my-friend-an-offline-ai-to-justify-skipping-8-am-classes-52f3</link>
      <guid>https://dev.to/grkadam7/i-built-my-friend-an-offline-ai-to-justify-skipping-8-am-classes-52f3</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;My friend is constantly doing mental gymnastics every morning: &lt;em&gt;"If I skip OS today but my friend marks proxy, can I still afford to bunk Physics tomorrow without falling below 75%?"&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;The math is stressful, the stakes are high, and honestly, they just wanted to know if they could sleep in.&lt;/p&gt;

&lt;p&gt;So for this weekend challenge, I built them &lt;strong&gt;ShouldISkipClass.ai&lt;/strong&gt;—a 100% local (V1) , privacy-first AI web app that acts as their personal (and brutally honest) attendance advisor. It takes their schedule, calculates the risks, and tells them exactly what to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Versions
&lt;/h2&gt;

&lt;p&gt;I ended up building two versions of the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V1 — Local / Privacy Edition 🔒
The main branch. Gemma 3 4B + Ollama&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the original architecture and the privacy-focused version.&lt;br&gt;
It requires Ollama and the Gemma model to be installed locally, but once the model is available, the AI inference does not depend on a hosted AI API.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V2 — Hosted Edition ☁️
Separate v2-hosted branch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This version uses a hosted Gemma API and can be deployed through Render, making the application easier to access without installing Ollama.&lt;br&gt;
I kept this separate deliberately: the local version remains the project's privacy-first implementation, while the hosted version makes the idea easier to demonstrate publicly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://should-i-skip-class-ai.onrender.com/" rel="noopener noreferrer"&gt;ShouldISkipClassAi On Render&lt;/a&gt; (V2)&lt;/p&gt;

&lt;p&gt;If you want to run it yourself, just install Python and Ollama, run &lt;code&gt;ollama pull gemma3:4b&lt;/code&gt;, and ask the AI if you should skip your next lecture! (V1)&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The project is fully open-source and I’m actively looking for contributors for Hacktoberfest! &lt;br&gt;
&lt;/p&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/grkadam7" rel="noopener noreferrer"&gt;
        grkadam7
      &lt;/a&gt; / &lt;a href="https://github.com/grkadam7/should-i-skip-class-ai" rel="noopener noreferrer"&gt;
        should-i-skip-class-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An open-source AI-powered college attendance advisor using Gemma and Ollama
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🎓 ShouldISkipClass.ai&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;An open-source AI-powered college attendance advisor that runs 100% locally.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Built with &lt;strong&gt;Gemma&lt;/strong&gt; (Google's open-weight model) via &lt;strong&gt;Ollama&lt;/strong&gt; — your academic data never leaves your machine.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/8f7529e8f0935122fe9a00e9cce55637ffabb36477f7beeb75eafab7899b0966/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e372b2d626c75653f6c6f676f3d707974686f6e"&gt;&lt;img src="https://camo.githubusercontent.com/8f7529e8f0935122fe9a00e9cce55637ffabb36477f7beeb75eafab7899b0966/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e372b2d626c75653f6c6f676f3d707974686f6e" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c5e221f175d0d339a8501058230ffb271aec375297db2b93210bee9bc26bd4cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d47656d6d61253230332d6f72616e67653f6c6f676f3d676f6f676c65"&gt;&lt;img src="https://camo.githubusercontent.com/c5e221f175d0d339a8501058230ffb271aec375297db2b93210bee9bc26bd4cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d47656d6d61253230332d6f72616e67653f6c6f676f3d676f6f676c65" alt="Gemma"&gt;&lt;/a&gt;python app.py
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/34f43e33ebbeffbd08ad1db7e3c7b5f40d728c58f28bc214ac571e1f553d6abe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e666572656e63652d4f6c6c616d612d626c61636b"&gt;&lt;img src="https://camo.githubusercontent.com/34f43e33ebbeffbd08ad1db7e3c7b5f40d728c58f28bc214ac571e1f553d6abe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e666572656e63652d4f6c6c616d612d626c61636b" alt="Ollama"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e"&gt;&lt;img src="https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🤔 What Does It Do?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Tell it your attendance percentage, teacher strictness, upcoming tests, and more — and it uses &lt;strong&gt;Gemma&lt;/strong&gt; (running locally via Ollama) to analyze whether you can safely skip your next class.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📊 Attendance tracking with visual bar&lt;/li&gt;
&lt;li&gt;👨‍🏫 Teacher strictness rating (1-10)&lt;/li&gt;
&lt;li&gt;📝 Upcoming test/assignment awareness&lt;/li&gt;
&lt;li&gt;🤝 Proxy availability consideration&lt;/li&gt;
&lt;li&gt;⏰ Full day timetable context (gap &amp;amp; packed day analysis)&lt;/li&gt;
&lt;li&gt;🧪 Lecture vs Lab vs Tutorial differentiation&lt;/li&gt;
&lt;li&gt;📈 Subject difficulty &amp;amp; grade situation analysis&lt;/li&gt;
&lt;li&gt;🎯 Risk score (1-10) with detailed reasoning&lt;/li&gt;
&lt;li&gt;💡 Witty, relatable advice from the AI&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🔒 V1 — Local / Privacy Edition&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;main&lt;/code&gt; branch is designed to run locally using &lt;strong&gt;Gemma 3 4B + Ollama&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Your attendance, grades, timetable, and…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/grkadam7/should-i-skip-class-ai" 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;The stack is super lightweight:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python + Flask&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Inference:&lt;/strong&gt; Ollama API + Gemma 3&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Vanilla HTML/CSS/JS with a dark, glassmorphic UI so it looks premium.
&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcv8eea7v21pjvucqzfq6.png" alt="A dark glassmorphic web dashboard showing the AI attendance advisor verdict and risk score" width="800" height="394"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of writing complex &lt;code&gt;if/else&lt;/code&gt; statements for every possible scenario, the frontend collects the context (current attendance, teacher strictness, proxy availability, and their &lt;em&gt;full day's timetable&lt;/em&gt;) and passes it to Flask. &lt;/p&gt;

&lt;p&gt;Flask then sends a highly specific system prompt to the local Gemma model. Gemma acts as the advisor, looking for massive schedule gaps or "sleep tax" morning classes, and returns a strict JSON response with a verdict (&lt;code&gt;SAFE TO SKIP&lt;/code&gt;, &lt;code&gt;ATTEND&lt;/code&gt;, or &lt;code&gt;RISKY SKIP&lt;/code&gt;), a risk score out of 10, and witty practical tips.&lt;/p&gt;

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

&lt;p&gt;My friend was completely against typing their terrible grades and attendance records into ChatGPT. Student data is personal! &lt;/p&gt;

&lt;p&gt;That’s why I chose to build this using &lt;strong&gt;Gemma 3 (4B)&lt;/strong&gt; running locally via &lt;strong&gt;Ollama&lt;/strong&gt;. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It’s fully offline.&lt;/li&gt;
&lt;li&gt;Zero API costs.&lt;/li&gt;
&lt;li&gt;Their academic struggles stay entirely on their own laptop.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Hacktoberfest Weekend Challenge &lt;br&gt;
Build for a Friend&lt;br&gt;
Best Use of Gemma&lt;br&gt;
Best Use of Render&lt;/p&gt;

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