About

Built by developers whowere tired of guessing.

The frontend you run and the frontend you write are two different worlds, and no tool spans them. The browser knows there is an element at those coordinates. Your editor knows there is a component in that file. Neither knows the other exists, so you spend the day being the translation layer between them.

React · Vue
Supported, with Next.js and Nuxt
Local
Your code never leaves your machine
SSR + client
Node debugging shipped, browser in beta
01In the browser

The element you see

A DOM node and its classes.

Source fileMediaCard.jsx
02Injected at serve

How it gets there

Changes to your appNone
03In the framework

The component behind it

The node the framework itself holds, with its props.

From the frameworkNot guessed
04Resolved in the host

Which file owns it

Path checkedIn your workspace
05In your editor

The line that made it

Your file, open at that exact line.

Renders.movie-card
Five steps, one chain — element to source line, resolved.

An illustration of five cards, one per step of the chain from a running app to an open editor. First, the element you see in the browser — a DOM node and its classes — which resolves to the source file MediaCard.jsx. Second, how the agent gets there: an HTTP proxy inserts a script tag before the closing body tag as the page is served, so the number of changes to your own app stays none. Third, the component the framework holds for that element, with its props, read from the framework rather than guessed. Fourth, the step that decides which file actually owns it: when the framework offers no source location, the editor host runs a ranked text search and weighs the component's own file against a definition file, then checks the chosen path is inside your workspace. Fifth, your editor, open at the exact line that renders the element. One beam threads all five, and every step can answer its own question.

Reading a stack trace in one window, guessing at a filename, searching for it in another — that is the loop, and it costs more than most of the bugs it is spent on.

Inspectro closes that gap. It attaches to your running application, reads the framework’s own internals rather than approximating them, and gives every rendered pixel a path back to the line of source that produced it — inside the editor where you are going to fix it.

The problem

Why this is harder than it looks

Frameworks erase themselves

By the time your code reaches the browser, the compiler has flattened components into function calls. Some frameworks keep a runtime tree you can read. Others delete the concept entirely at build time. No single mechanism works everywhere.

Source maps drift

A source map tells you which file a bundle chunk came from. It does not reliably tell you which component owns a rendered node — and the two answers diverge exactly when a page is complex enough that you needed help.

Two runtimes, one bug

Server rendering and client hydration execute the same components in different processes. A breakpoint that binds in one will not fire in the other, so a debugger that understands only one of them will silently mislead you half the time.

The journey

How it started

Inspectro did not begin as a product idea. It began as a mobile developer moving to frontend and discovering that the instruments he had taken for granted for 13 years simply were not there.

  1. 13 years in mobile

    Tooling you never had to think about

    I spent 13 years building mobile apps — first native, then cross-platform. The IDEs and framework tooling I worked in shipped with instruments so good you stopped noticing them: click-to-source, debug paint, a network layer, performance timelines, a real debugger. They were simply part of the job.

  2. The switch

    From mobile to React, at pace

    At my previous company I moved from mobile to frontend to work on product. Everything was unfamiliar at once — how developers ran the app across environments, how styles, components, business logic and the API layer were separated, how the project was laid out. Learning that quickly was hard.

  3. The nightmare

    Looking at the app and not knowing where it lived

    The worst part was the simplest question: I can see this on screen, so which route is it, and which component? Answering it meant guessing, then hunting. Browser, editor, browser developer tools, back again — the context switching cost more than the bug usually did.

  4. The thought

    Why isn't the running app in the same window as the tools?

    Not another panel bolted onto a browser. One window holding the running application and the instruments together: click-to-source, full ancestry, debug paint, network, accessibility, performance, a device toolbar, coverage tied to the git branch, and a debug panel with a real editor.

  5. The scope

    It cannot only be React

    The lesson from mobile was that tooling belongs to the platform, not to one library. Most products are built in React, Next.js, Angular or Vue, and the tool has to meet them there. Real limits remain — which is why the docs list what genuinely works and what does not, rather than implying everything is ready.

  6. The build

    Two hundred iterations and counting

    More than two hundred passes of testing, optimising and hardening: SSR and CDP debug modes, cookie injection and user switching through JWT generation with payload configs, environment switching from INT to DEV to STG, security layers, and a steady fight against boilerplate in favour of code that is reused rather than repeated.

