<?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: Rishi raj Goel</title>
    <description>The latest articles on DEV Community by Rishi raj Goel (@rishi_rajgoel_c5e99c8b81).</description>
    <link>https://dev.to/rishi_rajgoel_c5e99c8b81</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%2F4189485%2F68a6b1c9-8224-4e4e-a518-4de73d921fb6.jpg</url>
      <title>DEV Community: Rishi raj Goel</title>
      <link>https://dev.to/rishi_rajgoel_c5e99c8b81</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rishi_rajgoel_c5e99c8b81"/>
    <language>en</language>
    <item>
      <title>Ghost in the Document: Hunting the Hidden Traces in Your Files</title>
      <dc:creator>Rishi raj Goel</dc:creator>
      <pubDate>Wed, 28 Oct 2026 07:10:03 +0000</pubDate>
      <link>https://dev.to/rishi_rajgoel_c5e99c8b81/ghost-in-the-document-hunting-the-hidden-traces-in-your-files-1mfg</link>
      <guid>https://dev.to/rishi_rajgoel_c5e99c8b81/ghost-in-the-document-hunting-the-hidden-traces-in-your-files-1mfg</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&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;Ghost in the Document&lt;/strong&gt;, a local-first document privacy tool that helps identify sensitive information and hidden content in documents before they are shared.&lt;/p&gt;

&lt;p&gt;The idea came from a simple concern: a document can reveal more than what is visible on the page. It may contain personal information, author metadata, comments, tracked changes, or other traces that are easy to overlook.&lt;/p&gt;

&lt;p&gt;I wanted to build something that could help people find these details without having to upload their documents to an online service.&lt;/p&gt;

&lt;p&gt;Ghost in the Document scans supported PDF, DOCX, and TXT files, identifies potential sensitive information, and lets users review the findings before choosing what to redact. It also performs checks on the resulting document to help verify the changes.&lt;/p&gt;

&lt;p&gt;For this challenge, I interpreted "Ghost in the Machine" as the hidden traces that remain inside our digital files. The goal was to make those traces easier to find before they become a privacy problem.&lt;/p&gt;

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

&lt;p&gt;Here is a walkthrough of Ghost in the Document, showing the application and its document scanning and redaction workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/F676Gr8bNvs" rel="noopener noreferrer"&gt;Watch the demo on YouTube&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Rishi11pixel/ghost-in-the-document" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is written in Python and is designed to run locally on the user's machine.&lt;/p&gt;

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

&lt;p&gt;I built the application in Python, using Gradio for the interface and a combination of rule-based detection, open-source AI, and local language models.&lt;/p&gt;

&lt;p&gt;The detection workflow has multiple layers.&lt;/p&gt;

&lt;p&gt;First, regular expressions and predefined rules identify structured information such as email addresses and phone numbers. This provides a fast way to detect information that follows recognizable patterns.&lt;/p&gt;

&lt;p&gt;Next, I used GLiNER for named entity recognition. This helps identify information such as people, organizations, and locations that may not follow a predictable format.&lt;/p&gt;

&lt;p&gt;I also integrated Ollama to support analysis using a locally running language model. This layer can help identify context-dependent sensitive information that simpler rules might miss. The application checks that proposed findings actually occur in the source text instead of blindly accepting model output.&lt;/p&gt;

&lt;p&gt;Beyond visible text, the application checks supported document structures for selected hidden content, including metadata, comments, tracked changes, and hidden text.&lt;/p&gt;

&lt;p&gt;Once the scan is complete, users can review the findings and select the information they want to redact. The application creates a redacted copy and runs post-save checks on the result.&lt;/p&gt;

&lt;p&gt;One of the main challenges was bringing these different components together into a workflow that is practical to use. Detecting a possible privacy issue is only one part of the problem. The user also needs control over what gets removed, and the application needs to check the resulting file.&lt;/p&gt;

&lt;p&gt;The current version supports text-based PDFs, DOCX, and TXT files. Scanned PDFs and image-based documents requiring OCR are not supported.&lt;/p&gt;

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

