<?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: Muhammad Danish</title>
    <description>The latest articles on DEV Community by Muhammad Danish (@muhammad_danish_2e7f6893d).</description>
    <link>https://dev.to/muhammad_danish_2e7f6893d</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%2F4157693%2Fbe290cd3-fd91-4b0b-805b-33e0ac99c6a6.png</url>
      <title>DEV Community: Muhammad Danish</title>
      <link>https://dev.to/muhammad_danish_2e7f6893d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammad_danish_2e7f6893d"/>
    <language>en</language>
    <item>
      <title>Touch Grass Relay: Pocket Your Phone, Run with Friends, Reach God Mode</title>
      <dc:creator>Muhammad Danish</dc:creator>
      <pubDate>Sun, 11 Oct 2026 03:18:00 +0000</pubDate>
      <link>https://dev.to/muhammad_danish_2e7f6893d/touch-grass-relay-pocket-your-phone-run-with-friends-reach-god-mode-2g7l</link>
      <guid>https://dev.to/muhammad_danish_2e7f6893d/touch-grass-relay-pocket-your-phone-run-with-friends-reach-god-mode-2g7l</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;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Most fitness apps demand your eyes: flashing rings, complex pace graphs, and turn-by-turn prompts that force you to look down at your screen while running through nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Touch Grass Relay&lt;/strong&gt; turns that inside out. It is a collaborative, real-time running web application designed specifically so &lt;strong&gt;your phone stays in your pocket the entire time&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Squad Rooms (Frictionless Joining)&lt;/strong&gt;: One runner creates a squad room and shares a 6-character code or QR code. Teammates join in 3 seconds from their mobile browsers—no app store downloads, no registrations, and no paywalls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared Anime Power Levels&lt;/strong&gt;: Distance is pooled collectively across all runners in real time to unlock squad transformations:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;0 km&lt;/strong&gt;: &lt;em&gt;Base Form&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Awakened&lt;/strong&gt;: Cyan pulse (Initial limit break)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kaioken&lt;/strong&gt;: Crimson surge (Limits broken)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Super Syana&lt;/strong&gt;: Golden aura unlocked&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Syana 2&lt;/strong&gt;: Violet lightning crackles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;God Mode&lt;/strong&gt;: Neon pink final form unlocked
