<?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: Nikunj Maheshwari</title>
    <description>The latest articles on DEV Community by Nikunj Maheshwari (@nikunj_maheshwari).</description>
    <link>https://dev.to/nikunj_maheshwari</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%2F3561173%2F03b978c3-70e5-4cd1-99c3-7322007f5d4e.jpg</url>
      <title>DEV Community: Nikunj Maheshwari</title>
      <link>https://dev.to/nikunj_maheshwari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nikunj_maheshwari"/>
    <language>en</language>
    <item>
      <title>Pomniter</title>
      <dc:creator>Nikunj Maheshwari</dc:creator>
      <pubDate>Sun, 23 Aug 2026 19:09:48 +0000</pubDate>
      <link>https://dev.to/nikunj_maheshwari/pomniter-3a11</link>
      <guid>https://dev.to/nikunj_maheshwari/pomniter-3a11</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Estimated reading time:&lt;/strong&gt; 5 min&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;One small change since the last article: the project is no longer called Breadcrumb. I've renamed it to Pomniter, inspired by the Russian word помнить (pomnit), meaning "to remember"—which fits the core idea of the project much better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Designing Pomniter: From Screenshots to Searchable Memories
&lt;/h2&gt;

&lt;p&gt;In the first part of this series, I talked about a problem I kept noticing with screenshots.&lt;/p&gt;

&lt;p&gt;We save them because we think they'll be useful later, but when we actually need them, we often have no idea where they are.&lt;/p&gt;

&lt;p&gt;That led me to Pomniter.&lt;/p&gt;

&lt;p&gt;I’ve also started putting the project together publicly. You can follow Pomniter project page, see what I’m building, and explore the current direction at &lt;a href="https://pomniter.nikunjmaheshwari.in/" rel="noopener noreferrer"&gt;https://pomniter.nikunjmaheshwari.in/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But identifying the problem is the easy part.&lt;/p&gt;

&lt;p&gt;The harder question is: &lt;strong&gt;how do I actually build something that solves it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I don't want Pomniter to be another gallery with a slightly better search bar. The idea is to make screenshots understandable enough that I can search for them the same way I remember them.&lt;/p&gt;

&lt;p&gt;So before writing any code, I wanted to figure out what Pomniter actually needs to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Should Happen When I Take a Screenshot?
&lt;/h2&gt;

&lt;p&gt;At the simplest level, the flow should look something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Screenshot
    ↓
Understand it
    ↓
Extract useful information
    ↓
Organize it
    ↓
Make it searchable
    ↓
Retrieve it when needed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I’m documenting the project and its progress on the &lt;a href="https://pomniter.nikunjmaheshwari.in/" rel="noopener noreferrer"&gt;https://pomniter.nikunjmaheshwari.in/&lt;/a&gt; project page as I build it.&lt;/p&gt;

&lt;p&gt;The important part here is &lt;strong&gt;understand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If I take a screenshot of a LeetCode problem, I don't just want the system to know that the image contains the words "Binary Search."&lt;/p&gt;

&lt;p&gt;I'd want it to understand that it's probably:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;related to programming,&lt;/li&gt;
&lt;li&gt;related to DSA,&lt;/li&gt;
&lt;li&gt;specifically about binary search,&lt;/li&gt;
&lt;li&gt;potentially useful for interview preparation,&lt;/li&gt;
&lt;li&gt;and probably something I saved for future reference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a very different problem from simply storing an image.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Screenshot Contains More Than Text
&lt;/h2&gt;

&lt;p&gt;One of the first things I realized while thinking about this project is that OCR alone isn't enough.&lt;/p&gt;

&lt;p&gt;Consider a screenshot containing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;mid = left + (right - left) / 2&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;OCR can extract that text.&lt;/p&gt;

&lt;p&gt;But the useful information isn't just the text.&lt;/p&gt;

&lt;p&gt;It's the context around it.&lt;/p&gt;

&lt;p&gt;It's a programming concept. It's related to binary search. It might be part of a coding interview note. It might be something I wanted to remember because I kept making overflow mistakes with the usual midpoint formula.&lt;/p&gt;

&lt;p&gt;That context is what makes the screenshot useful later.&lt;/p&gt;