&lt;p&gt;For a project focused on document privacy, sending the document to an external service for analysis would defeat part of the purpose.&lt;/p&gt;

&lt;p&gt;Open-source tools and locally runnable models made it possible to build a workflow where documents can be processed on the user's own machine. This also means the application does not need to depend on a paid hosted AI API for its core local workflow.&lt;/p&gt;

&lt;p&gt;Another advantage is flexibility. Different detection methods can be combined, tested, and improved independently. Developers can experiment with different open models and adapt the system to their needs instead of being tied to a single closed service.&lt;/p&gt;

&lt;p&gt;Open innovation makes it easier to explore these ideas, understand how the components work, and build tools that give users more control over their data.&lt;/p&gt;

&lt;p&gt;Local processing is not a guarantee of perfect security, and AI models can still miss sensitive information or produce incorrect findings. That is why the project includes a review step and post-redaction checks, while acknowledging that the verification process has limitations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;The interesting thing about documents is that they can preserve traces of their past. A comment may remain after a discussion has ended. Personal information may appear in a place nobody thinks to check. A change that seems to have disappeared may leave something behind.&lt;/p&gt;

&lt;p&gt;That idea became the foundation of Ghost in the Document.&lt;/p&gt;

&lt;p&gt;I wanted the project to feel connected to the theme while solving a practical problem. Instead of treating the ghosts as fictional creatures, I treated them as the hidden remnants of information that we leave behind when working with digital files.&lt;/p&gt;

&lt;p&gt;Building this also reminded me that privacy is not just about detecting sensitive data. It is about giving people a way to review it, make informed decisions, and check the results before sharing their work.&lt;/p&gt;

&lt;p&gt;There is still room to improve the detection coverage and verification process, but this project is a step toward making those hidden traces easier to understand and manage.&lt;/p&gt;

&lt;p&gt;Other Team member : &lt;a class="mentioned-user" href="https://dev.to/gaurikasethi88"&gt;@gaurikasethi88&lt;/a&gt; &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Recipe De-Blogger: Less Scrolling, More Cooking with Local AI</title>
      <dc:creator>Rishi raj Goel</dc:creator>
      <pubDate>Thu, 22 Oct 2026 19:11:06 +0000</pubDate>
      <link>https://dev.to/rishi_rajgoel_c5e99c8b81/recipe-de-blogger-less-scrolling-more-cooking-with-local-ai-4gej</link>
      <guid>https://dev.to/rishi_rajgoel_c5e99c8b81/recipe-de-blogger-less-scrolling-more-cooking-with-local-ai-4gej</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Recipe De-Blogger&lt;/strong&gt; is a lightweight web app designed to help home cooks get straight to the useful part of an online recipe—without scrolling through lengthy personal stories, advertisements, and unnecessary page content.&lt;/p&gt;

&lt;p&gt;Simply paste a recipe URL, and the app extracts the essential details into a clean, easy-to-follow format, including the recipe title, ingredients, and cooking instructions. It also supports ingredient scaling for different serving sizes when the original serving count is available.&lt;/p&gt;

&lt;p&gt;The idea is simple: &lt;strong&gt;less scrolling, more cooking.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Recipe De-Blogger is especially useful for people who regularly cook from online recipes and want quick access to practical instructions while preparing their meals.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/klun_BldR0c" rel="noopener noreferrer"&gt;Watch the Demo Video&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/Rishi11pixel/recipe-deblogger.git" rel="noopener noreferrer"&gt;View the GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project uses a Python/FastAPI backend and a lightweight HTML, CSS, and JavaScript frontend. It extracts structured recipe data from web pages and uses a locally running language model for AI-assisted extraction when standard methods are insufficient.&lt;/p&gt;

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