&lt;em&gt;(Thresholds scale dynamically whether you run solo, in pairs, or in full squads).&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hands-Free Audio Coaching&lt;/strong&gt;: The Web Speech API announces milestone updates and tier transitions straight to your earbuds: &lt;em&gt;"Aura rising! 10 km combined. Kaioken unlocked!"&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pocket Mode (OLED Power Saver)&lt;/strong&gt;: Once the run starts, the app enters Pocket Mode. The screen goes pure &lt;code&gt;#000000&lt;/code&gt; (drawing near-zero power on modern OLED screens) and engages the Screen Wake Lock API to prevent mobile operating systems from freezing background GPS and WebSockets in your pocket. A 1-second hold-to-unlock gesture prevents accidental fabric friction touches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-Run Battle Story &amp;amp; Badges&lt;/strong&gt;: At the end of the session, the squad receives a generated battle story, geographical territory coverage computed via Turf.js convex hull algorithms, and individual achievement badges (&lt;em&gt;Top Contributor&lt;/em&gt;, &lt;em&gt;First Blood&lt;/em&gt;, &lt;em&gt;Iron Will&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/danishjk2156/Run" rel="noopener noreferrer"&gt;https://github.com/danishjk2156/Run&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Multi-Runner Simulator&lt;/strong&gt;: You can test the full live experience right from your desk without stepping outside:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="c"&gt;# Inside server/&lt;/span&gt;
  npm run fake-gps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This spins up a 4-runner squad (&lt;em&gt;Goku, Vegeta, Piccolo, Gohan&lt;/em&gt;) streaming realistic running GPS telemetry through WebSockets, triggering live tier ascensions and audio cues.&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/danishjk2156" rel="noopener noreferrer"&gt;
        danishjk2156
      &lt;/a&gt; / &lt;a href="https://github.com/danishjk2156/Run" rel="noopener noreferrer"&gt;
        Run
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🏃‍♂️⚡ TOUCH GRASS RELAY (RUN)&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;&lt;em&gt;Pocket Your Phone. Run with Friends. Reach God Mode.&lt;/em&gt;&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;A mobile-first, collaborative running web application designed so your phone stays inside your pocket the entire time. Distance is pooled in real-time across your squad to unlock collective anime power transformations, coached hands-free through your earbuds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://react.dev/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/acc7ef207ec52113c1528c9db7832829e26caeb821b0dd8d8e80e34639cae4b1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31382d3631444146423f6c6f676f3d7265616374266c6f676f436f6c6f723d626c61636b" alt="React"&gt;&lt;/a&gt;
&lt;a href="https://www.typescriptlang.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5ffc904adfaaf441071d4d23c39ef365f4d5cff04f34e2e55e05d5c007ada4f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d352e382d3331373843363f6c6f676f3d74797065736372697074266c6f676f436f6c6f723d7768697465" alt="TypeScript"&gt;&lt;/a&gt;
&lt;a href="https://nodejs.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/57ca4a37b5f3099e4e1a4f692e097115154b2f90cff78a4825870e20d1a137fe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6f64652e6a732d31382b2d3333393933333f6c6f676f3d6e6f64652e6a73266c6f676f436f6c6f723d7768697465" alt="Node.js"&gt;&lt;/a&gt;
&lt;a href="https://socket.io/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1e9441099ca360e55c1726f51d420274fc019174b5a9a03192f0552bc6e5bc8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f536f636b65742e696f2d342e382d3031303130313f6c6f676f3d736f636b65742e696f266c6f676f436f6c6f723d7768697465" alt="Socket.io"&gt;&lt;/a&gt;
&lt;a href="https://tailwindcss.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2725a03cfcc7111027440ec31b485b2926c5b13b1c5212b08420ff642cc67b28/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5461696c77696e644353532d332e342d3338423241433f6c6f676f3d7461696c77696e642d637373266c6f676f436f6c6f723d7768697465" alt="Tailwind CSS"&gt;&lt;/a&gt;
&lt;a href="https://maplibre.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6f249083c96fba619473ce8dc6acc20fcb06ebe2acb69f657eb7222d736f8eed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d61704c696272655f474c2d352e312d3339364342313f6c6f676f3d6d61706c69627265266c6f676f436f6c6f723d7768697465" alt="MapLibre"&gt;&lt;/a&gt;
&lt;a href="https://github.com/danishjk2156/Run/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/danishjk2156/Run#-system-architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/Run#-core-features" rel="noopener noreferrer"&gt;Features&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/Run#-user-workflow" rel="noopener noreferrer"&gt;Workflow&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/Run#-use-cases" rel="noopener noreferrer"&gt;Use Cases&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/Run#-getting-started" rel="noopener noreferrer"&gt;How to Run&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/Run#-tech-stack" rel="noopener noreferrer"&gt;Tech Stack&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📖 Overview&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Most fitness and tracking apps demand your eyes: flashing rings, complex pace charts, and turn-by-turn prompts that force you to look down at your screen while running through nature.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Touch Grass Relay&lt;/strong&gt; flips this dynamic inside-out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero Screen Glancing:&lt;/strong&gt; Put on your headphones, start the relay, lock into &lt;strong&gt;Pocket Mode&lt;/strong&gt;, and slide the phone into your pocket.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared Anime Transformations:&lt;/strong&gt; Runners in the same room pool their distances in real-time. Hit collective distance milestones to ascend from &lt;em&gt;Base Form&lt;/em&gt; all the way…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/danishjk2156/Run" 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 entire project is built with open web standards and open-source tooling:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📱 Client (Mobile Web / PWA)
├── React 18 + Vite + Tailwind CSS
├── Screen Wake Lock API (keeps GPS &amp;amp; WebSockets active without screen wake)
├── Web Speech API (hands-free audio cues in earbuds)
├── MapLibre GL JS + OpenStreetMap (100% free vector map tiles)
└── Socket.io Client (low-latency coordinate streaming)

