<?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: Bhargav ram Vinnakota</title>
    <description>The latest articles on DEV Community by Bhargav ram Vinnakota (@bhargavramvinnakota).</description>
    <link>https://dev.to/bhargavramvinnakota</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%2F4147751%2F5e01d7b4-538f-446e-b5f2-e3308eb3e824.png</url>
      <title>DEV Community: Bhargav ram Vinnakota</title>
      <link>https://dev.to/bhargavramvinnakota</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bhargavramvinnakota"/>
    <language>en</language>
    <item>
      <title>HakDaar: When AI Remembers What Workers Are Owed</title>
      <dc:creator>Bhargav ram Vinnakota</dc:creator>
      <pubDate>Mon, 28 Sep 2026 17:43:24 +0000</pubDate>
      <link>https://dev.to/bhargavramvinnakota/hakdaar-when-ai-remembers-what-workers-are-owed-1150</link>
      <guid>https://dev.to/bhargavramvinnakota/hakdaar-when-ai-remembers-what-workers-are-owed-1150</guid>
      <description>&lt;p&gt;When Forgetting Costs Money: Building HakDaar with AI Memory&lt;/p&gt;

&lt;p&gt;A mason in Hyderabad is promised ₹1,000 per day.&lt;/p&gt;

&lt;p&gt;Six days later, he receives ₹4,000.&lt;/p&gt;

&lt;p&gt;When he asks about the remaining amount, the contractor says:&lt;/p&gt;

&lt;p&gt;«“I’ll give you the rest later.”»&lt;/p&gt;

&lt;p&gt;There is no contract. No payslip. No written record.&lt;/p&gt;

&lt;p&gt;Only a verbal promise—and a worker trying to remember exactly what was agreed.&lt;/p&gt;

&lt;p&gt;This is the problem we wanted to solve with HakDaar, a rights companion designed for daily-wage and migrant workers.&lt;/p&gt;

&lt;p&gt;HakDaar helps workers record what employers promised, what work they completed, and what payments they received. Instead of relying on memory alone, the worker gets an AI-powered companion that remembers the conversation and maintains an exact wage ledger.&lt;/p&gt;

&lt;p&gt;The Problem: When Forgetting Costs Money&lt;/p&gt;

&lt;p&gt;Daily-wage workers often operate without formal contracts or detailed payment records.&lt;/p&gt;

&lt;p&gt;A worker may remember that they were promised a particular daily wage, but after several days of work, it can become difficult to remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What rate was promised?&lt;/li&gt;
&lt;li&gt;How many days were worked?&lt;/li&gt;
&lt;li&gt;How much was already paid?&lt;/li&gt;
&lt;li&gt;When was the last payment?&lt;/li&gt;
&lt;li&gt;What amount is still pending?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HakDaar approaches this problem from a simple idea:&lt;/p&gt;

&lt;p&gt;«If someone's history is evidence, that history should not depend entirely on human memory.»&lt;/p&gt;

&lt;p&gt;What Is HakDaar?&lt;/p&gt;

&lt;p&gt;HakDaar is a multilingual chat application for daily-wage and migrant workers.&lt;/p&gt;

&lt;p&gt;Workers can communicate through Telugu, Hindi, or English, using either text or voice.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;«“Rakesh promised me 1,000 rupees per day for the building work.”»&lt;/p&gt;

&lt;p&gt;«“I worked 6 days for him.”»&lt;/p&gt;

&lt;p&gt;«“He paid me only 4,000 and said the rest later.”»&lt;/p&gt;

&lt;p&gt;HakDaar converts these conversations into structured information and produces:&lt;/p&gt;

&lt;p&gt;Earned: ₹6,000&lt;br&gt;
Paid: ₹4,000&lt;br&gt;
Owed: ₹2,000&lt;/p&gt;

&lt;p&gt;A week later, the worker can return and ask about the same employer without starting from zero.&lt;/p&gt;

&lt;p&gt;The Core Idea: Memory Is Not the Ledger&lt;/p&gt;

&lt;p&gt;The most important architectural decision was separating what the AI remembers from what the system calculates.&lt;/p&gt;

&lt;p&gt;A language model can understand conversations and recall context, but it should not be the final authority for financial calculations.&lt;/p&gt;

&lt;p&gt;HakDaar therefore uses two separate systems.&lt;/p&gt;

&lt;p&gt;The Ledger Owns Every Rupee&lt;/p&gt;