&lt;p&gt;I built Recipe De-Blogger using a small, practical technology stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python and FastAPI:&lt;/strong&gt; Power the backend and its API endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML, CSS, and JavaScript:&lt;/strong&gt; Provide a simple, responsive frontend for interacting with the app.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recipe-page extraction:&lt;/strong&gt; Prioritizes structured data, such as Schema.org recipe markup, before falling back to other extraction methods.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; Runs an open-weight language model locally to support AI-assisted recipe extraction, including extraction from available YouTube transcripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recipe scaling logic:&lt;/strong&gt; Adjusts ingredient quantities for a target serving size when the original serving count is known.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My focus was to keep the experience straightforward: enter a URL, extract the essential recipe details, and adjust the serving size when needed.&lt;/p&gt;

&lt;p&gt;Since extraction quality can vary across websites and transcripts, the results should still be reviewed before cooking.&lt;/p&gt;

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

&lt;p&gt;Open innovation allowed me to experiment with AI-assisted extraction without relying on a paid, closed AI API for every recipe request. By running an open-weight model locally through Ollama, I gained greater control over the development process and an opportunity to understand how language models handle real-world, unstructured content.&lt;/p&gt;

&lt;p&gt;This approach also keeps the architecture accessible and adaptable. By combining standard web technologies with a locally running model, the extraction workflow can be inspected, tested, and improved as the project evolves.&lt;/p&gt;

&lt;p&gt;For a small open-source project, that flexibility is valuable. It allows me to experiment with prompts, refine parsing logic, and improve validation without making the entire application dependent on a single proprietary AI provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The real payoff is reducing the friction between finding a recipe and getting started in the kitchen.&lt;/p&gt;

&lt;p&gt;Instead of repeatedly scrolling past lengthy introductions, advertisements, and other page content, users can access the essential recipe details in one organized view. They can then focus on the ingredients, follow the instructions, and adjust quantities when they need to cook for a different number of people.&lt;/p&gt;

&lt;p&gt;I haven't made any measured time-saving claims because I haven't conducted a formal timing test. The intended benefit is simple: &lt;strong&gt;copy a recipe link, get the important details, and focus on cooking.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Team Members
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gaurika Sethi&lt;/strong&gt; — &lt;a class="mentioned-user" href="https://dev.to/gaurikasethi88"&gt;@gaurikasethi88&lt;/a&gt; &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Khata: Turning Paper Bills into Useful Business Records</title>
      <dc:creator>Rishi raj Goel</dc:creator>
      <pubDate>Mon, 19 Oct 2026 06:21:17 +0000</pubDate>
      <link>https://dev.to/rishi_rajgoel_c5e99c8b81/khata-turning-paper-bills-into-useful-business-records-438a</link>
      <guid>https://dev.to/rishi_rajgoel_c5e99c8b81/khata-turning-paper-bills-into-useful-business-records-438a</guid>
      <description>&lt;p&gt;&lt;strong&gt;Submission:&lt;/strong&gt; Hacktoberfest Open-Source AI Challenge — Week 2: Side Hustle&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Challenge:&lt;/strong&gt; &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;https://dev.to/challenges/hacktoberfest-week2-2026-10-12&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Small shops often handle bills and purchase records on paper. Entering those details into a ledger takes time, and handwritten or printed bills can be difficult to process consistently.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Khata&lt;/strong&gt;, a local bill-to-ledger prototype for small shops in India. It uses AI to extract information from bill images and helps turn that information into structured records.&lt;/p&gt;