🖥️ Server (Node.js + TypeScript)
├── Express + Socket.io Server
├── Zod (strict validation for every incoming GPS batch)
├── Turf.js (Haversine geodesic distance &amp;amp; convex hull area calculations)
├── Tier &amp;amp; Badge Engine (idempotent threshold triggers with squad scaling)
└── In-memory room store (PostgreSQL &amp;amp; Redis migration ready)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The 5-Stage GPS Anti-Cheat Pipeline
&lt;/h3&gt;

&lt;p&gt;To eliminate stationary GPS drift and cheating (cars/bicycles), every coordinate batch passes through a strict validation gate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accuracy Gate&lt;/strong&gt;: Points with error radius &lt;code&gt;&amp;gt; 25m&lt;/code&gt; are rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed Gate&lt;/strong&gt;: Speeds &lt;code&gt;&amp;gt; 25 km/h&lt;/code&gt; are rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drift Gate&lt;/strong&gt;: Discards stationary jitter &lt;code&gt;&amp;lt; 3m&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teleport Gate&lt;/strong&gt;: Rejects sudden GPS jumps &lt;code&gt;&amp;gt; 500m&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rate Limit&lt;/strong&gt;: Enforces clean point spacing (minimum 3 seconds).&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero Data Extraction &amp;amp; Surveillance&lt;/strong&gt;: Commercial fitness platforms hoard and monetize location telemetry, selling personal heatmaps to data brokers. Touch Grass Relay operates on private ephemeral room channels; coordinates belong to you and your squad, not ad networks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero App Store Taxes &amp;amp; Gatekeepers&lt;/strong&gt;: By using open web standards (WebSockets, Geolocation API, Screen Wake Lock API, Web Speech), there are no 30% developer fees, no approval queues, and no Apple Developer Account restrictions. Anyone with a smartphone browser can run together instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Proprietary API Lock-In&lt;/strong&gt;: Maps are rendered with &lt;strong&gt;MapLibre GL&lt;/strong&gt; and &lt;strong&gt;OpenStreetMap&lt;/strong&gt; instead of expensive closed map APIs. Audio runs client-side via &lt;strong&gt;Web Speech&lt;/strong&gt;, requiring $0 in cloud TTS subscription fees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community Moddability&lt;/strong&gt;: Because the tier ladder, badges, and story generators are open-source and modular, run clubs can fork the codebase to build custom themes (e.g., sci-fi ranks, trail challenges, or marathon training milestones).&lt;/li&gt;
&lt;/ol&gt;




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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hacktoberfest Week 1: Touch Grass Challenge&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>📚 Title: Learning Ledger — An AI That Remembers What You Learn from Scientific Papers and Tells You When It Becomes Wrong</title>
      <dc:creator>Muhammad Danish</dc:creator>
      <pubDate>Mon, 05 Oct 2026 16:21:54 +0000</pubDate>
      <link>https://dev.to/muhammad_danish_2e7f6893d/title-learning-ledger-an-ai-that-remembers-what-you-learn-from-scientific-papers-and-tells-207d</link>
      <guid>https://dev.to/muhammad_danish_2e7f6893d/title-learning-ledger-an-ai-that-remembers-what-you-learn-from-scientific-papers-and-tells-207d</guid>
      <description>&lt;p&gt;&lt;strong&gt;Primary Tags:&lt;/strong&gt; &lt;code&gt;#devchallenge&lt;/code&gt;, &lt;code&gt;#hacktoberfest&lt;/code&gt;, &lt;code&gt;#ai&lt;/code&gt;, &lt;code&gt;#opensource&lt;/code&gt;&lt;/p&gt;




&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 &lt;strong&gt;Learning Ledger&lt;/strong&gt; for my close friend and lab partner who spends 20+ hours a week reading academic preprints in computer science and bioinformatics. &lt;/p&gt;

