DEV Community

Shreyash Chaugule
Shreyash Chaugule

Posted on

๐Ÿ” Explain This Screenshot โ€” Your AI Debugging Friend

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

Developers often face errors that are much easier to show than explain.

You get a confusing terminal error, a stack trace, a cloud-console warning, or an IDE problem โ€” and then spend time copying text, explaining context, and figuring out what went wrong.

So I built Explain This Screenshot โ€” a privacy-first AI developer assistant that lets you simply take a screenshot and ask your AI friend to figure it out.

๐Ÿ“ธ Screenshot โ†’ ๐Ÿง  Understand โ†’ ๐Ÿ› ๏ธ Fix

Upload a screenshot of a technical problem and the application analyzes it to provide:

  • ๐Ÿ” What I see โ€” understands the screenshot and identifies relevant information
  • โŒ What's wrong โ€” identifies the likely problem
  • ๐Ÿง  Why it happened โ€” investigates the possible root cause
  • ๐Ÿ› ๏ธ How to fix it โ€” provides practical solutions
  • ๐Ÿ’ป Try this โ€” generates commands or code when appropriate
  • ๐Ÿง‘โ€๐Ÿซ Beginner explanation โ€” explains the problem in simple language
  • โš ๏ธ Warnings โ€” highlights potentially risky actions
  • ๐ŸŽฏ Confidence โ€” indicates how confident the system is in its diagnosis

The project is built for developers, students, and anyone who has ever stared at an error message and thought: "What does this even mean?"

The "friend" I'm building for is essentially the developer who needs help debugging without having to perfectly explain the problem first.


Demo

๐ŸŽฅ Video Demo:
currently in development phrase

๐ŸŒ Live Demo:

GitHub logo ShreyashChaugule-github / Plugin

This project is build for hacktoberfest 2026 Dev Challenge

Explain This Screenshot

Tagline

Understand the error. Fix the problem.

Explain This Screenshot is a privacy-first AI developer assistant that allows a user to upload a screenshot of a technical problem and receive a clear explanation and actionable solution. It turns that screenshot into an understandable diagnosis and practical fix.

Why Open Innovation?

Screenshots may contain source code, API keys, internal infrastructure, customer information, internal dashboards, logs, and private development environments.

Local inference provides:

  • Privacy
  • Offline capability
  • Model choice
  • Model swapping
  • Experimentation
  • No per-request cloud API cost

Features

  • Fast Mode: Get a quick structured explanation of the error from a single vision model call.
  • Deep Analysis: A multi-agent orchestrated pipeline to verify root causes, simplify explanations, and verify the generated solution.
  • Privacy-first: No database, no user accounts, no cloud storage, and no permanent screenshot storage.
  • Model Swappable: Bring your own open-weight vision model via Ollama.
  • Offlineโ€ฆ

The core demo flow is:

Upload Screenshot
       โ†“
Fast Explanation
       โ†“
Deep Analysis
       โ†“
5 Specialized AI Agents
       โ†“
Verified Solution
Enter fullscreen mode Exit fullscreen mode

Code

๐Ÿ’ป GitHub Repository:

GitHub logo ShreyashChaugule-github / Plugin

This project is build for hacktoberfest 2026 Dev Challenge

Explain This Screenshot

Tagline

Understand the error. Fix the problem.

Explain This Screenshot is a privacy-first AI developer assistant that allows a user to upload a screenshot of a technical problem and receive a clear explanation and actionable solution. It turns that screenshot into an understandable diagnosis and practical fix.

Why Open Innovation?

Screenshots may contain source code, API keys, internal infrastructure, customer information, internal dashboards, logs, and private development environments.

Local inference provides:

  • Privacy
  • Offline capability
  • Model choice
  • Model swapping
  • Experimentation
  • No per-request cloud API cost

Features

  • Fast Mode: Get a quick structured explanation of the error from a single vision model call.
  • Deep Analysis: A multi-agent orchestrated pipeline to verify root causes, simplify explanations, and verify the generated solution.
  • Privacy-first: No database, no user accounts, no cloud storage, and no permanent screenshot storage.
  • Model Swappable: Bring your own open-weight vision model via Ollama.
  • Offlineโ€ฆ

