i'm a pm at an ev mobility startup. our product is a mobile app with an internal SaaS platform, and i spend a lot of my time doing QA—finding bugs, documenting them, making sure engineers have what they need to fix things.
my workflow for a single bug used to be: find it in the browser, take a screenshot, open claude or chatgpt in another tab, paste the screenshot, describe what's wrong, go back and forth until it writes a decent ticket, then open jira, paste the description, upload the screenshots, pick the issue type, fill in the fields. five tools, ten context switches, for one ticket.
when MCPs came out, it got better. i could connect claude directly to jira—read tickets, write tickets, search for duplicates. great. but the jira MCP can't upload images. it can download and read attachments, but there's no upload tool. screenshots—the most useful thing in a bug report—still needed the manual dance.
and even if it could upload images, i'd still have to leave my browser, switch to claude, upload the screenshot, describe the problem. the context switch is what kills it.
so i built SmartJira—a chrome extension that lets me stay on whatever tab i'm on, capture a screenshot, describe the issue in plain language, and push a structured jira ticket with screenshots attached. without ever leaving the page.
chrome web store: live
price: free (bring your own API keys)
backend: none
what it actually does
you click the extension on any page. capture a screenshot or upload one. type something rough—"login page breaks on safari when you paste an email." hit enhance and the AI turns it into a structured ticket with a title, steps to reproduce, acceptance criteria.
the part i care about most: the extension also captures failed network requests and console errors from the tab you're on, automatically. when you hit enhance, the AI gets the screenshots as images and the error logs as text. so it's not guessing—it can see the broken UI and the actual errors.
think about it from a customer support person's perspective. they're on a call, something's broken on screen. are they going to open dev tools, look at the network tab, copy error messages, switch to another app? no. they're going to write "login broken" and move on. and then an engineer gets a useless ticket. this just automates the context gathering that nobody has time to do manually.
runs entirely in your browser. no backend, no accounts. you bring your own API key (openai, anthropic, or google) and your jira credentials stay in local storage.
the long road here
this was my second real project, and it shows. started december 2024 and i did everything wrong. before i had anything working, i was setting up firebase auth, stripe subscriptions, email templates, analytics, a next.js frontend with tailwind. i had a payment flow before i had a usable extension. classic.
then the chrome web store rejections started. firebase bundles remote code, manifest v3 doesn't allow that. kept getting rejected for a "Blue Argon" violation—fix the bundling, resubmit, rejected, fix it differently, resubmit. i got frustrated enough to ask a friend to look at the code because i was completely stuck.
eventually got it through, but i'd lost all momentum. shelved the project for months.
came back mid-2025 with fresh eyes. first thing i did was delete almost everything. ripped out firebase, stripe, the payment flow, the entire backend. suddenly the project was simple again—your browser talks directly to jira and your AI provider. no middleman.
picked it up again early 2026 and that's when it actually came together. by then i'd shipped more projects, gotten better at knowing what to build vs what to skip. the models had gotten better too. and my mindset had shifted—instead of "what should i add" it became "what can i strip away."
every time i came back after a break, the first thing i'd do was delete things. took me a while to realize that pattern was trying to tell me something.
building with claude code
the very first version was cursor, but i switched to claude code around june 2025 and everything since then has been built with it. partly because i like it more, but also because i'd gotten better at using these tools—being specific with prompts, setting up project docs, letting it handle the boring parts.
the biggest wins were refactoring, not writing new code. i could tell claude code "audit this codebase for security issues" and it would find real stuff—innerHTML calls that were XSS vectors, console.log statements leaking API keys, 300 lines of dead code. one prompt, one commit.
the models got noticeably better between when i started this project and when i finished it. late 2024, AI was fine for scaffolding but you'd spend a lot of time cleaning up after it. by early 2026 i could throw complex refactoring tasks at it and get clean results back. that gap shrinking is a big part of why this project finally shipped.
it's free on the chrome web store if you want to try it.
chrome web store: SmartJira
landing page: smartjira.vercel.app