&lt;p&gt;So Pomniter needs to look beyond the text and understand what the screenshot actually represents.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Should I Search for Something I Saved?
&lt;/h2&gt;

&lt;p&gt;This is probably the most important part of the project.&lt;/p&gt;

&lt;p&gt;Let's say I saved a screenshot about BFS two months ago.&lt;/p&gt;

&lt;p&gt;A traditional search might require me to type:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;BFS&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But that's not necessarily how I remember it.&lt;/p&gt;

&lt;p&gt;I might remember:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"There was a screenshot with that BFS trick I wanted to revise before interviews."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Find the graph algorithm note I saved a few weeks ago."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or even:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Show me the screenshot related to shortest path that I saved while studying graphs."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The system should be able to work with that kind of query.&lt;/p&gt;

&lt;p&gt;That's why I'm interested in semantic search rather than relying only on filenames or exact keywords.&lt;/p&gt;

&lt;p&gt;The goal isn't just to search for a word.&lt;/p&gt;

&lt;p&gt;The goal is to &lt;strong&gt;search for what I remember&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The First Version of Pomniter
&lt;/h2&gt;

&lt;p&gt;There are a lot of things I could try to build here.&lt;/p&gt;

&lt;p&gt;Automatic reminders.&lt;/p&gt;

&lt;p&gt;Duplicate detection.&lt;/p&gt;

&lt;p&gt;Related screenshots.&lt;/p&gt;

&lt;p&gt;AI-generated summaries.&lt;/p&gt;

&lt;p&gt;Flashcards.&lt;/p&gt;

&lt;p&gt;Actions from screenshots.&lt;/p&gt;

&lt;p&gt;A conversational assistant.&lt;/p&gt;

&lt;p&gt;All of these are interesting, but trying to build everything at once would probably be a mistake.&lt;/p&gt;

&lt;p&gt;So I'm narrowing down the first version.&lt;/p&gt;

&lt;p&gt;The core loop is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Save a screenshot
        ↓
Pomniter understands it
        ↓
Pomniter stores what it learned
        ↓
I search using natural language
        ↓
Pomniter finds the relevant screenshot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If that basic loop doesn't work well, none of the other features really matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where AI Comes In
&lt;/h2&gt;

&lt;p&gt;This is where the project starts getting interesting technically.&lt;/p&gt;

&lt;p&gt;My current idea is to use a combination of image understanding, OCR, embeddings, and retrieval-augmented generation.&lt;/p&gt;

&lt;p&gt;At a high level, I'm thinking about something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                Screenshot
                    ↓
             Image Understanding
                    ↓
              Text + Context
                    ↓
            Structured Metadata
                    ↓
               Embeddings
                    ↓
             Semantic Search
                    ↓
              Relevant Results
                    ↓
                   RAG
                    ↓
             Natural Language
                 Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This isn't the final architecture.&lt;/p&gt;

&lt;p&gt;I expect this diagram to change once I start implementing and testing things.&lt;/p&gt;

&lt;p&gt;There will probably be cases where OCR works better than I expected, cases where vision models are unnecessarily expensive, and cases where semantic search returns results that look relevant but aren't actually useful.&lt;/p&gt;

&lt;p&gt;I want to discover those problems while building instead of assuming I already know the perfect solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  But What About All the Other Features?
&lt;/h2&gt;

&lt;p&gt;Once the core retrieval system works, Pomniter can become much more interesting.&lt;/p&gt;

&lt;p&gt;For example, if the system understands what's inside a screenshot, it could eventually do things like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Identify important information&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This looks like a flight ticket."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Recognize temporary information&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This looks like an OTP screenshot from three days ago."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Create reminders&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This screenshot contains an exam date."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Find related screenshots&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You have 6 other screenshots related to operating systems."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Summarize information&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This screenshot contains notes about TCP's three-way handshake."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Turn saved information into something useful&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Create flashcards from my screenshots about DBMS."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These are ideas for later.&lt;/p&gt;

&lt;p&gt;For now, I want to get one thing right:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can Pomniter actually help me find something I saved months ago?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What I Don't Want to Build
&lt;/h2&gt;