&lt;p&gt;Last semester, they experienced a researcher’s worst nightmare: weeks before submitting a thesis proposal, they found out that a primary empirical baseline cited across their work had been quietly retracted due to irreproducible data. They had hundreds of reading notes stored across Notion and markdown files, but &lt;strong&gt;no system in their workflow was tracking whether the scientific beliefs they had recorded months ago were still true&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When researchers and students read literature, they formulate beliefs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;"LoRA reduces trainable parameters by 10,000x with comparable accuracy"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Molecule X inhibits Receptor Y in vitro"&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yet science evolves rapidly: papers get retracted, errata and corrections are issued, or the student slightly misinterprets or exaggerates the author’s exact text. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning Ledger&lt;/strong&gt; is an intelligent research memory system that remembers what you learn from scientific papers and &lt;strong&gt;actively alerts you when it becomes wrong&lt;/strong&gt;. It indexes academic PDFs, lets students ask grounded questions with verbatim citations, verifies that recorded beliefs strictly entail source quotes using typed decision models (&lt;strong&gt;Jev 1.13&lt;/strong&gt;), and continuously monitors literature against retractions, errata, and confidence decay so you know when to &lt;strong&gt;unlearn&lt;/strong&gt; or &lt;strong&gt;revise&lt;/strong&gt;.&lt;/p&gt;




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

