<?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: Joydeep Banik</title>
    <description>The latest articles on DEV Community by Joydeep Banik (@joydeep_banik_a25a3b3aef3).</description>
    <link>https://dev.to/joydeep_banik_a25a3b3aef3</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%2F2022012%2Fbda92c0e-6e00-4513-b737-13f39c9ccc32.jpg</url>
      <title>DEV Community: Joydeep Banik</title>
      <link>https://dev.to/joydeep_banik_a25a3b3aef3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joydeep_banik_a25a3b3aef3"/>
    <language>en</language>
    <item>
      <title>Touching Grass with Local AI: Building Waypoint Autopilot</title>
      <dc:creator>Joydeep Banik</dc:creator>
      <pubDate>Wed, 21 Oct 2026 06:26:47 +0000</pubDate>
      <link>https://dev.to/joydeep_banik_a25a3b3aef3/touching-grass-with-local-ai-building-waypoint-autopilot-58ni</link>
      <guid>https://dev.to/joydeep_banik_a25a3b3aef3/touching-grass-with-local-ai-building-waypoint-autopilot-58ni</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;&lt;strong&gt;Waypoint Autopilot&lt;/strong&gt; is a mobile-first, privacy-centric Progressive Web App (PWA) designed to get you off the screen and into the real world. It generates autonomous, context-aware pedestrian exploration missions through your city or local parks without requiring you to constantly stare at a map.&lt;/p&gt;

&lt;p&gt;It is built for urban explorers, mindful walkers, and anyone looking to discover hidden gems (like quiet greenways, historic landmarks, or vibrant pedestrian alleys) in their vicinity. By using an "Eyes Up, Phone Away" philosophy, the app calculates a deterministic route using open geographic data, delivers a locally-generated AI mission briefing &lt;em&gt;before&lt;/em&gt; you leave, and then lets you cache the entire mission offline. While walking, it uses subtle audio and haptic cues to guide you from waypoint to waypoint, ensuring you remain present in your surroundings.&lt;/p&gt;

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

&lt;p&gt;Since this application relies on a local AI model for mission preparation and heavily utilizes device-native features (like GPS and IndexedDB for offline storage), the best way to experience it is to run it locally!&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;journey
    title A Typical Waypoint Mission
    section Preparation
      Set anchor &amp;amp; radius: 5: User
      Select exploration style: 5: User
      Local AI generates brief: 4: AI
      Cache for offline use: 5: User
    section The Walk
      Put phone in pocket: 5: User
      Walk to Waypoint 1: 4: User
      Audio chime on arrival: 5: System
      Glance to confirm: 5: User
    section Completion
      Return to start: 4: User
      View mission summary: 5: User&lt;/code&gt;&lt;/pre&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/Joydeep2005Banik" rel="noopener noreferrer"&gt;
        Joydeep2005Banik
      &lt;/a&gt; / &lt;a href="https://github.com/Joydeep2005Banik/waypoint" rel="noopener noreferrer"&gt;
        waypoint
      &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;Waypoint Autopilot&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Waypoint Autopilot&lt;/strong&gt; is a mobile-first, installable web application (PWA) that guides a person through an ordered sequence of real-world geographic waypoints for pedestrian exploration of cities and parks.&lt;/p&gt;
