Search CodeHorizon

Products

CSS Class HighlighterChrome extension · Live ShopGradeChrome extension + web app · Live SecureVaultAndroid app · Live Companion AIAndroid app · Live Speaker CleanerAndroid app · Live NickedAndroid game · Live CompassAndroid app · In testing TubeFocusChrome extension · Live KeeptakeChrome extension · Live TabClusterPast Chrome extension · Past project NotiloPast Chrome extension · Past project

Insights

Android now checks who built an app before it installs itAndroid WebMCP lets your website hand AI agents a proper set of toolsWeb and AI Your next customer might be an AI agent. Here is what it reads in your storeShopify Manifest V2 is gone. This is what a Chrome extension looks like nowChrome extensions Google sends fewer clicks now. Here is how a business website should adaptSearch

Pages

HomeThe studio ServicesWebsites, stores, extensions and apps Case studiesSelected work ProcessHow a project runs All productsThe complete collection InsightsPlatform changes, explained JournalEvery release, newest first Start a projectPlan it in a minute
move openEsc close

ShopGrade

Chrome extension + web appLive

A one-click audit for any Shopify store.

ShopGrade audits any public Shopify storefront from your browser and turns what it finds into a graded, prioritised report that an agency can hand straight to a client.

Platform
Chrome
Version
4.9.1
Updated
13 Oct 2026
Price
First report free
Role
Sole developer
Timeline
May to Sep 2026
Stack
TypeScriptReactViteManifest V3Appwrite FunctionsPaddlePageSpeed Insights

The problem

Why ShopGrade exists

Auditing a Shopify store usually means jumping between five tools: PageSpeed for speed, an SEO crawler, a spreadsheet for trust signals, screenshots for the client, and a doc to explain it all. By the time it is done, the findings are scattered and the client still asks the only question that matters: what should we fix first?

Before

  • Five tools for one audit
  • Findings scattered across tabs and docs
  • The client still asks what to fix first

With ShopGrade

  • One click on the storefront
  • One graded report with the evidence
  • A roadmap sorted by impact
The hardest part
Keeping what the page shows separate from measurements and AI-written suggestions, so merchants know what is fact.

How it works

How you use it, step by step.

From installing it to the result you are after.

  1. ShopGrade over a Shopify store: a live score and its breakdown in one click
  2. The report overview: a graded verdict and the three fixes to start with
  3. Rescan to compare, then share the report or export a client deck
ShopGrade over a Shopify store: a live score and its breakdown in one click
ShopGrade over a Shopify store: a live score and its breakdown in one click
The report overview: a graded verdict and the three fixes to start with
Rescan to compare, then share the report or export a client deck

Under the hood

How it is built.

A Manifest V3 Chrome extension that audits any public Shopify storefront, plus a product website. The report covers performance, mobile usability, trust, buying friction and SEO. Every finding shows its evidence and a suggested next step, so merchants and agencies can decide what to fix first.

Behind it is a backend of my own: it decides who can generate what, writes the optional AI review, and serves the reports people share.

  1. 01

    Page script

    Performance observers and store signals, in the page’s own world

    To see what a store loads, the performance observers have to run in the page’s own JavaScript world. Nothing else of the extension does.

  2. 02

    Content script

    A bridge, in its isolated world

    Everything else stays in the extension’s isolated content script. It passes the page’s signals on, and the two worlds only talk through messages.

  3. 03

    Service worker

    Keeps each tab’s audit, and scores it

    It keeps each tab’s audit in session storage and scores it as the page loads, flushing new readings about every 300 ms, so the popup’s score moves live.

  4. 04

    Backend functions

    Gate every report, and serve the shared ones

    One function checks the plan, credits, a verified email and the free-trial limits before any report. Only the payment provider’s webhook grants a plan, and shared reports are rendered at report.shopgrade.in and last 15 days.

01

Two worlds in one page

To see what a store loads, the performance observers have to run in the page’s own JavaScript world. Everything else stays in the extension’s isolated content script, and the two only talk through messages.

02

The server decides what costs money

The extension can’t be trusted with plans, quotas or credits, so a single function gates every report. It checks the plan, credits, a verified email and the free-trial limits.

03

One place grants a plan

