SocialKit Makes \$3.5K/mo: Vibe-Coded with Claude (Case Study)
October 7, 2026 · 1266 words
| Fact | Value |
|---|---|
| What it is | API that returns transcripts, summaries, comments and stats from YouTube, TikTok, Instagram, Facebook, X and LinkedIn |
| Builder | Developer: Jonathan Geiger, almost five years at a small startup before going solo |
| AI tool | Claude (writes his code; which Claude product isn't specified) |
| Stack | TypeScript, Next.js, Fastify, MongoDB, Upstash Redis, BullMQ, AWS Lambda, LemonSqueezy, Resend, Gemini/OpenAI, Railway |
| Time to launch | Not disclosed; launched about 13 months before the July 2026 interview |
| Revenue | About $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 |
| Source | Indie Hackers, July 2026 |

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

SocialKit sells credits. Most API requests cost one credit; longer videos can cost more. As of September 2026 the pricing page shows:
| Plan | Price shown | Credits | Per 1K credits |
|---|---|---|---|
| Free | $0 | 20 | — |
| Standard | $20.30/month | 12,000 | $1.69 |
| Growth | $27.30/month | 18,000 | $1.52 |
| Ultimate | $66.50/month | 50,000 | $1.33 |
| Business | $147/month | 150,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.
- Store API keys hashed, like passwords. If your database leaks, raw keys shouldn't. See environment variables security.
- Deduct credits atomically. Check and subtract in one database operation, or parallel requests can spend the same credit twice.
- Rate-limit per key. Stops one customer, or a stolen key, from draining your scraping budget. See API rate limiting.
- 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.
- 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
- Indie Hackers interview: https://www.indiehackers.com/post/tech/side-hustling-for-three-years-before-going-all-in-and-hitting-6-4k-mrr-5kZRj2Lln7jO7nVVoYFP
- SocialKit homepage: https://socialkit.dev/
- SocialKit pricing: https://www.socialkit.dev/pricing