&lt;p&gt;It is designed around an &lt;strong&gt;"Eyes Up, Phone Away"&lt;/strong&gt; philosophy: alerting walkers with distinct audio and glanceable waypoint cues upon arrival so they can keep their phones in their pockets.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Technical Stack &amp;amp; Architecture&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend &amp;amp; App Framework&lt;/strong&gt;: Next.js 14 (App Router), React 18, TypeScript (strict).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling &amp;amp; Design System&lt;/strong&gt;: Tailwind CSS with outdoor-optimized high-contrast palettes and 48px+ touch targets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mapping &amp;amp; Geometry&lt;/strong&gt;: Leaflet and React-Leaflet with OpenStreetMap tiles and pedestrian topology.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Navigation State Machine&lt;/strong&gt;: Pure TypeScript finite state machine with noisy GPS filters, arrival dwell confirmation, and route deviation detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Persistence &amp;amp; Privacy&lt;/strong&gt;: Local storage &amp;amp; IndexedDB for mission storage, waypoint logs, and offline tile caching. Zero remote tracking or telemetry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Weight AI&lt;/strong&gt;…&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/Joydeep2005Banik/waypoint" 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;Waypoint Autopilot is built using Next.js 14, React, Leaflet, and TailwindCSS for a sleek, highly-responsive mobile UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Open-Source AI Integration:&lt;/strong&gt;&lt;br&gt;
The project uses &lt;strong&gt;Ollama&lt;/strong&gt; running locally (specifically recommending the &lt;code&gt;qwen2.5:1.5b&lt;/code&gt; open-weight model) to act as your personal "Mission Commander." Before you embark on your walk, the application queries the local LLM with the deterministic waypoints it gathered. The AI generates a rich, contextual pre-departure briefing—adding narrative flavor and context to the route based on the POIs.&lt;/p&gt;

&lt;p&gt;Crucially, &lt;strong&gt;the AI is strictly sandboxed to the preparation phase.&lt;/strong&gt; Pathfinding, obstacle avoidance, and waypoint progression are governed entirely by deterministic spatial algorithms (OSRM and OpenStreetMap Overpass API) to ensure pedestrian safety. The AI never hallucinates navigation instructions or routing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline-First &amp;amp; Privacy Architecture:&lt;/strong&gt;&lt;br&gt;
Once the mission is prepared, the entire payload (route geometry, AI briefing, map data) is serialized into IndexedDB. A PWA Service Worker caches the application shell. You can completely disconnect from the internet and cellular data, and the app will continue to track your progress using offline device GPS. Furthermore, there is zero remote telemetry—no accounts, no analytics, and no continuous location tracking sent to any servers.&lt;/p&gt;

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

&lt;p&gt;Open innovation is the core enabler of Waypoint Autopilot. &lt;/p&gt;

&lt;p&gt;If this app were built on closed APIs, it would be impossible to guarantee the absolute privacy of the user's location data. By using &lt;strong&gt;OpenStreetMap (ODbL)&lt;/strong&gt; for POI discovery and routing, we bypass proprietary mapping ecosystems that monetize location history. By using &lt;strong&gt;Ollama and open-weight models&lt;/strong&gt; running strictly on &lt;code&gt;localhost:11434&lt;/code&gt;, the user's contextual data and starting location never leave their device to hit a corporate inference endpoint. &lt;/p&gt;

&lt;p&gt;Open innovation makes it possible to build an application that genuinely respects the user's peace, privacy, and physical safety while still delivering a highly personalized, AI-enhanced experience.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>KubeSense: A Private, Local-First AI DevOps Assistant</title>
      <dc:creator>Joydeep Banik</dc:creator>
      <pubDate>Tue, 13 Oct 2026 07:25:03 +0000</pubDate>
      <link>https://dev.to/joydeep_banik_a25a3b3aef3/kubesense-a-private-local-first-ai-devops-assistant-4fn2</link>
      <guid>https://dev.to/joydeep_banik_a25a3b3aef3/kubesense-a-private-local-first-ai-devops-assistant-4fn2</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 &lt;strong&gt;KubeSense&lt;/strong&gt;, a high-density, terminal-based Kubernetes monitoring dashboard. &lt;br&gt;
