SocialKit Makes \$3.5K/mo: Vibe-Coded with Claude (Case Study)

October 7, 2026 · 1266 words

FactValue
What it isAPI that returns transcripts, summaries, comments and stats from YouTube, TikTok, Instagram, Facebook, X and LinkedIn
BuilderDeveloper: Jonathan Geiger, almost five years at a small startup before going solo
AI toolClaude (writes his code; which Claude product isn't specified)
StackTypeScript, Next.js, Fastify, MongoDB, Upstash Redis, BullMQ, AWS Lambda, LemonSqueezy, Resend, Gemini/OpenAI, Railway
Time to launchNot disclosed; launched about 13 months before the July 2026 interview
RevenueAbout $3.5K/month: $2.8K MRR + about $700 one-time, 110 active subscriptions (self-reported, Indie Hackers). Sister product PostPeer adds about $2.9K; $6.4K combined
SourceIndie Hackers, July 2026

SocialKit API revenue illustration: data from video, photo and social feeds flowing through a single API pipe into a developer's code editor, with a rising monthly revenue chart

SocialKit sells data from social platforms to developers through an API (a way for one program to request data from another). Its founder, Jonathan Geiger, told Indie Hackers it brings in about $3,500 a month: $2,800 in MRR (monthly recurring revenue) plus about $700 in one-time payments, from 110 active subscriptions.

Together with his second API, PostPeer, he's at $6,400 a month. In July 2026 he left his full-time job to go all in.

He doesn't have a team. His words:

"And Claude is my team, from writing code to (recently) running my social media through my own API." — Jonathan Geiger, via Indie Hackers

One caveat before we go on. He says Claude writes his code, but not which Claude product (chat or Claude Code), or how much of SocialKit is AI-written. He's also an experienced developer. So read "vibe-coded" here as "a developer who lets AI do the typing."

The problem: social data is annoying to get

If you're building an app that needs a YouTube transcript, TikTok comments or a LinkedIn profile, you normally have to manage proxies, parse pages and handle each platform's quirks. The homepage pitches SocialKit as doing that for you.

As of September 2026, it lists 40+ endpoints across YouTube, TikTok, Instagram, Facebook, X, LinkedIn and uploaded video files. The homepage claims 20,000+ developers and makers use it.

Why this market? Jonathan has a clear rule. He only builds where competitors already exist and make money, because no competition usually means no demand. He cites competitors earning $20K–$80K a month as proof the market is real.

How it was built

Jonathan side-hustled for three years while working a full-time dev job. SocialKit is the latest in a line of small "Kit" products. The stack he shared:

  • TypeScript everywhere, with Next.js for the website and Fastify (a fast Node.js server framework) for the APIs.
  • MongoDB as the database.
  • Upstash Redis plus BullMQ for job queues (a list of tasks processed in the background).
  • AWS Lambda for the scraping itself (small functions that run on demand).
  • LemonSqueezy for payments, Resend for email, Gemini/OpenAI for AI features like summaries.

Hosting moved once. He started on Vercel, then moved everything to Railway as API traffic grew, which he says cut costs a lot. He's now considering a VPS (a rented server he manages himself).

He also makes a point about reuse: every product makes the next one cheaper, because the infrastructure carries over.

How it makes money

How SocialKit's credit pricing works: a free tier with 20 credits, monthly plans that buy credit bundles, one credit per API request, and a lower price per 1K credits on bigger plans

SocialKit sells credits. Most API requests cost one credit; longer videos can cost more. As of September 2026 the pricing page shows:

PlanPrice shownCreditsPer 1K credits
Free$020—
Standard$20.30/month12,000$1.69
Growth$27.30/month18,000$1.52
Ultimate$66.50/month50,000$1.33
Business$147/month150,000$0.98

Yearly billing is 30% off (for example, Standard is billed $243.60 a year). Note that $20.30 × 12 = $243.60, so the "/month" prices shown may already be the yearly rate split by month; the true month-to-month price could be higher (unconfirmed). The interview also mentions one-time credit purchases, which explain the roughly $700 a month in non-recurring revenue. Free users get 20 credits with no card required.

Two things I like here. The per-1K price drops as plans grow, so bigger customers are rewarded for upgrading. And the free tier is tiny but real, enough to test an integration and nothing more.

First users: SEO that compounds

The start was slow. SocialKit made $13 MRR in its first month.

What changed it wasn't a launch spike. It was channels that compound (keep paying off over time):

  • SEO. One or two blog posts a week, plus "alternative to" pages and competitor comparisons.
  • Free tools. A free YouTube transcript extractor and similar tools pull in searchers who may later need the API.
  • Repurposed content across YouTube, LinkedIn, Reddit and short videos.
  • Building in public. One post passed 27,000 views.
  • LLM recommendations. Some users now find it through ChatGPT and Perplexity answers.

The groundwork paid off on the next product. PostPeer's first customer arrived one week after a quiet launch, before any real announcement.

What to copy

  • Pick markets with paying competitors. It's validation you don't have to create.
  • Ship small, sell or shelve fast. His earlier Kits had mixed fates: LectureKit sold for $7K, CaptureKit sold for $15K, WaitListKit's only pre-sale was refunded, and NextUpKit was open-sourced.
  • Reuse your stack. Each product starts from the last one's code and infrastructure.
  • Treat support as a moat. He argues fast support is the one thing big competitors can't copy.

If you vibe-code this

A paid API handles API keys, credit balances and user-supplied URLs. Here are checks for this type of app. They are general, not findings about SocialKit.

  1. Store API keys hashed, like passwords. If your database leaks, raw keys shouldn't. See environment variables security.
  2. Deduct credits atomically. Check and subtract in one database operation, or parallel requests can spend the same credit twice.
  3. Rate-limit per key. Stops one customer, or a stolen key, from draining your scraping budget. See API rate limiting.
  4. Validate URLs before fetching them. A scraper that fetches any URL can be pointed at internal addresses. That's SSRF. See SSRF in Next.js.
  5. Verify payment webhooks. See Stripe webhook security; the same rule applies to LemonSqueezy.

Atomic credit deduction in MongoDB:

import { createHash } from "node:crypto";

const sha256 = (s: string) => createHash("sha256").update(s).digest("hex");

const account = await db.collection("accounts").findOneAndUpdate(
  { apiKeyHash: sha256(apiKey), credits: { $gte: cost } },
  { $inc: { credits: -cost } },
  { returnDocument: "after" }
);
if (!account) return new Response("Insufficient credits", { status: 402 });

Running a paid API you built with AI? Email [email protected] for a security audit.

Key takeaway

SocialKit's $3.5K/month (self-reported) came from boring, compounding work: a proven market, credit pricing, weekly SEO and free tools. Claude did much of the typing, but the playbook is the part worth copying.

More case studies: vibe-coded apps making money. Before you launch, read the vibe coding security guide.

Sources