<?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: 0xGozie</title>
    <description>The latest articles on DEV Community by 0xGozie (@0xgozie).</description>
    <link>https://dev.to/0xgozie</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%2F4158619%2Fd414dba3-8014-4f6c-b23b-2c63978043bc.png</url>
      <title>DEV Community: 0xGozie</title>
      <link>https://dev.to/0xgozie</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/0xgozie"/>
    <language>en</language>
    <item>
      <title>BrainShot — Turn Your Camera Roll Into a Document Library</title>
      <dc:creator>0xGozie</dc:creator>
      <pubDate>Fri, 02 Oct 2026 22:48:49 +0000</pubDate>
      <link>https://dev.to/0xgozie/brainshot-turn-your-camera-roll-into-a-document-library-132i</link>
      <guid>https://dev.to/0xgozie/brainshot-turn-your-camera-roll-into-a-document-library-132i</guid>
      <description>&lt;p&gt;This is a submission for the "Hacktoberfest Weekend Challenge: Build for a Friend" (&lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;https://dev.to/challenges/hacktoberfest-weekend-2026-10-01&lt;/a&gt;)&lt;/p&gt;

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

&lt;p&gt;BrainShot is a simple document digitization app built around a problem that almost everyone has:&lt;/p&gt;

&lt;p&gt;You take a photo of an important receipt, invoice, warranty, letter, or form — and then it disappears into your camera roll.&lt;/p&gt;

&lt;p&gt;BrainShot turns that photo into a clean, structured digital copy.&lt;/p&gt;

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

&lt;p&gt;Snap → Extract → Organize → Save → Find later&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📸 Take a document photo or upload one&lt;/li&gt;
&lt;li&gt;🧠 Detect the document type&lt;/li&gt;
&lt;li&gt;✨ Extract important information into structured fields&lt;/li&gt;
&lt;li&gt;📄 Create a clean digital representation&lt;/li&gt;
&lt;li&gt;🖼️ Keep the original document image&lt;/li&gt;
&lt;li&gt;🔎 Search saved documents&lt;/li&gt;
&lt;li&gt;📥 Export a document as PDF&lt;/li&gt;
&lt;li&gt;🗑️ Delete documents when they're no longer needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal wasn't to build another complicated enterprise document-management platform.&lt;/p&gt;

&lt;p&gt;I wanted to build something a friend could actually open and immediately understand.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;Live Demo:&lt;br&gt;
&lt;a href="https://brainshot-9bpr02hii-seedfun-s-projects.vercel.app/" rel="noopener noreferrer"&gt;https://brainshot-9bpr02hii-seedfun-s-projects.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app is designed mobile-first, so the core experience works naturally with a phone camera.&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/jiren12222/brainshot" rel="noopener noreferrer"&gt;https://github.com/jiren12222/brainshot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BrainShot is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Lucide React&lt;/li&gt;
&lt;li&gt;jsPDF&lt;/li&gt;
&lt;li&gt;Browser LocalStorage&lt;/li&gt;
&lt;li&gt;Mobile camera/upload APIs&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;BrainShot is designed around a modular AI extraction layer.&lt;/p&gt;

&lt;p&gt;The intended architecture is for the document image to be passed to an open-source vision-language model, which can understand the document and return structured information.&lt;/p&gt;

&lt;p&gt;For this hackathon submission, I created an AI Simulation Mode so the complete document-digitization experience could be demonstrated without requiring an external AI provider or sending personal documents to a third-party service.&lt;/p&gt;

&lt;p&gt;This keeps the prototype simple while making the AI layer replaceable.&lt;/p&gt;

&lt;p&gt;The extraction layer can later be connected to an open-weight vision-language model running locally or through a self-hosted inference server without rebuilding the BrainShot interface.&lt;/p&gt;

&lt;p&gt;The important architecture is:&lt;/p&gt;

&lt;p&gt;Document image → AI extraction layer → structured document → local library&lt;/p&gt;

&lt;p&gt;That separation means the UI doesn't need to be tied to one model or provider.&lt;/p&gt;

&lt;p&gt;Privacy by Design&lt;/p&gt;

&lt;p&gt;Documents can contain sensitive information.&lt;/p&gt;

&lt;p&gt;That's why the current prototype keeps document data in the browser using LocalStorage and doesn't require an account.&lt;/p&gt;

&lt;p&gt;There is no:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;account system&lt;/li&gt;
&lt;li&gt;cloud document database&lt;/li&gt;
&lt;li&gt;payment system&lt;/li&gt;
&lt;li&gt;complicated permissions&lt;/li&gt;
&lt;li&gt;external document storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The current simulation mode also means the uploaded document doesn't need to leave the device for the demo extraction flow.&lt;/p&gt;

&lt;p&gt;The long-term goal is to make the AI layer local-first, allowing users to run an open-source model themselves.&lt;/p&gt;

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

&lt;p&gt;Document understanding shouldn't have to depend on a single closed AI provider.&lt;/p&gt;

&lt;p&gt;An open-source approach gives BrainShot the possibility to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run models locally&lt;/li&gt;
&lt;li&gt;self-host inference&lt;/li&gt;
&lt;li&gt;choose between different open-weight models&lt;/li&gt;
&lt;li&gt;reduce dependence on a single provider&lt;/li&gt;
&lt;li&gt;keep sensitive documents under the user's control&lt;/li&gt;
&lt;li&gt;experiment with fine-tuned document models&lt;/li&gt;
&lt;li&gt;change the AI model without rebuilding the application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a document application, that flexibility matters because the documents themselves can contain private information.&lt;/p&gt;

&lt;p&gt;Open models make it possible to move toward a future where the AI that understands your documents can run on infrastructure you control.&lt;/p&gt;

&lt;p&gt;Why I Built It&lt;/p&gt;

&lt;p&gt;A camera roll is great for storing memories.&lt;/p&gt;

&lt;p&gt;It isn't great for finding:&lt;/p&gt;

&lt;p&gt;«"That invoice I photographed three months ago."»&lt;/p&gt;

&lt;p&gt;BrainShot is a small attempt to solve that gap.&lt;/p&gt;

&lt;p&gt;Instead of keeping important documents as random images, BrainShot turns them into structured information that can actually be searched and used.&lt;/p&gt;

&lt;p&gt;The idea is intentionally simple:&lt;/p&gt;

&lt;p&gt;Make the documents already sitting on your phone useful again.&lt;/p&gt;

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

&lt;p&gt;Optional — omitted for this submission.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DEV Community Hacktoberfest Weekend Challenge: Build for a Friend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What's Next&lt;/p&gt;

&lt;p&gt;The next version of BrainShot would replace the simulation layer with a real open-source vision-language model.&lt;/p&gt;

&lt;p&gt;That would enable more advanced extraction such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;better OCR&lt;/li&gt;
&lt;li&gt;tables and line items&lt;/li&gt;
&lt;li&gt;handwriting recognition&lt;/li&gt;
&lt;li&gt;document relationships&lt;/li&gt;
&lt;li&gt;smarter document classification&lt;/li&gt;
&lt;li&gt;local/private inference&lt;/li&gt;
&lt;li&gt;model selection depending on document type&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the core idea would stay the same:&lt;/p&gt;

&lt;p&gt;Snap it. Digitize it. Find it later.&lt;/p&gt;

&lt;p&gt;Thanks for checking out BrainShot!&lt;/p&gt;

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