[verdict][curated prompt][source: socialfetch.dev]
Can I vibecode Social Fetch?
// the value is the network, the data or the infrastructure
A personal TikTok or Instagram profile fetcher with Playwright and SQLite is a one-sitting build. Social Fetch is not that. It is kept-alive scrapers on 20+ platforms, proxy routing, anti-bot handling, a stable response schema, and credit metering. Your DIY script breaks when TikTok changes markup. The API bill is for that not being your problem.
confidence: high
what it is: REST API for profiles, posts, transcripts, and engagement metrics across 20+ platforms
Buildability index · an editorial game
- Price from 29 $ · usage-based weight: plus 3
- Time closest consolation build: one sitting weight: minus 1
- Category developer tools no weight
- Moat infrastructure scale · integrations weight: minus 3
- Confidence high weight: plus 1
- What you lose 5 items weight: minus 2
- Site socialfetch.dev (si apre in una nuova scheda) no weight
The moat outweighs the price: rebuilding this is a project, not an evening.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
Fetch public profile and recent posts for one platform (TikTok or Instagram), normalize into JSON, cache in SQLite, expose a tiny local HTTP API.
what you need
- Node + Playwright (or similar)
- SQLite
- optional residential proxy for anything beyond light personal use
Built by the submitter. Same rubric as everything else: this is infra, not a vibecodable SaaS UI.
The prompt
The verdict is NOT REALLY, and the prompt stays anyway: it does not replace the app, it rebuilds the part that really is code. The rest is the moat.
Build a closest honest personal substitute for Social Fetch in an empty folder.
Stack (fixed): Node 22, TypeScript, Express, better-sqlite3, Playwright, Zod. No alternative stacks.
Scope: one platform only · TikTok public profiles + recent videos. Localhost only.
- GET /profile/:handle → display name, bio, follower/following counts, avatar URL
- GET /videos/:handle → last N public videos with id, caption, play/like counts, createdAt
- Cache responses in SQLite for 15 minutes; return cached JSON when fresh
- Normalize into a stable { data, meta } shape with requestId and cached: boolean
- Secrets (optional PROXY_URL) in .env; ship .env.example
- README must say bluntly: this will break when TikTok changes markup; no proxies, no Instagram/YouTube/X, no transcripts, no comments at scale, no production use
- Out of scope (say so in README): multi-platform adapters, residential proxies, captcha solving, rate-limit farms, billing, accounts, telemetry
- Include a smoke test that mocks HTML fixtures (do not hit TikTok in CI)
- One command to run locally; finish by listing exact commands used Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- 20+ platforms on one schema and one API key
- proxy / anti-bot / captcha handling
- someone else patching when platforms break
- production metering, request IDs, and uptime
- monitors, webhooks, and batch enrichment at volume
Why people still pay
Writing a scraper is a weekend. Keeping scrapers working against platforms that fight scrapers is ongoing ops. Teams pay so their pipeline keeps returning `{ data, meta }` while someone else rotates proxies and patches adapters.
moat: Infrastructure scale Integrations what a moat is
scraping infrastructure + multi-platform maintenance
Who has already built it
Starting from here is still vibecoding: the prompt is for when you want it exactly your way.
- yt-dlp (opens in a new tab) — open-source media/metadata extraction for some platforms · not a multi-platform profile API
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.