I built this for my junior batchmate, who is an aspiring DevOps engineer. During one of his internships, he expressed how constant pod monitoring is cumbersome and he wanted something that is terminal native so that he does not have to switch windows while working unlike heavy web-based UIs like Lens or Rancher. He wished something lightweight that stays in the CLI but is smart enough to highlight exactly what matters and filters out the unnecessary jargon. KubeSense solves this by bringing real-time metrics and AI-driven log anomaly detection directly to their terminal window.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkq545jtofqsq52uaa62.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkq545jtofqsq52uaa62.png" alt="KubeSense Terminal Dashboard Interface" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The project is publicly available at: &lt;a href="https://github.com/Joydeep2005Banik/KubeSense" rel="noopener noreferrer"&gt;https://github.com/Joydeep2005Banik/KubeSense&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;KubeSense is built entirely in Python, utilizing a decoupled architecture driven by a central &lt;code&gt;PodMonitor&lt;/code&gt; engine. Here is a high-level look at the architecture:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    subgraph UI Layer
        A[Terminal UI]
    end
    subgraph Core Logic
        B[Monitor Engine]
    end
    subgraph Data Sources
        C[K8s API]
        D[SSH Fallback]
    end
    subgraph AI Processing
        E[Log Optimizer]
        F[LLM Providers]
    end

    B &amp;lt;--&amp;gt;|State Updates| A
    B --&amp;gt;|Fetch Metrics| C
    B --&amp;gt;|Fallback| D
    B --&amp;gt;|Raw Logs| E
    E --&amp;gt;|Clean Context| F
    F --&amp;gt;|Alerts| A&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Here is a breakdown of the core systems:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Reactive Terminal UI (Textual)
&lt;/h3&gt;

&lt;p&gt;I used the &lt;code&gt;Textual&lt;/code&gt; framework to build the dashboard. Instead of relying on heavy "while-true" redraw loops, the UI uses Textual's event-driven reactive properties. When the Monitor Engine pushes new metrics, only the changed widgets redraw, ensuring a lightning-fast, zero-overhead experience without screen tearing.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
    A[Monitor Engine] --&amp;gt;|Sends updated&amp;lt;br/&amp;gt;Metrics Object| B(Reactive Variable)
    B --&amp;gt;|Triggers Auto-Update| C[UI Node / Widget]
    C --&amp;gt;|Only redraws changed region| D[Terminal Display]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  2. Resilient Metric Collection &amp;amp; SSH Fallback
&lt;/h3&gt;

&lt;p&gt;The tool primarily connects to the cluster using the official &lt;code&gt;kubernetes&lt;/code&gt; Python client to fetch live status and log streams. However, if the cluster's K8s Metrics Server goes down, KubeSense intelligently engages a graceful fallback mechanism to connect directly to the underlying cluster nodes via &lt;code&gt;asyncssh&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;sequenceDiagram
    participant M as Monitor
    participant K as K8s Metrics API
    participant S as SSH Fallback
    participant N as Node Shell

    M-&amp;gt;&amp;gt;K: Fetch Pod CPU/Mem
    alt Metrics Server Unavailable
        K--&amp;gt;&amp;gt;M: HTTP 404 / Error
        M-&amp;gt;&amp;gt;S: Engage Fallback (asyncssh)
        S-&amp;gt;&amp;gt;N: Connect to Node via SSH
        N--&amp;gt;&amp;gt;S: Execute `top` &amp;amp; parse usage
        S--&amp;gt;&amp;gt;M: Return hardware metrics
    else Success
        K--&amp;gt;&amp;gt;M: Standard API Metrics
    end&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  3. Log Optimization Pipeline
&lt;/h3&gt;

&lt;p&gt;Logs can be incredibly noisy and expensive to process. Before any logs touch the AI, they pass through a custom &lt;code&gt;LogOptimizer&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
    A[Raw Log Stream] --&amp;gt; B{Severity Filter}
    B -- Keep WARNING+ --&amp;gt; C[Deduplication]
    C --&amp;gt;|Collapse repeated| D[PII Scrubbing]
    D --&amp;gt;|Mask IPs/UUIDs| E[Optimized Payload]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This ensures the context window remains small, protecting privacy and saving tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Multi-Provider AI Engine (Local-First)
&lt;/h3&gt;