Only the payment provider’s webhook can grant or take away a paid plan or report credits.

04

Shared reports that expire

Reports people share are rendered on the server at report.shopgrade.in. A link lasts 15 days, and its owner can delete it at any time.

JavaScriptfunctions/start-generation/src/main.jslines 1129 to 1162, cut short
// Spends one purchased credit. Declared as a closure so both the "plan
// exhausted" and "lost the last slot to a race" paths reuse it. Paid plans
// keep their white-label; free/credit-only reports are watermarked.
async function spendCreditAndReply() {
  // Fast ATOMIC path: spend the credit, grant the per-kind AI + CRO units,
  // and finalize the claim in ONE transaction. Either all four land or none
  // do, so a process killed mid-spend can never consume a credit without its
  // entitlements or leave a half-provisioned pack. The atomic decrement
  // floors at 0, so if a concurrent spend already drained the last credit the
  // whole transaction fails - and since it rolled back cleanly, we simply
  // fall through to the sequential path, which re-runs the atomic decrement
  // and correctly tells "no credit left" apart from a real spend.
  {
    const claimNote = JSON.stringify({ fp: fingerprint, tier, wm: !paid, uc: true });
    const spend = await runTx(async (txId) => {
      await db.decrementDocumentAttribute({
        databaseId: DB, collectionId: PROFILES, documentId: meterId,
        attribute: 'creditsBalance', value: 1, min: 0, transactionId: txId,
      });
      await db.incrementDocumentAttribute({
        databaseId: DB, collectionId: PROFILES, documentId: meterId,
        attribute: 'creditAiBalance', value: 1, transactionId: txId,
      });
      await db.incrementDocumentAttribute({
        databaseId: DB, collectionId: PROFILES, documentId: meterId,
        attribute: 'creditCroBalance', value: 1, transactionId: txId,
      });
      if (ownedClaim) {
        await db.updateDocument({
          databaseId: DB, collectionId: USAGE, documentId: ownedClaim.$id,
          data: { used: 1, updatedAt: Date.now(), note: claimNote }, transactionId: txId,
        });
      }
    });
        // …
From the sourceA credit is spent all at once, or not at allOne transaction spends the credit, grants the report’s AI and CRO units and settles the claim. A crash or a race can’t take a credit without giving what it paid for, and if the last credit has already gone, nothing changes.

Decisions

The calls I made, and what they cost.

Each decision lists the reason for it and what it gave up.

  1. 01

    Start from the public storefront, not a Shopify admin app

    Why

    Anyone can audit any store without installing anything on it.

    Trade-off

    A public page can’t see orders, traffic or real conversion data.

  2. 02

    Keep observations, measurements and AI-written findings visibly separate

    Why

    So you can tell what was seen on the page from what is interpretation.

    Trade-off

    Automated checks can point to a problem, but can’t prove what fixing it is worth.

Screens

What it looks like.

01 / 08
01ShopGrade over a Shopify store: a live score and its breakdown in one click
02The report overview: a graded verdict and the three fixes to start with
03What shoppers see: a visual review of the storefront
04What to fix first: an action roadmap with the evidence and next step for each fix
05Rescan to compare, then share the report or export a client deck
06Client deck: the verdict slide
07Client deck: a priority fix with evidence
08Client deck: what the audit captured

Features

What you get.

01

Weighted score with a plain-language verdict

Speed, findability, trust, mobile, conversion and technical foundation, each scored on its own.

02

A roadmap sorted by impact

Every fix comes with the evidence, the target and the next concrete step.

03

Ten crawl and SEO checks

Read from the live page and robots.txt, each with the measured value and what to change.

04

What a shopper really sees

Conversion and trust signals a first-time visitor meets before entering card details.

05

White-label reports and decks

Your logo, brand colour and call to action on the report, the PDF and the client slides.

06

Optional AI review

On paid plans: Lighthouse lab data, field data when available, and an AI read of the homepage and a product page.

Your data

ShopGrade stays dormant until you consent. It never reads form values, passwords or private messages. Audits run in your browser and their data stays there by default. ShopGrade servers check your account and report quota, and only receive audit data when you share a report or turn on AI review, monitoring or the agency workspace.

Questions

Good questions.

Something else? Ask me directly.

Do I need access to the store's Shopify admin?

No. ShopGrade reads the public storefront only. There is no app to install, no store login and no admin access, and it never writes anything to the store.

Is ShopGrade free?

Your first report is free. Paid plans add the optional AI review, with Lighthouse lab data, field data when it is available, and an AI read of the homepage and a product page.

Can I put my agency's branding on the report?

Yes. Your logo, brand colour and call to action appear on the shareable report, the PDF export and the client presentation deck.

What does the extension read while I browse?

Nothing until you consent. It stays dormant until you open a public Shopify store and confirm the audit, and it never reads form values, passwords or private messages.

Does it work on stores that are not on Shopify?

ShopGrade is built for Shopify storefronts. On other sites it stays dormant.

Milestones

From the first line to today.

  1. May 2026

    Work begins

    An audit for public Shopify storefronts, as a Chrome extension.

  2. 26 Jun 2026

    Its own repository

    The extension, its report and dashboard, on an Appwrite backend; shopgrade.in followed three days later.

  3. Sep 2026

    Live on the Chrome Web Store

    An overall grade with a plain-language verdict, scores for speed, trust, mobile, conversion and search, and a to-do list sorted by impact.

  4. 15 Sep 2026

    4.7

    Agencies can turn any audit into a client deck with their own logo, colours and name, and reports stay private until you open a share link.

  5. 9 Oct 2026

    4.9

    The popup, the card it shows on a storefront, the site and the dashboard move from dark to light, and every page now agrees on what each plan includes.

  6. 13 Oct 2026

    4.9.1

    The current Chrome Web Store release, with new store screenshots from the light build.

  1. Updatev4.9

    ShopGrade 4.9 brings a lighter, clearer popup

    The popup and the card on the storefront move to a new light design, and every surface now agrees on what each plan includes.

    • A new light design for the popup and the on-page storefront card, matching the refreshed shopgrade.in.
    • Plan descriptions now match across the popup, the report and the website.
    • The Free plan no longer shows the health scores as locked, and the report drops an empty toolbar pill on phones.
    • New Chrome Web Store screenshots, taken from the current build. Version 4.9.1 followed on 13 October.
  2. Updatev4.7

    ShopGrade 4.7: a report you can hand straight to a client

    Agencies can turn any audit into a presentation deck with their own branding, ready for a client meeting.

    • Client decks: landscape slides made for showing a store owner, not the report squeezed onto a page.
    • Add your logo, colours and agency name to reports and PDFs.
    • Reports stay private until you open a share link, and you can close it again with one click.
    • More reliable scans on stores with custom web addresses.
  3. Launch

    ShopGrade is live on the Chrome Web Store

    Open any Shopify store, click once, and see what is slowing it down and where it is losing shoppers.

    • An overall grade with a plain-language verdict, plus scores for speed, trust, mobile, conversion and search.
    • A to-do list sorted by impact: what to fix first, the evidence, and the next step.
    • Scan again later to see what you fixed and what is new.
    • Share a live link to the report or export it as a PDF.
  4. Behind the scenes

    ShopGrade becomes a product of its own

    What began in May as a fix for a real annoyance, checking one Shopify store with five different tools, moves into its own project.

    • The extension, its report and a dashboard, on a backend of its own.
    • shopgrade.in, the product's own website, followed three days later.

For businesses

Like how ShopGrade turned out? I can build yours.

Websites, Shopify stores, Chrome extensions and Android apps, designed and engineered with the same care as my own products.

Booking new projects

Tell me what you’re building.

I read every message myself and reply within a day or two with honest next steps.

  1. 01You share the ideaA few lines is plenty. Links to anything similar help.
  2. 02We talk it throughOne short conversation by email or a quick call.
  3. 03You get a clear planScope, timing and a price that fits, before any work starts.
Just say helloFour fields, that is all

Your details come straight to my inbox and are only used to reply. Nothing is stored on this site or shared.

Project plannerTakes about a minute
01What do you need?Pick any that fit. Skip it for a quick hello.
02Budget
03Timeline
04Tell me about it

Your details come straight to my inbox and are only used to reply. Nothing is stored on this site or shared.