&lt;p&gt;The application runs locally with a modern Scholar Edition dashboard (&lt;code&gt;http://localhost:8000&lt;/code&gt;) built with Swiss Modernism 2.0 design principles:&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🏛️ &lt;strong&gt;Student Scholar Interface&lt;/strong&gt;: Editorial layout featuring &lt;em&gt;Newsreader&lt;/em&gt; serif typography, gold leaf accents, and a subtle millimeter-grid notebook texture.&lt;/li&gt;
&lt;li&gt;🎴 &lt;strong&gt;Study Cards &amp;amp; Active Recall Mode&lt;/strong&gt;: A revision toggle that hides verbatim quotes and prompts students: &lt;em&gt;"Can you cite the proof?"&lt;/em&gt;, allowing active recall testing before revealing the supporting quote.&lt;/li&gt;
&lt;li&gt;⚖️ &lt;strong&gt;Jev 1.13 Decision Gate&lt;/strong&gt;: Evaluates quote-to-claim entailment via typed probability ($0.0 - 1.0$), ensuring students don't exaggerate findings.&lt;/li&gt;
&lt;li&gt;🛡️ &lt;strong&gt;Continuous 4-Layer Audit&lt;/strong&gt;: Scans claims against a local 300MB Retraction Watch SQLite database, Crossref &lt;code&gt;update-to&lt;/code&gt; errata, and field-velocity temporal decay.&lt;/li&gt;
&lt;li&gt;📋 &lt;strong&gt;One-Click APA Citations&lt;/strong&gt;: Copies formatted academic citations directly to the clipboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(Add your deployed URL or video demo link here if available)&lt;/em&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/danishjk2156" rel="noopener noreferrer"&gt;
        danishjk2156
      &lt;/a&gt; / &lt;a href="https://github.com/danishjk2156/learning-ledger-AI" rel="noopener noreferrer"&gt;
        learning-ledger-AI
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &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;📚 Learning Ledger (AI)&lt;/h1&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;a href="https://python.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/bf139b4e7209c9a19d178ba34499ffd9a95e404d13327eaf7bde6376adf78008/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31302532422d626c75653f6c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465" alt="Python"&gt;&lt;/a&gt;
&lt;a href="https://fastapi.tiangolo.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/3ec19a323405747f1b8232f87847bb1c68d29adde50c98dd947911b87c0c9afd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466173744150492d302e3131302532422d3030393638383f6c6f676f3d66617374617069266c6f676f436f6c6f723d7768697465" alt="FastAPI"&gt;&lt;/a&gt;
&lt;a href="https://aistudio.google.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/63f1de3c664137677e1fb770059b65d5936ea12f560082399732dade91beca45/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f476f6f676c6525323047656d696e692d332e38253230466c6173682d3845373543323f6c6f676f3d676f6f676c65266c6f676f436f6c6f723d7768697465" alt="Google Gemini"&gt;&lt;/a&gt;
&lt;a href="https://openrouter.ai" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/613dceb738c6b0e72a84d295896b509b22fc794e906776b725773c0c945ced91/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6576253230312e31332d547970655361666525323053444b2d464637303433" alt="Jev Decision Gate"&gt;&lt;/a&gt;
&lt;a href="https://pypi.org/project/openharness-ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ecfe9af0d71ee50806657f0eef17e89140034ffdeb3dab8aabd78287bcaaa66e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861726e6573732d4f70656e4861726e6573732d2d41492d627269676874677265656e" alt="OpenHarness"&gt;&lt;/a&gt;
&lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4456072ca3a4e6cb2972b649317d5cdcb599a33a2bddbb34fcb6ff3a8941fdab/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6f63616c2532304d6f64656c2d49424d2532304772616e6974652d626c61636b3f6c6f676f3d69626d" alt="Local Inference"&gt;&lt;/a&gt;
&lt;a href="https://www.trychroma.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f1f3651d891023d40a17cab65f20650b8031cf726cd36bf3ec9361513ee23121/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f566563746f7225323053746f72652d4368726f6d6144422d707572706c65" alt="Vector Store"&gt;&lt;/a&gt;
&lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;An intelligent research memory system that remembers what you learn from scientific papers and tells you when it becomes wrong.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-running-locally" rel="noopener noreferrer"&gt;Live Dashboard&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-system-architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-execution-flowchart" rel="noopener noreferrer"&gt;Flowchart&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-technology-stack" rel="noopener noreferrer"&gt;Tech Stack&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-local-installation-guide" rel="noopener noreferrer"&gt;Installation&lt;/a&gt; • &lt;a href="https://github.com/danishjk2156/learning-ledger-AI#-how-to-push-changes-to-github" rel="noopener noreferrer"&gt;Git Push Guide&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📌 The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;When students, graduate researchers, and engineers read scientific literature, they synthesize key findings into mental models or notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;"Model X reduces fine-tuning parameters by 10,000x with zero accuracy loss"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Molecule A inhibits Target B in vitro"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Algorithm Q scales quadratically rather than exponentially"&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, &lt;strong&gt;scientific knowledge is not permanent&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Retraction &amp;amp; Replication Crisis&lt;/strong&gt;: Thousands of peer-reviewed papers are retracted, withdrawn, or flagged every year due to data manipulation, ethical lapses, or flawed methodologies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-Publication Errata &amp;amp; Amendments&lt;/strong&gt;: Authors routinely publish corrections and errata via Crossref that alter experimental parameters, margins of error, or code baselines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semantic Drift &amp;amp; Human Overstatement&lt;/strong&gt;: When students summarize…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/danishjk2156/learning-ledger-AI" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Learning Ledger is 100% open-source under the MIT License.&lt;/p&gt;




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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ Research PDF ] ──► pypdf parser ──► Academic Watermark Stripper
                                               │
               Header-Based Semantic Chunking ──┘
                             │
                             ▼
  ChromaDB Vector Store ◄─── Gemini embedding-001 (Dense Vectors)
       │
       ├─► Student Question ──► IBM Granite Classifier (Local Ollama / HF)
       │                              │
       │                              ▼
       └─► Grounded Retrieval ──► Gemini 3.8 Flash (Verbatim Citations)
                   │
                   ▼
     User records: "Claim X backed by Quote Y"
                   │
                   ▼
    Jev 1.13 Decision Gate (TypeSafe SDK via OpenRouter)
        └─ Noul(claim_support) &amp;gt; 0.50 ──► Stored in SQLite Ledger (Active)
        └─ Noul(claim_support) &amp;lt;= 0.50 ──► Overstatement Alert (Suspect)
                   │
                   ▼
    Continuous Multi-Source Audit (Retraction Watch + Crossref API + Cascade Decay)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Agent Tool Harness (&lt;code&gt;openharness-ai&lt;/code&gt;)&lt;/strong&gt;:
All user actions (&lt;code&gt;drop_paper&lt;/code&gt;, &lt;code&gt;ask_question&lt;/code&gt;, &lt;code&gt;learn_claim&lt;/code&gt;, &lt;code&gt;revalidate_claims&lt;/code&gt;, &lt;code&gt;check_doi&lt;/code&gt;) are defined as typed Pydantic tool schemas in &lt;code&gt;src/tools.py&lt;/code&gt;, enabling autonomous tool-calling and agent orchestration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Model Routing (&lt;code&gt;IBM Granite&lt;/code&gt;)&lt;/strong&gt;:
Student questions are classified locally by &lt;strong&gt;IBM Granite&lt;/strong&gt; (&lt;code&gt;granite3-dense:2b&lt;/code&gt; via Ollama or &lt;code&gt;cnmoro/granite-question-classifier&lt;/code&gt; on Hugging Face). This instantly routes small talk away from the vector database, keeping the pipeline snappy and offline-friendly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typed Decision Gate (&lt;code&gt;Jev 1.13&lt;/code&gt; via &lt;code&gt;typesafe-sdk&lt;/code&gt;)&lt;/strong&gt;:
Instead of asking an LLM to generate unstructured prose that requires brittle regex parsing, Jev returns typed mathematical evaluations:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Noul&lt;/code&gt; ($0.0 - 1.0$): Determines whether the verbatim paper quote strictly supports the student's claimed finding without overstatement.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Choice&lt;/code&gt;: Determines retrieval routing (&lt;code&gt;local_retrieve&lt;/code&gt;, &lt;code&gt;llm_synthesize&lt;/code&gt;, &lt;code&gt;stop&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4-Layer Continuous Integrity Engine&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Retraction Watch SQLite Index&lt;/strong&gt;: Full local offline database generated from the Crossref Retraction Watch dataset (~300MB).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crossref REST API&lt;/strong&gt;: Queries the live &lt;code&gt;update-to&lt;/code&gt; endpoint for freshly published errata.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAlex &amp;amp; Unpaywall&lt;/strong&gt;: Resolves open-access PDFs, citation counts, and publication version history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field-Velocity Confidence Decay&lt;/strong&gt;: Models disciplinary aging rate ($\text{Decay} = \frac{1}{1 + \text{velocity} \times \text{age}}$), decaying fast-moving ML papers ($0.50/\text{year}$) faster than pure mathematics ($0.05/\text{year}$).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;In scientific education and research, &lt;strong&gt;academic reproducibility and trust are paramount&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Closed, proprietary AI systems treat knowledge as black-box text generation. When a commercial model cites a retracted paper or hallucinates a benchmark number, it offers zero visibility into &lt;em&gt;why&lt;/em&gt;. Furthermore, locked APIs force students to upload sensitive or unpublished thesis research to third-party clouds.&lt;/p&gt;

&lt;p&gt;Open innovation made Learning Ledger possible:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Open Science Data&lt;/strong&gt;: Crossref and Retraction Watch open datasets allow students to run millisecond-fast integrity audits completely offline without recurring API costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Inference for Student Privacy&lt;/strong&gt;: Running local query classification on-device (via IBM Granite and Ollama) ensures draft research questions never leave the student's machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verifiable Probabilities Over Black Boxes&lt;/strong&gt;: Combining open-source agent harnesses (&lt;code&gt;openharness-ai&lt;/code&gt;) with typed decision gates replaces "vibe-based" answers with verifiable numbers.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Main Category&lt;/strong&gt;: Build for a Friend (Education &amp;amp; Student Researcher Integrity)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI Track&lt;/strong&gt;: Best Use of Open-Source AI, Local Inference &amp;amp; Agent Harnesses (&lt;code&gt;openharness-ai&lt;/code&gt;, &lt;code&gt;IBM Granite&lt;/code&gt;, &lt;code&gt;ChromaDB&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

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