&lt;p&gt;For the AI core, I implemented an abstract factory pattern to handle the anomaly detection. While it supports BYOK for cloud providers like Groq or OpenAI, the default engine runs entirely locally via &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A[Optimized Payload] --&amp;gt; B{AI Factory Config}
    B --&amp;gt;|groq| C[GroqProvider&amp;lt;br/&amp;gt;Cloud API]
    B --&amp;gt;|openai| D[OpenAIProvider&amp;lt;br/&amp;gt;Cloud API]
    B --&amp;gt;|ollama| E[OllamaProvider&amp;lt;br/&amp;gt;Local/Air-gapped]
    B --&amp;gt;|mock| F[MockProvider&amp;lt;br/&amp;gt;Heuristics Fallback]

    C &amp;amp; D &amp;amp; E &amp;amp; F --&amp;gt; G[JSON Enforcement &amp;amp; Parser]
    G --&amp;gt; H[Anomaly Alerts to UI]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Log Filtering &amp;amp; Deduplication:&lt;/strong&gt; Aggressively filters noise (&lt;code&gt;INFO&lt;/code&gt;, &lt;code&gt;DEBUG&lt;/code&gt;), deduplicates repeated errors, and scrubs PII before any AI processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BYOK (Bring Your Own Key):&lt;/strong&gt; While local open-weight models via Ollama are the default, you can easily plug in an API key for Groq or OpenAI via &lt;code&gt;config.yaml&lt;/code&gt; or environment variables if you prefer cloud inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSH Fallback:&lt;/strong&gt; Automatically drops to a direct SSH connection to scrape node hardware via &lt;code&gt;top&lt;/code&gt; if the Kubernetes Metrics Server isn't available.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As KubeSense streams the optimized container logs, it passes these batches to an open-weight model running locally. The model analyzes the logs in the background, strictly returning structured JSON, and alerts to warnings, hidden errors, or unusual patterns before they escalate without adding any overhead to the cluster itself.&lt;/p&gt;

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

&lt;p&gt;Deploying open-weight models locally resolves critical architectural and operational limitations associated with closed APIs:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data Sovereignty &amp;amp; Air-Gapped Execution
&lt;/h3&gt;

&lt;p&gt;Kubernetes logs frequently leak sensitive infrastructure data, internal IP schemas, and environment variables. Streaming these logs to a third-party server via a closed API introduces unacceptable security risks and compliance violations (e.g., SOC2/HIPAA). By running inference locally via Ollama, KubeSense ensures complete data sovereignty. The tool can operate entirely offline, making AI-driven log analysis viable for strict, air-gapped environments.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. O(1) Inference Costs
&lt;/h3&gt;

&lt;p&gt;Streaming high-volume log data through a token-metered API creates unbounded operational costs. Local inference with open-weight models reduces the marginal cost of analysis to zero, making continuous 24/7 log processing financially viable.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Hardware-Specific Model Tuning
&lt;/h3&gt;

&lt;p&gt;Closed ecosystems abstract away model selection. An open architecture allows users to define the exact AI engine based on their hardware constraints. Systems with limited VRAM can deploy highly efficient models like Google's &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma:2b&lt;/code&gt;), while robust systems can load higher-parameter models (e.g., &lt;code&gt;llama3.1:8b&lt;/code&gt;) for complex log reasoning.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Deterministic Availability
&lt;/h3&gt;