&lt;p&gt;The current prototype includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bill image preprocessing using OpenCV.&lt;/li&gt;
&lt;li&gt;Local vision-based extraction using Ollama and Gemma 3 4B.&lt;/li&gt;
&lt;li&gt;Structured extraction output and validation checks.&lt;/li&gt;
&lt;li&gt;A Streamlit interface for reviewing and correcting extracted details.&lt;/li&gt;
&lt;li&gt;A local SQLite ledger for saved bills and line items.&lt;/li&gt;
&lt;li&gt;Monthly summaries and an experimental product-demand forecasting feature.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to reduce repetitive data entry while keeping the shopkeeper in control of the final record.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Video demo:&lt;/strong&gt; &lt;a href="https://youtu.be/NfF9mBTL2Tg" rel="noopener noreferrer"&gt;Watch Khata Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In an initial test, one shopkeeper processed 10 bills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manual process: &lt;strong&gt;60 minutes&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Using Khata, including corrections: &lt;strong&gt;40 minutes&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Time saved: &lt;strong&gt;20 minutes (about 33%)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an early, small-scale test rather than a broad performance study.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Gaurika-Sethi/khata-" rel="noopener noreferrer"&gt;See the github repository here&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Khata is built around a local-first workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A user uploads a bill image.&lt;/li&gt;
&lt;li&gt;OpenCV preprocessing improves the image for extraction.&lt;/li&gt;
&lt;li&gt;Ollama runs the Gemma 3 4B vision model locally to extract bill details.&lt;/li&gt;
&lt;li&gt;Pydantic-backed structure and validation checks help identify missing or inconsistent values.&lt;/li&gt;
&lt;li&gt;The user reviews and corrects the extracted information in the Streamlit interface.&lt;/li&gt;
&lt;li&gt;Confirmed records can be saved to a local SQLite database.&lt;/li&gt;
&lt;li&gt;The project includes scripts to build product-demand data and generate experimental restocking forecasts using TabPFN where there is enough historical data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The main tools are &lt;strong&gt;Python, Streamlit, OpenCV, Ollama, Gemma 3 4B, Pydantic, SQLite, pandas, and TabPFN&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I also evaluated extraction against a small set of 20 bills. The current results were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total accuracy: &lt;strong&gt;19/20 (95%)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Item-count accuracy: &lt;strong&gt;17/20 (85%)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Date accuracy: &lt;strong&gt;7/9 (77.8%)&lt;/strong&gt;, calculated only for the nine bills with usable ground-truth dates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These numbers describe this small test set and should not be treated as a guarantee of real-world accuracy. The prototype still needs testing on more shops, bill formats, and dates.&lt;/p&gt;

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

&lt;p&gt;Small businesses should be able to experiment with useful technology without being locked into a single cloud service. Using an open-weight model locally gives developers more control over the workflow and makes it possible to inspect, adapt, and improve the system.&lt;/p&gt;

&lt;p&gt;Local inference can also reduce dependence on per-request API services, although the actual cost and privacy benefits depend on the hardware and deployment setup. Khata is an experiment in making practical AI tools more accessible while keeping the data workflow understandable and under the user's control.&lt;/p&gt;

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

&lt;p&gt;I tested Khata with one shopkeeper using 10 bills. The manual workflow took about 60 minutes, while using Khata—including corrections—took about 40 minutes. That is a saving of 20 minutes, or roughly 33%, in this initial test.&lt;/p&gt;

&lt;p&gt;The shopkeeper was &lt;strong&gt;maybe&lt;/strong&gt; willing to pay, depending on the features, speed, and reliability. Their expected price was around &lt;strong&gt;₹400–₹500 per month&lt;/strong&gt; if the tool becomes faster and consistently saves time.&lt;/p&gt;

&lt;p&gt;They also suggested two useful additions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tracking products or amounts given and taken on credit.&lt;/li&gt;
&lt;li&gt;End-of-day restocking alerts that account for sales and a delivery lead time of around 3–4 days.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They mentioned Tally as an existing option, so accuracy and a clear advantage over current bookkeeping tools will matter if Khata is to be useful in real shops. This feedback is from one early user, so it is a starting point—not proof of product-market fit.&lt;/p&gt;

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

&lt;p&gt;Building Khata made one thing clear: extracting data is only one part of the problem. The output has to be easy to verify, errors need to be visible, and the resulting records must be useful for everyday decisions.&lt;/p&gt;

&lt;p&gt;The project is still a prototype. Its current limitations include inconsistent extraction on some bills, a small evaluation dataset, and limited historical data for demand forecasting. The next step is to improve reliability and test the workflow with more real bills and shopkeepers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would make a tool like this genuinely useful for a small shop- credit tracking, faster bill entry, restocking alerts, or something else?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Team Members
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gaurika Sethi&lt;/strong&gt; &lt;a class="mentioned-user" href="https://dev.to/gaurikasethi88"&gt;@gaurikasethi88&lt;/a&gt; &lt;/p&gt;

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