Inspiration

What we learned from, and where we differ

Prior art

Native mobile IDEs

Their layout inspectors could take a view on screen and show you the hierarchy that produced it, with the source a click away. Not a novelty — the default. It set the expectation that the tool should answer "where does this come from" without you leaving it.

Prior art

Cross-platform framework tooling

Debug paint, a component inspector, the performance timeline and the network view, all attached to the running app rather than to a separate browser. The whole idea of one instrument bound to one live application comes from here.

Prior art

Browser developer tools

They proved developers will live inside a tool all day if it is fast enough, and remain the benchmark for inspecting a live page. It stops at the browser's edge — it has no idea your source tree exists, which is exactly the gap that costs you the afternoon.

Prior art

The editor debugger

Breakpoints, call stacks and watch expressions are decades old and still the clearest way to understand running code. They had simply never been pointed at the browser and the server at the same time.

What we believe

Three things we will not trade away

Your code never leaves your machine

Inspectro reads your source to map a component back to a line. It does not upload it. That is a design constraint, not a policy we could quietly relax later.

Honest about what works

A framework is listed as supported only when the whole feature set works. A debugger that half-works misleads you mid-debug, which is worse than one that says up front it is not ready.

The editor is the destination

Every path through the tool ends at the line you need to change. Insight you have to carry back into your editor by hand is insight that mostly evaporates.

Team

Who builds it

One person writes the code. A handful of others made it better by using it, breaking it and saying so.

Hema Sai Charan Kothamasu, Founder & Sole Engineer
Founder & Sole Engineer

Hema Sai Charan Kothamasu

13 years of building software — from native Android to cross-platform — across consumer products with tens of millions of downloads and engineering teams of up to seven. When he moved into frontend, he found himself missing the depth of tooling he'd come to rely on: the ability to trace a UI element back to its source, understand its layout, and see what was happening beneath the surface. The tools weren't there, so he built them. Inspectro is that missing instrument — built end to end to give frontend engineers a deeper, more intuitive way to understand, debug, and shape the interfaces they build. But Inspectro is only the beginning. It marks the first step in a much bigger journey to build products that rethink how developers create software — with plenty more to come.

Hyderabad, India

Founding team

Inspectro is written by one engineer. These three shaped what it became — in review, in argument, and in design.

  • S. Pawani Dora, Founding Team MemberFounding Team Member

    S. Pawani Dora

    Senior software engineer with five years in software development, across Flutter, Android, Java, Kotlin, Dart, Node.js and NestJS. Drawn to scalable applications, new technology, and solving problems that show up in real work.

    Hyderabad, India
  • Moinuddin Mohammed, Founding Team MemberFounding Team Member

    Moinuddin Mohammed

    Md Moinuddin is an Industry expert and an AI/ML solutions specialist with over 5 years of experience architecting cross-platform systems and agentic workflows across SaaS ecosystems. As a prominent tech community leader in Hyderabad, he actively heads initiatives across Applied AI and SaaS ecosystems — organizing major developer workshops and mentoring at hackathons, with an aggregate footprint empowering more than 5,000 engineers. Outside of core engineering, he drives hands-on developer enablement around open-weights models and next-generation application architecture. Apart from this he is a big time supporter and ecosystem enabler for startups, having consulted 25+ startups and mentoring multiple.

    Hyderabad, India
  • Kanna Ajay Kumar, Founding Advisor, DesignFounding Advisor, Design

    Kanna Ajay Kumar

    Product and UX designer with five years building scalable design systems, web tools and AI interfaces. Takes early-stage ideas and turns them into clean, structured, user-friendly products.

    Hyderabad, India

Inspectro is better for their time, and several features exist because they asked for them.

Contact

Want to talk to the people who built it?

We read everything. Bug reports, framework requests and “this is wrong, and here is why” are all equally welcome.