Can I vibecode ScreenshotOne?

price $17/moyou'd save $204/yrbuild time weekendcategory dev-toolsreplaced by 0 people
KINDA
MOATscale infraproprietary dataexecution polish

Managed API for rendering websites, HTML, and Markdown as images or PDFs

The Build Prompt

copy it and go build
ready to paste · 1,497 chars
Build me a self-hosted website screenshot API to replace ScreenshotOne for personal use. Requirements:

- Node 22 + Fastify + Playwright (Chromium) + better-sqlite3, one process, no queue system.
- GET /take?url=&format=png|jpeg|webp|pdf&width=&height=&full_page=&delay_ms= renders the
  page in a pooled Chromium context and returns the image bytes directly.
- POST /take accepts raw HTML or Markdown in the body and renders that instead
  (Markdown through marked into a plain template).
- Auth is one API key from .env, checked on every request; 401 without it.
- Cache by hash of the normalized options: metadata in SQLite, files under data/cache/,
  with a cache_ttl option and a fresh=true bypass.
- Block ads and cookie banners the honest way: load EasyList and the
  "I don't care about cookies" filter list at startup, apply them via request
  interception, plus a small CSS hide-list for common consent overlays. Do not
  promise it catches everything.
- Hard 15-second navigation timeout, one retry, then a JSON error with the reason;
  never a hanging request.
- Concurrency capped at a small context pool (default 2) with an in-memory queue,
  so the box does not fall over.
- Out of scope: proxies and IP locations, stealth evasion, scrolling video capture,
  GPU rendering, dashboards, usage billing. That fleet is the paid product.
- README: npx playwright install chromium, .env keys, Chromium memory expectations,
  and a one-line warning that hostile sites will beat this build.

What you lose

  • managed browser capacity, rate limiting, and high availability
  • maintained ad, cookie banner, chat widget, and popup blocking rules
  • residential proxies, selectable IP locations, and stealth tuning
  • scrolling screenshots, video generation, and GPU rendering
  • production support for difficult sites and browser edge cases

Why it still works

browser fleet, blocking-rule corpus, proxies, and rendering reliability

Share on X ->Your vote helps rank the vibecoded list.

Questions

5 answers