&lt;p&gt;Cloud AI APIs introduce network latency and are subject to &lt;code&gt;HTTP 429 Too Many Requests&lt;/code&gt; rate limits. When triaging a production cluster outage, network dependency and API throttling are unacceptable. Local open-weight models guarantee deterministic availability and consistent latency independent of external network conditions.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; (Using Google's Gemma open-weight model via Ollama for local log anomaly detection)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's Chat! 💬
&lt;/h3&gt;

&lt;p&gt;If you have any questions about how the architecture works, why I chose Textual, or how to set up Ollama for your own cluster monitoring, &lt;strong&gt;please drop a comment below!&lt;/strong&gt; I'd love to discuss why I think lightweight, terminal-native tools are often far more effective than heavy dashboards, and hear your thoughts on local AI for DevOps.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Touching Grass with Local AI: Building Waypoint Autopilot</title>
      <dc:creator>Joydeep Banik</dc:creator>
      <pubDate>Sat, 10 Oct 2026 16:08:04 +0000</pubDate>
      <link>https://dev.to/joydeep_banik_a25a3b3aef3/touching-grass-with-local-ai-building-waypoint-autopilot-2lmh</link>
      <guid>https://dev.to/joydeep_banik_a25a3b3aef3/touching-grass-with-local-ai-building-waypoint-autopilot-2lmh</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;&lt;strong&gt;Waypoint Autopilot&lt;/strong&gt; is a mobile-first, privacy-centric Progressive Web App (PWA) designed to get you off the screen and into the real world. It generates autonomous, context-aware pedestrian exploration missions through your city or local parks without requiring you to constantly stare at a map.&lt;/p&gt;

&lt;p&gt;It is built for urban explorers, mindful walkers, and anyone looking to discover hidden gems (like quiet greenways, historic landmarks, or vibrant pedestrian alleys) in their vicinity. By using an "Eyes Up, Phone Away" philosophy, the app calculates a deterministic route using open geographic data, delivers a locally-generated AI mission briefing &lt;em&gt;before&lt;/em&gt; you leave, and then lets you cache the entire mission offline. While walking, it uses subtle audio and haptic cues to guide you from waypoint to waypoint, ensuring you remain present in your surroundings.&lt;/p&gt;

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

&lt;p&gt;Since this application relies on a local AI model for mission preparation and heavily utilizes device-native features (like GPS and IndexedDB for offline storage), the best way to experience it is to run it locally!&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;journey
    title A Typical Waypoint Mission
    section Preparation
      Set anchor &amp;amp; radius: 5: User
      Select exploration style: 5: User
      Local AI generates brief: 4: AI
      Cache for offline use: 5: User
    section The Walk
      Put phone in pocket: 5: User
      Walk to Waypoint 1: 4: User
      Audio chime on arrival: 5: System
      Glance to confirm: 5: User
    section Completion
      Return to start: 4: User
      View mission summary: 5: User&lt;/code&gt;&lt;/pre&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/Joydeep2005Banik" rel="noopener noreferrer"&gt;
        Joydeep2005Banik
      &lt;/a&gt; / &lt;a href="https://github.com/Joydeep2005Banik/waypoint" rel="noopener noreferrer"&gt;
        waypoint
      &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;Waypoint Autopilot&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Waypoint Autopilot&lt;/strong&gt; is a mobile-first, installable web application (PWA) that guides a person through an ordered sequence of real-world geographic waypoints for pedestrian exploration of cities and parks.&lt;/p&gt;
&lt;p&gt;It is designed around an &lt;strong&gt;"Eyes Up, Phone Away"&lt;/strong&gt; philosophy: alerting walkers with distinct audio and glanceable waypoint cues upon arrival so they can keep their phones in their pockets.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Technical Stack &amp;amp; Architecture&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend &amp;amp; App Framework&lt;/strong&gt;: Next.js 14 (App Router), React 18, TypeScript (strict).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling &amp;amp; Design System&lt;/strong&gt;: Tailwind CSS with outdoor-optimized high-contrast palettes and 48px+ touch targets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mapping &amp;amp; Geometry&lt;/strong&gt;: Leaflet and React-Leaflet with OpenStreetMap tiles and pedestrian topology.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Navigation State Machine&lt;/strong&gt;: Pure TypeScript finite state machine with noisy GPS filters, arrival dwell confirmation, and route deviation detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Persistence &amp;amp; Privacy&lt;/strong&gt;: Local storage &amp;amp; IndexedDB for mission storage, waypoint logs, and offline tile caching. Zero remote tracking or telemetry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Weight AI&lt;/strong&gt;…&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/Joydeep2005Banik/waypoint" 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;Waypoint Autopilot is built using Next.js 14, React, Leaflet, and TailwindCSS for a sleek, highly-responsive mobile UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Open-Source AI Integration:&lt;/strong&gt;&lt;br&gt;
The project uses &lt;strong&gt;Ollama&lt;/strong&gt; running locally (specifically recommending the &lt;code&gt;qwen2.5:1.5b&lt;/code&gt; open-weight model) to act as your personal "Mission Commander." Before you embark on your walk, the application queries the local LLM with the deterministic waypoints it gathered. The AI generates a rich, contextual pre-departure briefing—adding narrative flavor and context to the route based on the POIs.&lt;/p&gt;

&lt;p&gt;Crucially, &lt;strong&gt;the AI is strictly sandboxed to the preparation phase.&lt;/strong&gt; Pathfinding, obstacle avoidance, and waypoint progression are governed entirely by deterministic spatial algorithms (OSRM and OpenStreetMap Overpass API) to ensure pedestrian safety. The AI never hallucinates navigation instructions or routing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline-First &amp;amp; Privacy Architecture:&lt;/strong&gt;&lt;br&gt;
Once the mission is prepared, the entire payload (route geometry, AI briefing, map data) is serialized into IndexedDB. A PWA Service Worker caches the application shell. You can completely disconnect from the internet and cellular data, and the app will continue to track your progress using offline device GPS. Furthermore, there is zero remote telemetry—no accounts, no analytics, and no continuous location tracking sent to any servers.&lt;/p&gt;

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

&lt;p&gt;Open innovation is the core enabler of Waypoint Autopilot. &lt;/p&gt;

&lt;p&gt;If this app were built on closed APIs, it would be impossible to guarantee the absolute privacy of the user's location data. By using &lt;strong&gt;OpenStreetMap (ODbL)&lt;/strong&gt; for POI discovery and routing, we bypass proprietary mapping ecosystems that monetize location history. By using &lt;strong&gt;Ollama and open-weight models&lt;/strong&gt; running strictly on &lt;code&gt;localhost:11434&lt;/code&gt;, the user's contextual data and starting location never leave their device to hit a corporate inference endpoint. &lt;/p&gt;

&lt;p&gt;Open innovation makes it possible to build an application that genuinely respects the user's peace, privacy, and physical safety while still delivering a highly personalized, AI-enhanced experience.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Ditching Web UIs: Building a Terminal-Native Kubernetes Monitor with Local AI</title>
      <dc:creator>Joydeep Banik</dc:creator>
      <pubDate>Sun, 04 Oct 2026 16:26:31 +0000</pubDate>
      <link>https://dev.to/joydeep_banik_a25a3b3aef3/ditching-web-uis-building-a-terminal-native-kubernetes-monitor-with-local-ai-1jk6</link>
      <guid>https://dev.to/joydeep_banik_a25a3b3aef3/ditching-web-uis-building-a-terminal-native-kubernetes-monitor-with-local-ai-1jk6</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 &lt;strong&gt;KubeSense&lt;/strong&gt;, a high-density, terminal-based Kubernetes monitoring dashboard. &lt;br&gt;
I built this for my junior batchmate, who is an aspiring DevOps engineer. During one of his internships, he expressed how constant pod monitoring is cumbersome and he wanted something that is terminal native so that he does not have to switch windows while working unlike heavy web-based UIs like Lens or Rancher. He wished something lightweight that stays in the CLI but is smart enough to highlight exactly what matters and filters out the unnecessary jargon. KubeSense solves this by bringing real-time metrics and AI-driven log anomaly detection directly to their terminal window.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkq545jtofqsq52uaa62.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frkq545jtofqsq52uaa62.png" alt="KubeSense Terminal Dashboard Interface" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The project is publicly available at: &lt;a href="https://github.com/Joydeep2005Banik/KubeSense" rel="noopener noreferrer"&gt;https://github.com/Joydeep2005Banik/KubeSense&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;KubeSense is built entirely in Python, utilizing a decoupled architecture driven by a central &lt;code&gt;PodMonitor&lt;/code&gt; engine. Here is a high-level look at the architecture:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    subgraph UI Layer
        A[Terminal UI]
    end
    subgraph Core Logic
        B[Monitor Engine]
    end
    subgraph Data Sources
        C[K8s API]
        D[SSH Fallback]
    end
    subgraph AI Processing
        E[Log Optimizer]
        F[LLM Providers]
    end

    B &amp;lt;--&amp;gt;|State Updates| A
    B --&amp;gt;|Fetch Metrics| C
    B --&amp;gt;|Fallback| D
    B --&amp;gt;|Raw Logs| E
    E --&amp;gt;|Clean Context| F
    F --&amp;gt;|Alerts| A&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Here is a breakdown of the core systems:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Reactive Terminal UI (Textual)
&lt;/h3&gt;

&lt;p&gt;I used the &lt;code&gt;Textual&lt;/code&gt; framework to build the dashboard. Instead of relying on heavy "while-true" redraw loops, the UI uses Textual's event-driven reactive properties. When the Monitor Engine pushes new metrics, only the changed widgets redraw, ensuring a lightning-fast, zero-overhead experience without screen tearing.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
    A[Monitor Engine] --&amp;gt;|Sends updated&amp;lt;br/&amp;gt;Metrics Object| B(Reactive Variable)
    B --&amp;gt;|Triggers Auto-Update| C[UI Node / Widget]
    C --&amp;gt;|Only redraws changed region| D[Terminal Display]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  2. Resilient Metric Collection &amp;amp; SSH Fallback
&lt;/h3&gt;

&lt;p&gt;The tool primarily connects to the cluster using the official &lt;code&gt;kubernetes&lt;/code&gt; Python client to fetch live status and log streams. However, if the cluster's K8s Metrics Server goes down, KubeSense intelligently engages a graceful fallback mechanism to connect directly to the underlying cluster nodes via &lt;code&gt;asyncssh&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;sequenceDiagram
    participant M as Monitor
    participant K as K8s Metrics API
    participant S as SSH Fallback
    participant N as Node Shell

    M-&amp;gt;&amp;gt;K: Fetch Pod CPU/Mem
    alt Metrics Server Unavailable
        K--&amp;gt;&amp;gt;M: HTTP 404 / Error
        M-&amp;gt;&amp;gt;S: Engage Fallback (asyncssh)
        S-&amp;gt;&amp;gt;N: Connect to Node via SSH
        N--&amp;gt;&amp;gt;S: Execute `top` &amp;amp; parse usage
        S--&amp;gt;&amp;gt;M: Return hardware metrics
    else Success
        K--&amp;gt;&amp;gt;M: Standard API Metrics
    end&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  3. Log Optimization Pipeline
&lt;/h3&gt;

&lt;p&gt;Logs can be incredibly noisy and expensive to process. Before any logs touch the AI, they pass through a custom &lt;code&gt;LogOptimizer&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart LR
    A[Raw Log Stream] --&amp;gt; B{Severity Filter}
    B -- Keep WARNING+ --&amp;gt; C[Deduplication]
    C --&amp;gt;|Collapse repeated| D[PII Scrubbing]
    D --&amp;gt;|Mask IPs/UUIDs| E[Optimized Payload]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This ensures the context window remains small, protecting privacy and saving tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Multi-Provider AI Engine (Local-First)
&lt;/h3&gt;

&lt;p&gt;For the AI core, I implemented an abstract factory pattern to handle the anomaly detection. While it supports BYOK for cloud providers like Groq or OpenAI, the default engine runs entirely locally via &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A[Optimized Payload] --&amp;gt; B{AI Factory Config}
    B --&amp;gt;|groq| C[GroqProvider&amp;lt;br/&amp;gt;Cloud API]
    B --&amp;gt;|openai| D[OpenAIProvider&amp;lt;br/&amp;gt;Cloud API]
    B --&amp;gt;|ollama| E[OllamaProvider&amp;lt;br/&amp;gt;Local/Air-gapped]
    B --&amp;gt;|mock| F[MockProvider&amp;lt;br/&amp;gt;Heuristics Fallback]

    C &amp;amp; D &amp;amp; E &amp;amp; F --&amp;gt; G[JSON Enforcement &amp;amp; Parser]
    G --&amp;gt; H[Anomaly Alerts to UI]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Log Filtering &amp;amp; Deduplication:&lt;/strong&gt; Aggressively filters noise (&lt;code&gt;INFO&lt;/code&gt;, &lt;code&gt;DEBUG&lt;/code&gt;), deduplicates repeated errors, and scrubs PII before any AI processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BYOK (Bring Your Own Key):&lt;/strong&gt; While local open-weight models via Ollama are the default, you can easily plug in an API key for Groq or OpenAI via &lt;code&gt;config.yaml&lt;/code&gt; or environment variables if you prefer cloud inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSH Fallback:&lt;/strong&gt; Automatically drops to a direct SSH connection to scrape node hardware via &lt;code&gt;top&lt;/code&gt; if the Kubernetes Metrics Server isn't available.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As KubeSense streams the optimized container logs, it passes these batches to an open-weight model running locally. The model analyzes the logs in the background, strictly returning structured JSON, and alerts to warnings, hidden errors, or unusual patterns before they escalate without adding any overhead to the cluster itself.&lt;/p&gt;

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

&lt;p&gt;Deploying open-weight models locally resolves critical architectural and operational limitations associated with closed APIs:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data Sovereignty &amp;amp; Air-Gapped Execution
&lt;/h3&gt;

&lt;p&gt;Kubernetes logs frequently leak sensitive infrastructure data, internal IP schemas, and environment variables. Streaming these logs to a third-party server via a closed API introduces unacceptable security risks and compliance violations (e.g., SOC2/HIPAA). By running inference locally via Ollama, KubeSense ensures complete data sovereignty. The tool can operate entirely offline, making AI-driven log analysis viable for strict, air-gapped environments.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. O(1) Inference Costs
&lt;/h3&gt;

&lt;p&gt;Streaming high-volume log data through a token-metered API creates unbounded operational costs. Local inference with open-weight models reduces the marginal cost of analysis to zero, making continuous 24/7 log processing financially viable.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Hardware-Specific Model Tuning
&lt;/h3&gt;

&lt;p&gt;Closed ecosystems abstract away model selection. An open architecture allows users to define the exact AI engine based on their hardware constraints. Systems with limited VRAM can deploy highly efficient models like Google's &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma:2b&lt;/code&gt;), while robust systems can load higher-parameter models (e.g., &lt;code&gt;llama3.1:8b&lt;/code&gt;) for complex log reasoning.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Deterministic Availability
&lt;/h3&gt;

&lt;p&gt;Cloud AI APIs introduce network latency and are subject to &lt;code&gt;HTTP 429 Too Many Requests&lt;/code&gt; rate limits. When triaging a production cluster outage, network dependency and API throttling are unacceptable. Local open-weight models guarantee deterministic availability and consistent latency independent of external network conditions.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; (Using Google's Gemma open-weight model via Ollama for local log anomaly detection)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's Chat! 💬
&lt;/h3&gt;

&lt;p&gt;If you have any questions about how the architecture works, why I chose Textual, or how to set up Ollama for your own cluster monitoring, &lt;strong&gt;please drop a comment below!&lt;/strong&gt; I'd love to discuss why I think lightweight, terminal-native tools are often far more effective than heavy dashboards, and hear your thoughts on local AI for DevOps.&lt;/p&gt;

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