&lt;p&gt;The structured ledger uses SQLite to store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wage promises&lt;/li&gt;
&lt;li&gt;Work days&lt;/li&gt;
&lt;li&gt;Payments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Calculations are performed using Python's "Decimal".&lt;/p&gt;

&lt;p&gt;Only the ledger produces the final financial numbers.&lt;/p&gt;

&lt;p&gt;Hindsight Owns the Story&lt;/p&gt;

&lt;p&gt;HakDaar uses Hindsight agent memory to remember the worker's evolving story:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the worker said&lt;/li&gt;
&lt;li&gt;What an employer promised&lt;/li&gt;
&lt;li&gt;Previous conversations&lt;/li&gt;
&lt;li&gt;Relevant payment context&lt;/li&gt;
&lt;li&gt;What happened previously&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hindsight provides context, but it is never treated as the source of truth for the amount owed.&lt;/p&gt;

&lt;p&gt;«AI remembers the story. The ledger calculates the money.»&lt;/p&gt;

&lt;p&gt;How the Architecture Works&lt;/p&gt;

&lt;p&gt;Every message follows the same pipeline:&lt;/p&gt;

&lt;p&gt;Worker message → Fact extraction → Ledger update → Exact calculation → Memory recall → AI response&lt;/p&gt;

&lt;p&gt;The ledger produces the numbers first.&lt;/p&gt;

&lt;p&gt;The memory system provides relevant context.&lt;/p&gt;

&lt;p&gt;Then the language model generates a response using those trusted numbers.&lt;/p&gt;

&lt;p&gt;The stack is deliberately simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React — frontend&lt;/li&gt;
&lt;li&gt;Android wrapper — mobile access&lt;/li&gt;
&lt;li&gt;FastAPI — backend&lt;/li&gt;
&lt;li&gt;SQLite — wage ledger&lt;/li&gt;
&lt;li&gt;Groq + gpt-oss-120b — language processing&lt;/li&gt;
&lt;li&gt;Whisper — voice input&lt;/li&gt;
&lt;li&gt;Hindsight — agent memory&lt;/li&gt;
&lt;li&gt;Docker — self-hosted memory infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Preventing AI From Inventing Money&lt;/p&gt;

&lt;p&gt;One of the biggest lessons from building HakDaar was that validating the model's structured output isn't enough.&lt;/p&gt;

&lt;p&gt;The final response also needs to be checked.&lt;/p&gt;

&lt;p&gt;If the model produces a money-sized number that doesn't exist in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ledger&lt;/li&gt;
&lt;li&gt;The facts extracted from the current message&lt;/li&gt;
&lt;li&gt;The worker's own words&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;the response is flagged.&lt;/p&gt;

&lt;p&gt;The system can then rewrite the response or fall back to a response generated directly from the ledger.&lt;/p&gt;

&lt;p&gt;This changes the role of the LLM.&lt;/p&gt;

&lt;p&gt;It is no longer the authority.&lt;/p&gt;

&lt;p&gt;It becomes the communication layer around an authoritative data source.&lt;/p&gt;

&lt;p&gt;Giving Every Worker Their Own Memory&lt;/p&gt;

&lt;p&gt;Each worker receives a private memory bank.&lt;/p&gt;

&lt;p&gt;There is also a shared employer-reputation memory containing only anonymous, fact-derived reports.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;«“A worker reported a short payment of ₹2,000 from Rakesh Builders.”»&lt;/p&gt;

&lt;p&gt;The shared memory does not contain names or phone numbers.&lt;/p&gt;

&lt;p&gt;When another worker encounters the same employer, HakDaar can surface relevant anonymous information.&lt;/p&gt;

&lt;p&gt;However, a single report is not automatically treated as proof. The system uses multiple independent reports before producing a stronger warning.&lt;/p&gt;

&lt;p&gt;Building for Real Conversations&lt;/p&gt;

&lt;p&gt;Real users don't communicate like JSON.&lt;/p&gt;

&lt;p&gt;They say things like:&lt;/p&gt;

&lt;p&gt;«“10000”»&lt;/p&gt;

&lt;p&gt;If the system had just asked:&lt;/p&gt;

&lt;p&gt;«“What daily rate did Rakesh promise?”»&lt;/p&gt;

&lt;p&gt;then that bare number needs to be interpreted in context.&lt;/p&gt;