&lt;p&gt;This is also something I need to be clear about.&lt;/p&gt;

&lt;p&gt;I don't want Pomniter to become an app that tries to automatically organize every image on my device into hundreds of categories.&lt;/p&gt;

&lt;p&gt;I don't want users to spend time maintaining folders, tags, and collections.&lt;/p&gt;

&lt;p&gt;And I don't want another search box where users have to remember exactly what they typed when they saved something.&lt;/p&gt;

&lt;p&gt;The whole point is to reduce the amount of remembering required from the user.&lt;/p&gt;

&lt;p&gt;The system should do more of that work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;At this point, Pomniter is still just an idea backed by a rough technical direction.&lt;/p&gt;

&lt;p&gt;I haven't tested the retrieval quality yet.&lt;/p&gt;

&lt;p&gt;I don't know which models will work best.&lt;/p&gt;

&lt;p&gt;I don't know how much processing should happen locally and how much should happen on a server.&lt;/p&gt;

&lt;p&gt;I don't know how expensive it will be to process thousands of screenshots.&lt;/p&gt;

&lt;p&gt;And I expect the architecture to change once I start building.&lt;/p&gt;

&lt;p&gt;That's actually what I'm looking forward to.&lt;/p&gt;

&lt;p&gt;The next step is no longer about defining the idea.&lt;/p&gt;

&lt;p&gt;It's about building the first working version and finding out where the idea breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Part 3 will be where I start building Pomniter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the meantime, you can follow the project, see what I’m building, and keep up with its progress at &lt;a href="https://pomniter.nikunjmaheshwari.in/" rel="noopener noreferrer"&gt;https://pomniter.nikunjmaheshwari.in/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>architecture</category>
      <category>pomniter</category>
      <category>nikunj</category>
    </item>
    <item>
      <title>The Problem with Screenshots Isn't Storage. It's Memory.</title>
      <dc:creator>Nikunj Maheshwari</dc:creator>
      <pubDate>Wed, 05 Aug 2026 18:27:26 +0000</pubDate>
      <link>https://dev.to/nikunj_maheshwari/the-problem-with-screenshots-isnt-storage-its-memory-3g00</link>
      <guid>https://dev.to/nikunj_maheshwari/the-problem-with-screenshots-isnt-storage-its-memory-3g00</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Estimated reading time:&lt;/strong&gt; 4 min&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Your Screenshots Aren't Memories. They're Forgotten.
&lt;/h2&gt;

&lt;p&gt;Every day, we take screenshots.&lt;/p&gt;

&lt;p&gt;A coding trick we might need later. A recipe someone shared. A travel itinerary. A tweet with an interesting opinion. A meme. An interview question. A reminder.&lt;/p&gt;

&lt;p&gt;At that moment, every screenshot feels important.&lt;/p&gt;

&lt;p&gt;So we save it.&lt;/p&gt;

&lt;p&gt;And then... we almost never look at it again.&lt;/p&gt;

&lt;p&gt;After a few months, our gallery contains hundreds or even thousands of screenshots. We know the information is somewhere, but finding it is often harder than searching the internet again.&lt;/p&gt;

&lt;p&gt;That made me think about something.&lt;/p&gt;

&lt;p&gt;The problem isn't that we take too many screenshots.&lt;/p&gt;

&lt;p&gt;The problem is that we keep saving information, but almost never come back to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Existing Solutions Don't Really Solve It
&lt;/h2&gt;

&lt;p&gt;Most gallery apps already provide folders, albums, search, and sometimes even OCR.&lt;/p&gt;

&lt;p&gt;Those features are useful, but they still expect us to remember what we're looking for.&lt;/p&gt;

&lt;p&gt;For example, suppose I remember saving a screenshot that explained a neat BFS trick.&lt;/p&gt;

&lt;p&gt;I probably don't remember:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;when I saved it,&lt;/li&gt;
&lt;li&gt;what file name it has,&lt;/li&gt;
&lt;li&gt;whether "BFS" even appears in the image,&lt;/li&gt;
&lt;li&gt;or which folder it belongs to.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I only remember the idea.&lt;/p&gt;

&lt;p&gt;Current search systems aren't designed for that kind of memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots Are More Than Images
&lt;/h2&gt;