The project is open source and includes the frontend, backend, AI provider integration, agent orchestration, prompts, tests, and documentation.


How I Built It

The most important design decision was to not build another application that simply sends everything to a closed AI API.

I wanted the AI to be:

  • Open-weight
  • Local
  • Replaceable
  • Privacy-conscious
  • Useful without requiring an account
  • Usable without a database

๐Ÿง  Open-Weight Vision AI

The project uses an open-weight vision-language model through Ollama.

The model can understand screenshots containing things like:

  • Terminal errors
  • Source code
  • Stack traces
  • IDE warnings
  • Docker output
  • Cloud console errors
  • Configuration problems
  • API responses

The model is configurable, so the application isn't permanently tied to one model.

๐Ÿ–ฅ๏ธ Local Inference

The architecture looks like this:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    React Frontend    โ”‚
โ”‚                      โ”‚
โ”‚ Upload Screenshot    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Node.js + Express    โ”‚
โ”‚                      โ”‚
โ”‚ Agent Orchestrator   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚      Ollama                 โ”‚
โ”‚                            โ”‚
โ”‚ Open-weight Vision Model   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Enter fullscreen mode Exit fullscreen mode

The core inference can therefore happen on the user's own machine.


๐Ÿค– The Multi-Agent Pipeline

For the Deep Analysis mode, I split the problem into five specialized AI agents.

                 Screenshot
                     โ”‚
                     โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Screenshot Analyzer โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Error Investigator  โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Solution Engineer   โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Beginner Explainer  โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚ Solution Verifier   โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
              Verified Fix
Enter fullscreen mode Exit fullscreen mode

1. Screenshot Analyzer

First, the system determines what is actually visible in the screenshot.

It identifies things such as the error, programming language, code, terminal output, and relevant context.

2. Error Investigator

The next agent investigates the likely root cause.

It separates what was directly observed from what is inferred or uncertain.

3. Solution Engineer

This agent generates practical fixes, commands, code, and alternatives.

The application never automatically executes AI-generated commands.

4. Beginner Explainer

Technical debugging can be intimidating, especially for students and newer developers.

This agent converts the diagnosis into a simple explanation of what happened and why.

5. Solution Verifier

Finally, another agent reviews the proposed solution.

It checks whether the solution actually addresses the observed problem, identifies unsupported assumptions, and flags potentially dangerous actions.

This gives the final response an additional verification step rather than blindly displaying the first AI-generated answer.


โšก Fast Mode vs ๐Ÿง  Deep Analysis

I also wanted the application to be useful for both quick questions and deeper debugging.

Fast Mode

Screenshot
    โ†“
Vision Model
    โ†“
Quick Explanation
Enter fullscreen mode Exit fullscreen mode

Useful when you just want to understand an error quickly.

Deep Analysis

Screenshot
    โ†“
5 Specialized Agents
    โ†“
Verified Solution
Enter fullscreen mode Exit fullscreen mode

The UI shows the progress of each stage:

โœ“ Screenshot analyzed
โœ“ Root cause investigated
โœ“ Solution generated
โœ“ Explanation simplified
โœ“ Solution verified
Enter fullscreen mode Exit fullscreen mode

๐Ÿ” Privacy by Design

Screenshots aren't always harmless.

A developer's screenshot might contain:

  • Source code
  • API keys
  • Internal URLs
  • Customer information
  • Cloud infrastructure
  • Logs
  • Configuration
  • Private development environments

That's why I designed the project around local inference.

There is:

  • โŒ No authentication
  • โŒ No database
  • โŒ No permanent screenshot storage
  • โŒ No required closed AI API
  • โœ… Local AI inference
  • โœ… Configurable open-weight model
  • โœ… Session-only follow-up context

