<?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: Nabin Bera</title>
    <description>The latest articles on DEV Community by Nabin Bera (@iamnabinbera).</description>
    <link>https://dev.to/iamnabinbera</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Nabin Bera</title>
      <link>https://dev.to/iamnabinbera</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamnabinbera"/>
    <language>en</language>
    <item>
      <title>GroundSignal: Private Local AI for Real-World Civic Action</title>
      <dc:creator>Nabin Bera</dc:creator>
      <pubDate>Sun, 11 Oct 2026 05:59:18 +0000</pubDate>
      <link>https://dev.to/iamnabinbera/groundsignal-private-local-ai-for-real-world-civic-action-579g</link>
      <guid>https://dev.to/iamnabinbera/groundsignal-private-local-ai-for-real-world-civic-action-579g</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;GroundSignal is a privacy-first civic observation tool that turns a short note from a real-world neighborhood walk into a structured, human-reviewed community report.&lt;/p&gt;

&lt;p&gt;The intended workflow is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Step outside and notice a public-space issue, such as a blocked wheelchair ramp, damaged footpath, overflowing bin, or missing shade.&lt;/li&gt;
&lt;li&gt;Record the observation in GroundSignal using only the facts that were actually seen.&lt;/li&gt;
&lt;li&gt;Ask a locally running AI model to organize the note into a constructive draft.&lt;/li&gt;
&lt;li&gt;Review and edit the draft, then export it as Markdown or JSON for a neighborhood group, council, or community organization.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;GroundSignal is for residents, accessibility advocates, neighborhood groups, and anyone who wants to turn everyday observations into useful civic communication without giving their notes, locations, or personal information to a cloud AI service.&lt;/p&gt;

&lt;p&gt;The project is deliberately a &lt;strong&gt;drafting tool&lt;/strong&gt;, not an automated complaints system. It does not claim to contact authorities, file citations, identify people, verify legal violations, or resolve issues. The person who made the observation remains responsible for reviewing and sharing the final report.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;code&gt;https://groundsignal.nabinbera.in&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best demo flow is a short walk observation about an accessibility issue, followed by local report generation, human editing, and Markdown export. The demo should also show the Local AI Diagnostics screen and the model running through Docker Desktop Model Runner.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository:&lt;/strong&gt; &lt;code&gt;https://github.com/NabinDevX/GreenSignal&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project documentation:&lt;/strong&gt; &lt;a href="//./README.md"&gt;&lt;code&gt;README.md&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GroundSignal is organized as a Bun monorepo with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;apps/web&lt;/code&gt;: React, Vite, TypeScript, and Tailwind CSS interface&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;apps/api&lt;/code&gt;: Express API and local model client&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;packages/shared&lt;/code&gt;: shared TypeScript types and Zod validation schemas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Saved reports are stored in a local SQLite database under &lt;code&gt;apps/api/data/&lt;/code&gt;. Runtime data and environment files are excluded from version control; &lt;code&gt;.env.example&lt;/code&gt; is provided as the configuration template.&lt;/p&gt;

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