&lt;p&gt;When I looked through my own screenshots, I noticed they weren't random images.&lt;/p&gt;

&lt;p&gt;They were things my past self thought were worth remembering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some contained programming notes.&lt;/li&gt;
&lt;li&gt;Some were university notices.&lt;/li&gt;
&lt;li&gt;Some were life hacks.&lt;/li&gt;
&lt;li&gt;Some were recipes.&lt;/li&gt;
&lt;li&gt;Some were reminders I forgot existed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, screenshots are becoming a personal knowledge base—but one that nobody can actually use efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What If Screenshots Behaved Like a Second Brain?
&lt;/h2&gt;

&lt;p&gt;Instead of treating screenshots as images, what if we treated them as knowledge?&lt;/p&gt;

&lt;p&gt;What if every screenshot could be understood instead of simply stored?&lt;/p&gt;

&lt;p&gt;What if I could ask questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Show me the screenshot where I saved the BFS trick."&lt;/li&gt;
&lt;li&gt;"Find that paneer recipe I saved a few months ago."&lt;/li&gt;
&lt;li&gt;"What screenshots do I have about operating systems?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of searching by keywords, I would simply search by memory.&lt;/p&gt;

&lt;p&gt;That idea eventually became a project I'm calling &lt;strong&gt;Breadcrumb&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The name comes from a simple thought: every screenshot is a breadcrumb your past self left behind, hoping your future self would find it again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Goal
&lt;/h2&gt;

&lt;p&gt;I'm not trying to build another gallery app.&lt;/p&gt;

&lt;p&gt;I'm trying to build a system that understands screenshots, organizes them automatically, retrieves them intelligently, and eventually turns them into something that's actually useful instead of forgotten.&lt;/p&gt;

&lt;p&gt;This is going to be a long-term project, and I'll be documenting the entire journey—from the initial idea to the architecture, implementation, technical challenges, and everything I learn along the way.&lt;/p&gt;

&lt;p&gt;This article is just the beginning.&lt;/p&gt;

&lt;p&gt;The next article will focus on how I'm planning to design the system and why I think today's approach to screenshot search isn't enough.&lt;/p&gt;




&lt;p&gt;If you've ever taken a screenshot thinking, &lt;strong&gt;"I'll definitely need this later,"&lt;/strong&gt; only to never find it again, I'd love to hear your experience.&lt;/p&gt;

&lt;p&gt;I suspect I'm not the only one with this problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Follow the Journey
&lt;/h2&gt;

&lt;p&gt;I'm documenting this project from idea to implementation. If you'd like to follow along, you can find me here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; – Source code and development progress&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/markstone111" rel="noopener noreferrer"&gt;https://github.com/markstone111&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt; – Project updates and milestones&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/nikunjm111" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/nikunjm111&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Portfolio&lt;/strong&gt; – Final case study and project showcase &lt;em&gt;(coming soon)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://nikunjmaheshwari.vercel.app" rel="noopener noreferrer"&gt;https://nikunjmaheshwari.vercel.app&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Building Breadcrumb&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Part 1 — The Problem&lt;/em&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>📚 Should I Bunk?</title>
      <dc:creator>Nikunj Maheshwari</dc:creator>
      <pubDate>Sun, 12 Oct 2025 21:39:35 +0000</pubDate>
      <link>https://dev.to/nikunj_maheshwari/should-i-bunk-4jph</link>
      <guid>https://dev.to/nikunj_maheshwari/should-i-bunk-4jph</guid>
      <description>&lt;p&gt;An intelligent mobile app that helps students decide whether to skip class. It uses a machine learning model to provide a prediction based on factors like current attendance, professor's strictness, and upcoming tests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✨ Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI-Powered Predictions: Uses a logistic regression model to give a "Bunk" or "Don't Bunk" recommendation.&lt;br&gt;
Cross-Platform: Built with React Native (Expo), it runs on both iOS and Android from a single codebase.&lt;br&gt;
Simple Interface: Clean and intuitive UI to quickly input data and get a result.&lt;br&gt;
Deployable Backend: The Python Flask API is configured for easy deployment on Render.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/markstone111/Should_I_Bunk" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
