Build Notes

Vizipy Launch: Our 14-Day MVP Journey

Atanas Ivanov

4 min read

The constraint was simple. Two weeks, working solo, from an empty repo to something a stranger would pay €79 for. Anything that didn't directly drive the first sale got cut, regardless of how clever or fun it was. Here's what survived the cut, what didn't, and the one feature that almost ate the entire timeline.

What we were actually building

Vizipy is a credibility artifact. You paste a URL, we scan up to 50 pages of the site, and we give you back a single number between 0 and 100 – the consistency score. A studio can attach it to a client handoff. A product team can track it sprint-over-sprint. It's deliberately not a subjective "is this design good" tool; it measures whether your site is consistent with itself, which is a different and much more tractable question.

The MVP needed three things to be sellable: a scan that runs without dying, a score that feels defensible, and a report a non-engineer would screenshot into Slack. Everything else was negotiable.

The 14-day breakdown

Days 1–2 – Scoring algorithm on paper. I started here on purpose, not with code. If the score wasn't defensible, the rest of the product was wasted effort. Final approach: per-element categories (typography, color, spacing, components, functional), majority pattern within a category becomes the implicit baseline, deviations are weighted by frequency and visual impact. Wrote the math out longhand before touching a file.

Days 3–5 – Scan worker. Playwright in a Lambda, queued via SQS, results dropped into Supabase. The single hardest engineering problem of the whole project: making 50 sequential page loads finish in under 90 seconds without OOMing the worker. I rewrote the queueing layer twice.

Days 6–7 – Score page UI. The screen the buyer actually looks at. Score in big numbers, category breakdown bars, top 5 findings with screenshots, fix-preview CSS. No animations, no charts, no dark-mode toggle. Pure deliverable.

Days 8–10 – Landing + checkout. Stripe Checkout (not custom forms – that would have eaten two days). One pricing tier at launch (Free + Plus). Magic-link auth, no password recovery flow.

Days 11–13 – The one feature that almost killed it. Cross-page comparison. The "compare your homepage to your pricing page" report. Conceptually central to the product. Three days of work and it kept producing false positives because hero sections genuinely are different from pricing sections, and the scoring couldn't tell intentional difference from drift. On day 13 I cut the per-page-pair comparison and shipped a simpler "all pages contribute to the baseline" model. It was the right call. The product worked.

Day 14 – Launch. Posted to LinkedIn at 9am. First sale at 2:47pm.

The cut list

The things I deleted from the spec because they couldn't justify their weight:

  • Password auth (magic links only – saved a full day of recovery / reset flows)
  • Per-finding comment threads (saved 1.5 days of CRUD UI)
  • Export to PDF (Markdown export only at launch – saved 2 days of PDF rendering edge cases)
  • A dashboard with charts (the score page IS the dashboard – saved a week of work I didn't have)
  • A "team plan" with seat management (Plus is single-user at launch – saved 3 days of org modeling)
  • Webhooks (saved a day; nobody asked for them in the first month)
  • A CLI (saved 4 days; the URL form is the CLI for now)

Every one of these will eventually be valuable. None of them would have changed whether the first customer paid.

What actually mattered

Three things, in order of how much they moved the needle:

  1. The score is one number. People can hold one number in their head. A category breakdown with 5 sub-scores is two numbers more than people can compare across runs. The single 0–100 score is what sells.

  2. The fix preview shows CSS, not advice. "Your h2 sizes are inconsistent across pages" is correct and useless. "Replace font-size: 22px on /pricing with font-size: 24px to match your baseline" is what closes the gap between knowing and shipping.

  3. The report is shareable as-is. No login required to view a public report. Studio sends it to client, client clicks the link, client sees the score. Friction kills referrals.

Lessons for the next sprint

The temptation in week two was to add features the existing customers asked for. The pattern I missed for a week: the right next move wasn't features, it was making the first thing – the scan – faster and more reliable. A second customer doesn't care about your feature list if the first scan times out.

The 14-day MVP wasn't a stunt. It was the shortest path to learning whether anyone would pay for a credibility artifact in the first place.


See what your own consistency score looks like. Paste your URL on vizipy.com – 30 seconds, no signup, free first scan.

See More

Related Articles

Catch visual bugs before they ship

Paste any URL. Get a 0–100 consistency score and a prioritized fix list in 30 seconds – free to start, no credit card.