&lt;p&gt;GroundSignal uses &lt;strong&gt;Meta Llama 3.2&lt;/strong&gt; through &lt;strong&gt;Docker Desktop Model Runner&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Browser UI
   -&amp;gt; Vite development proxy (:5173)
   -&amp;gt; Express API and Zod validation (:3001)
   -&amp;gt; Docker Desktop Model Runner (:12434)
   -&amp;gt; Local Llama 3.2 model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The browser calls only relative &lt;code&gt;/api/*&lt;/code&gt; endpoints. The Express API is the only component that communicates with the local model runner, so the browser never connects directly to the inference endpoint.&lt;/p&gt;

&lt;p&gt;The API:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validates observation requests with shared Zod schemas.&lt;/li&gt;
&lt;li&gt;Uses a strict system prompt that forbids invented locations, dates, identities, legal claims, authority contacts, and resolutions.&lt;/li&gt;
&lt;li&gt;Requests a structured JSON report.&lt;/li&gt;
&lt;li&gt;Extracts JSON from the model response when necessary.&lt;/li&gt;
&lt;li&gt;Validates the generated report before returning it to the browser.&lt;/li&gt;
&lt;li&gt;Returns explicit errors for unavailable models, timeouts, empty responses, malformed JSON, and schema violations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A dashboard focused on outdoor observation.&lt;/li&gt;
&lt;li&gt;Observation categories and factual note entry.&lt;/li&gt;
&lt;li&gt;Report review and editing before export.&lt;/li&gt;
&lt;li&gt;Local report archive with search, filtering, and deletion.&lt;/li&gt;
&lt;li&gt;Markdown and JSON export.&lt;/li&gt;
&lt;li&gt;Local model status and diagnostics.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The repository includes shared schema tests and API integration tests covering validation, health responses, archive operations, and model error handling.&lt;/p&gt;

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

&lt;p&gt;Open-source AI makes this project possible in ways a closed hosted API would not.&lt;/p&gt;

&lt;p&gt;First, local inference gives residents control over sensitive civic observations. A note about a neighborhood, accessibility barrier, or public safety concern does not need to be uploaded to a third-party AI provider.&lt;/p&gt;

&lt;p&gt;Second, open and locally runnable models make the system inspectable and adaptable. The prompt boundary, output schema, error handling, and model choice are visible in the repository instead of being hidden behind a remote service.&lt;/p&gt;

&lt;p&gt;Third, local inference avoids account requirements, usage-based API costs, and dependency on a vendor's availability. A community group can run the tool on its own hardware and decide how reports are stored and exported.&lt;/p&gt;

&lt;p&gt;Finally, open innovation lets the project prioritize a different relationship with AI: the model helps organize a person's real-world observation, but it does not replace that person's judgment or pretend to take civic action on their behalf.&lt;/p&gt;

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

&lt;p&gt;GroundSignal is primarily entering the main &lt;strong&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/strong&gt; category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>pgaichallenge</category>
      <category>civictech</category>
    </item>
    <item>
      <title>CampusKit is a student-to-student equipment rental platform built for college campuses.</title>
      <dc:creator>Nabin Bera</dc:creator>
      <pubDate>Sun, 04 Oct 2026 18:36:21 +0000</pubDate>
      <link>https://dev.to/iamnabinbera/campuskit-is-a-student-to-student-equipment-rental-platform-built-for-college-campuses-2ll1</link>
      <guid>https://dev.to/iamnabinbera/campuskit-is-a-student-to-student-equipment-rental-platform-built-for-college-campuses-2ll1</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;CampusKit&lt;/strong&gt;, a student-focused platform that helps students rent and share college equipment with each other.&lt;/p&gt;

&lt;p&gt;The idea came from a common problem on campus: students often need academic equipment for a limited period of time, but buying something they may only use for a semester can be expensive.&lt;/p&gt;

&lt;p&gt;At the same time, other students may already own the same equipment and no longer use it regularly.&lt;/p&gt;

&lt;p&gt;CampusKit connects these two groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Students who &lt;strong&gt;need equipment&lt;/strong&gt; can find and rent it.&lt;/li&gt;
&lt;li&gt;Students who &lt;strong&gt;own unused equipment&lt;/strong&gt; can list it and rent it out.&lt;/li&gt;
&lt;li&gt;Students can discover available equipment and manage their rentals through one platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Instead of every student buying the same equipment, students can share what they already have.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I built CampusKit with students in mind, especially those who want a more affordable way to access college equipment without purchasing everything themselves.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live Link:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
[&lt;a href="https://campuskit.nabinbera.in" rel="noopener noreferrer"&gt;https://campuskit.nabinbera.in&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;I haven't created a separate video demo for this submission.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
[&lt;a href="https://github.com/NabinDevX/CampusKit" rel="noopener noreferrer"&gt;https://github.com/NabinDevX/CampusKit&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The complete source code and project implementation are available in the repository.&lt;/p&gt;

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

&lt;p&gt;CampusKit was built as a full-stack student-to-student rental platform, with AI used specifically to help estimate reasonable rental prices for college equipment.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Google Antigravity&lt;/strong&gt; and &lt;strong&gt;GitHub Copilot&lt;/strong&gt; during development to assist with implementing the application, debugging, and iterating on the project.&lt;/p&gt;

&lt;p&gt;For the AI-powered rental price prediction feature, I used &lt;strong&gt;Gemma&lt;/strong&gt;, Google's open model family. The model takes information such as the equipment type, estimated original value, rental duration, and other relevant factors to generate a suggested rental price.&lt;/p&gt;

&lt;p&gt;The AI is used as a recommendation layer rather than the source of truth. The final rental price can still be reviewed and adjusted by the equipment owner.&lt;/p&gt;

&lt;p&gt;I chose an open model for this part of CampusKit because it gives the project more flexibility than building the feature entirely around a closed AI model. Developers can experiment with, adapt, and build on open models while keeping the AI component focused on a specific campus use case.&lt;/p&gt;

&lt;p&gt;The rest of the application handles the core rental workflow, including equipment listings, availability, rental requests, and user interactions.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters because CampusKit is designed for a community where the needs can vary from one college to another.&lt;/p&gt;

&lt;p&gt;An open approach allows other students and developers to inspect the project, modify it, contribute improvements, and adapt it to their own campus.&lt;/p&gt;

&lt;p&gt;Using open-source AI also makes experimentation more accessible. Instead of making the project completely dependent on a closed AI API, developers can work with open models and tools and potentially run or customize them according to their requirements.&lt;/p&gt;

&lt;p&gt;For CampusKit, this fits naturally with the idea behind the project itself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Students should be able to share resources instead of everyone having to buy the same things.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Open-source software follows a similar principle: instead of everyone building everything from scratch, developers can share, reuse, improve, and build on each other's work.&lt;/p&gt;

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