<?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: Zara Amir </title>
    <description>The latest articles on DEV Community by Zara Amir  (@zara_amir).</description>
    <link>https://dev.to/zara_amir</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%2F1625055%2Fb6082e19-db29-42c9-91f2-e45c30528025.png</url>
      <title>DEV Community: Zara Amir </title>
      <link>https://dev.to/zara_amir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zara_amir"/>
    <language>en</language>
    <item>
      <title>SignalDesk: A Privacy-First Customer Feedback Desk for Small Businesses</title>
      <dc:creator>Zara Amir </dc:creator>
      <pubDate>Sat, 17 Oct 2026 16:06:46 +0000</pubDate>
      <link>https://dev.to/zara_amir/signaldesk-a-privacy-first-customer-feedback-desk-for-small-businesses-798</link>
      <guid>https://dev.to/zara_amir/signaldesk-a-privacy-first-customer-feedback-desk-for-small-businesses-798</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;SignalDesk is a privacy-first customer-feedback intelligence desk for small service businesses: gyms, clinics, studios, agencies, and subscription businesses.&lt;/p&gt;

&lt;p&gt;These businesses already have survey or CRM exports, but usually do not have a data team. SignalDesk turns a CSV into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Risk-ranked customers&lt;/li&gt;
&lt;li&gt;At-risk customer segments&lt;/li&gt;
&lt;li&gt;Satisfaction and wait-time signals&lt;/li&gt;
&lt;li&gt;A short retention brief for the business owner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product is intentionally small and specific: a business owner can run a weekly feedback export through it instead of manually scanning rows in a spreadsheet.&lt;/p&gt;

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

&lt;p&gt;The current version runs locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;code&gt;http://127.0.0.1:8765&lt;/code&gt; and upload the included sample CSV.&lt;/p&gt;

&lt;p&gt;A public deployment is the next step. The project is still useful without a cloud deployment because privacy-sensitive businesses can keep the workflow on their own laptop.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/zara-amir/signaldesk" rel="noopener noreferrer"&gt;SignalDesk on GitHub&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;SignalDesk is a small Python web application using only the standard library for its first runnable version. It accepts CSV data, validates the required feedback fields, calculates a transparent local risk baseline, groups results by segment, and generates a retention brief.&lt;/p&gt;

&lt;p&gt;The app has an optional local Gemma integration through Ollama. When Ollama and a Gemma model are available, the brief is generated locally. When they are not available, SignalDesk uses a deterministic fallback so the core workflow remains usable.&lt;/p&gt;

&lt;p&gt;There is also an explicit TabPFN adapter seam for upgrading the transparent baseline to a tabular foundation model when the optional Prior Labs dependency and credentials are configured.&lt;/p&gt;

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

&lt;p&gt;Customer feedback can contain names, complaints, health-related context, or commercially sensitive information. Sending every export to a hosted AI API is not always acceptable for a small business.&lt;/p&gt;

&lt;p&gt;Open models make a different product possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemma can run on the business's own laptop through Ollama.&lt;/li&gt;
&lt;li&gt;The raw CSV does not need to leave the machine.&lt;/li&gt;
&lt;li&gt;The business is not locked into per-token pricing.&lt;/li&gt;
&lt;li&gt;The model can be swapped or fine-tuned for a specific industry.&lt;/li&gt;
&lt;li&gt;The deterministic fallback makes the workflow inspectable instead of hiding every decision behind an opaque API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The trade-off is real: local inference requires suitable hardware and may be slower. SignalDesk therefore separates analysis from narrative generation and clearly labels which model produced the brief.&lt;/p&gt;

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

&lt;p&gt;This project was built iteratively with an AI coding assistant, including the local web app, CSV analysis workflow, optional Gemma integration, and free-host deployment configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  First User
&lt;/h2&gt;

&lt;p&gt;I have not claimed a paying customer yet. The first validation target is a small service business that currently reviews customer feedback manually. The proposed pilot is a weekly report using synthetic data first, followed by a privacy-preserving local run with the owner's own export.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Best Use of Gemma — optional local Gemma generation through Ollama&lt;/li&gt;
&lt;li&gt;Best Use of TabPFN — adapter prepared for tabular risk prediction; full integration is the next implementation step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will only claim a partner category after verifying the corresponding technology in the submitted build.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