The goal isn't to claim that local AI makes data automatically "100% secure." Instead, it gives developers the option to keep their screenshots and inference within their own environment.


๐Ÿ›ก๏ธ Treating Screenshots as Untrusted Input

Another important part of the implementation is AI safety.

A screenshot might contain text that looks like an instruction or command.

The system explicitly treats everything inside the screenshot as untrusted data to analyze, not instructions for the AI to follow.

The application also does not:

  • Automatically execute commands
  • Automatically modify the user's system
  • Execute code from screenshots
  • Treat instructions inside screenshots as system instructions

This was especially important because the project is designed to analyze developer environments where screenshots can contain commands and potentially sensitive information.


๐Ÿงฐ Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • shadcn/ui
  • Lucide React

Backend

  • Node.js
  • TypeScript
  • Express

AI

  • Ollama
  • Open-weight Vision-Language Model
  • Custom multi-agent orchestration

Architecture

The five agents are implemented as specialized modules inside the Node.js application rather than separate microservices.

This keeps the project lightweight and easy to run locally.


Why Does Open Innovation Matter?

This is probably the most important part of the project for me.

A closed AI API could certainly analyze a screenshot.

But using open-weight AI and local inference makes a different architecture possible.

Instead of:

Screenshot
    โ†“
Your Application
    โ†“
Closed AI API
    โ†“
External Cloud
Enter fullscreen mode Exit fullscreen mode

the project can work like:

Screenshot
    โ†“
Your Application
    โ†“
Ollama
    โ†“
Open-weight Model
    โ†“
Your Computer
Enter fullscreen mode Exit fullscreen mode

That changes what developers can experiment with.

๐Ÿ”“ Model Freedom

The application can be configured to use different compatible models.

The AI provider isn't deeply embedded throughout the application.

๐Ÿ”’ Local Processing

Developers can run inference locally instead of automatically sending screenshots to an external AI provider.

This is particularly useful for screenshots containing source code, logs, infrastructure information, or other sensitive development context.

๐Ÿงช Experimentation

Because the model and agent prompts are accessible, developers can modify the system itself.

Want to change how root-cause analysis works?

Modify the investigator.

Want a different explanation style?

Modify the beginner explainer.

Want another verification step?

Add another agent.

๐Ÿ’ฐ Different Cost Model

There is no per-request charge from a hosted AI API for local inference.

There are still hardware, electricity, and model-running costs, of course.

๐ŸŒ Offline Potential

Once the application dependencies and model have been downloaded, the core analysis workflow can operate without an internet connection.


๐Ÿ’ก What Open AI Made Possible Here

The biggest thing open innovation enabled wasn't simply "using a free model."

It allowed me to make the AI layer part of the application architecture.

The model can be swapped.

The prompts can be inspected.

The agents can be modified.

The inference can run locally.

The application doesn't need a database or user account.

And developers can take the project, change it, and build something completely different from it.

That's the part of open AI that I wanted to explore with this project.


My Agent Session

Currently used my local model this for short time but will be working on Gemma 4 model and build for friend


Prize Categories

Best Use of ElevenLabs
Best Use of Tinker

Best Use of Backboard
Best Use of Render


๐Ÿš€ What's Next?

There are several directions I'd like to explore:

  • Support more open-weight vision models
  • Add more specialized debugging agents
  • Improve structured output reliability
  • Add more language/framework-specific diagnosis
  • Improve local model performance
  • Add optional screenshot redaction
  • Add richer developer-tool integrations
  • Support more complex multi-screenshot debugging workflows

โค๏ธ Final Thought

Developers don't always need another chatbot.

Sometimes they just need to show someone the problem and hear:

"I see what's happening. Here's why. Here's what you can try."

That's what I wanted Explain This Screenshot to be โ€” a small, local, open AI-powered debugging friend.

๐Ÿ“ธ Show it the problem.
๐Ÿง  Let it understand.
๐Ÿ› ๏ธ Get a fix.


Built for the developers who have ever taken a screenshot and said: "Can someone tell me what's wrong here?"

Top comments (0)