ANADI THAKUR
← ALL CASE STUDIES

THE WRAPPER TEST

Can a founder tell a real AI product from a thin wrapper?

TYPE
PERSONAL PROJECT
ROLE
Solo: questions, scoring, build
TIMELINE
Sep 2026
PLATFORM
Web
STACK
React · TypeScript · vite-react-ssg · Vercel Functions · Resend · Vitest

The problem

A lot of AI products are a prompt around someone else’s model. The founders building them often can’t tell whether theirs is one of those, and the people they ask either sell them something or tell them it’s fine.

The useful question is narrower than “is it good”: what does the product do that the model alone doesn’t, what happens when the model is wrong, what does each request cost at the floor, and how would anyone know it got worse.

What I had to learn

  • How to turn a judgement call into a scoring model someone can check: thirteen questions, each weighted 0–3, rolled up into four axes and nine sections, with the thresholds printed on the result so a score can be argued with.
  • How to keep “I don’t know” honest. Every question has a fourth option that scores zero but is reported separately, because an unknown is a finding in its own right and folding it into a low score hides it.
  • How to prerender share pages from a pure function, so a link to a result carries its own title and card image without a server.

What I built

A single page at /teardown. The intro and first question are in the prerendered HTML, so the proposition is readable before any JavaScript runs. Answers stay in the browser until the reader asks for the report by email.

  1. 01

    Scoring is arithmetic only

    The scoring module returns numbers and never a sentence. That keeps its tests pure and leaves one place in the code where words reach a reader, which is the one place the tone rules have to be enforced.

  2. 02

    Diagnose, never prescribe

    The breakdown says what the answers show, not what to do about it. A test fails the build if any finding uses advice phrasing like “you should” or “make sure”. Advice without the context of the product is guessing.

  3. 03

    The server re-scores, it never trusts

    The email function takes the raw answers, thirteen small integers, validates them exhaustively and re-runs the same modules the browser ran. There is one implementation of the scoring in the system, not two that can drift.

  4. 04

    The gate is a courtesy, not a lock

    The report is computed in the browser from data already in the bundle. Moving it server-side to protect something given away for free would cost a round trip on every reveal.

  5. 05

    Forty prerendered result pages

    One per reachable score, resolved from the scorer at build time, each with its own title and share card. They are noindex: forty near-duplicates would dilute the pages worth finding.

Where it stands

Live and free at anadithakur.in/teardown, with no account.

Scoring, report and email payload are covered by unit tests, including the no-prescriptions rule.

What it taught me

Writing the thresholds onto the result page changed how I wrote the questions. Once the reader can check the arithmetic, every weight has to be defensible.

Thirteen questions, about three minutes.

Take the Wrapper Test →