&lt;p&gt;Similarly:&lt;/p&gt;

&lt;p&gt;«“I worked 5 days.”»&lt;/p&gt;

&lt;p&gt;might appear before the worker even mentions the employer.&lt;/p&gt;

&lt;p&gt;HakDaar therefore had to handle messy conversational patterns rather than assuming perfectly structured input.&lt;/p&gt;

&lt;p&gt;We also had to handle overpayment.&lt;/p&gt;

&lt;p&gt;If a worker earned ₹1,000 but received ₹1,800, the system should not simply say “fully paid.”&lt;/p&gt;

&lt;p&gt;It should recognize the additional ₹800 and communicate that clearly.&lt;/p&gt;

&lt;p&gt;Designing for Workers, Not Just Developers&lt;/p&gt;

&lt;p&gt;HakDaar is designed around the realities of its users.&lt;/p&gt;

&lt;p&gt;Workers can use voice input, reducing the need for typing.&lt;/p&gt;

&lt;p&gt;The system also focuses on multilingual interaction and presenting amounts naturally in Telugu and Hindi.&lt;/p&gt;

&lt;p&gt;Simple interface elements and large buttons make the application easier to use for people who may not be comfortable with traditional digital interfaces.&lt;/p&gt;

&lt;p&gt;What We Learned&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Separate memory from computation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An AI agent can be excellent at remembering a complicated story.&lt;/p&gt;

&lt;p&gt;That doesn't mean it should perform the financial calculation.&lt;/p&gt;

&lt;p&gt;Memory and arithmetic need different sources of truth.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recall before retaining&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Recalling existing information before storing the current message helps prevent the agent from immediately “remembering” the message it is currently processing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Shared memory needs safeguards&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The moment one user's information can affect another user, privacy and fairness become architectural requirements.&lt;/p&gt;

&lt;p&gt;Anonymous reports, thresholds and controlled summarization become essential.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Guard the output&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Validating JSON from the model isn't enough.&lt;/p&gt;

&lt;p&gt;The final response must also be checked for unsupported numbers and claims.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build for the least technical user&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Voice input, multilingual responses and simple interfaces aren't just accessibility features.&lt;/p&gt;

&lt;p&gt;They can make the entire product easier to use.&lt;/p&gt;

&lt;p&gt;The Bigger Idea&lt;/p&gt;

&lt;p&gt;HakDaar started with a simple problem:&lt;/p&gt;

&lt;p&gt;What happens when a worker's most important evidence exists only in their memory?&lt;/p&gt;

&lt;p&gt;The solution isn't simply another chatbot.&lt;/p&gt;

&lt;p&gt;It is a combination of:&lt;/p&gt;

&lt;p&gt;Conversation + Memory + Structured Data + Deterministic Computation&lt;/p&gt;

&lt;p&gt;The LLM handles language.&lt;/p&gt;

&lt;p&gt;Hindsight handles context.&lt;/p&gt;

&lt;p&gt;The ledger handles money.&lt;/p&gt;

&lt;p&gt;And the worker remains in control of the information.&lt;/p&gt;

&lt;p&gt;This architecture can extend beyond wages.&lt;/p&gt;

&lt;p&gt;Any application where a user's history becomes evidence—such as rent, loans, payments, or long-running service interactions—can benefit from the same principle:&lt;/p&gt;

&lt;p&gt;«Give the agent a real memory, but keep critical calculations outside the model.»&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;HakDaar isn't trying to replace contracts, legal systems or human support.&lt;/p&gt;

&lt;p&gt;It is trying to solve a smaller but important problem:&lt;/p&gt;

&lt;p&gt;Don't let forgetting become the reason someone loses money.&lt;/p&gt;

&lt;p&gt;When technology is designed around the realities of its users—not just the capabilities of the model—AI can become more than a chatbot.&lt;/p&gt;

&lt;p&gt;It can become a tool that helps people remember what they were promised.&lt;/p&gt;

&lt;p&gt;And sometimes, remembering is the first step toward getting what you're owed.&lt;/p&gt;




&lt;p&gt;Built with: React · FastAPI · SQLite · Groq · Whisper · Hindsight · Docker&lt;/p&gt;

&lt;p&gt;HakDaar GitHub: "github.com/riyanshareefshaik/HakDaar"&lt;/p&gt;

&lt;p&gt;Hindsight: "hindsight.vectorize.io"&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
