SuperX Made \$23K/mo: Built with Claude Code (Case Study)

September 29, 2026 · 1239 words

FieldDetail
What it isSuperX: a growth tool for X (Twitter) creators that analyzes viral posts, writes, schedules and tracks content
BuilderRob Hallam (developer: CS degree, former software engineer), partnered with Tibo Louis-Lucas
AI toolClaude Code, listed as the AI-assisted development tool
StackNext.js, Node.js, Tailwind, SQLite, X API, OpenAI and Claude APIs, Stripe, PostHog, Framer, Screen Studio
Time to launchAbout 7 months; launched July 2025
Revenue$23K MRR, ~650 paying customers (Feb 2026) — self-reported to Indie Hackers
Pricing nowPro $49/mo · Advanced $49/mo launch price (regularly $99) · Ultra $199/mo; free trial
SourceIndie Hackers interview

SuperX MRR illustration: a creator's post feed on a laptop turning into a rising monthly recurring revenue chart with subscriber icons

SuperX reported $23K in monthly recurring revenue (MRR, the subscription income that repeats each month) six months after launch. That came from about 650 paying customers at $39 a month, growing 20–25% month over month. The numbers come from a February 2026 Indie Hackers interview with founder Rob Hallam.

It came after five failed products that earned $0 over two and a half years. Hallam lists Claude Code, Anthropic's AI coding agent that works in your terminal, as the AI-assisted development tool in SuperX's stack.

The core point: SuperX was built in public on the same platform it sells into, and the posts were the marketing.

The problem it solves

Growing on X is hard to do on purpose. SuperX helps creators study viral posts and reverse-engineer why they worked. It then helps them write, schedule and track their own posts.

The idea came from Hallam's own results. After his failed products, he posted honestly about them. That post took off, and someone suggested he start a development agency. He announced the agency and landed a $3,000 first client from the same post. He noticed every client came from X.

Around then, Tibo Louis-Lucas had acquired a Chrome extension called SuperX from another maker. It helped people find viral tweets. The two partnered, and Hallam's job was to turn the extension into a full web app. The interview does not detail the ownership split.

How it was built

Hallam is not a beginner. He has a computer science degree and worked as a software engineer. So this is a developer using AI to go faster, not a non-coder vibe coding (building mainly by prompting an AI) from zero.

The build took about seven months before launch. Here is the stack, as listed in the interview:

  • Front end and server: Next.js, Node.js and Tailwind.
  • Database: SQLite, a small file-based database.
  • AI features: OpenAI and Anthropic's Claude APIs.
  • Data: the X API, which lets apps read and post to X.
  • Payments and analytics: Stripe and PostHog.
  • Marketing site and demos: Framer and Screen Studio.
  • Development: Claude Code for AI-assisted development.

The interview does not say how much of the code Claude Code wrote. Treat it as one tool in a developer's workflow.

One choice is worth noticing. SQLite keeps things simple, because there is no separate database server to run or pay for. Many paid SaaS apps start this way and move to a bigger database only when they must.

The biggest cost is not hosting or AI. It is the X API, at about $2,000–3,000 a month. If you build on another company's platform, their price list becomes your cost structure.

How it makes money

SuperX is a monthly subscription. At the time of the interview, users got a 7-day free trial, then paid $39 a month. About 30% of trial users converted to paid.

Pricing has moved up since. The pricing page now lists three tiers:

TierPriceHighlights
Pro$49/mo5 X accounts, 500 posts/month, 750 AI credits
Advanced$49/mo launch price (regularly $99)AI post and thread writer, 1,500 credits, reply tool, viral post library
Ultra$199/mo10 X accounts, 3,000 posts/month, 4,000 credits, priority support

Every tier offers a free trial. Refunds are case by case if you ask within 7 days. The pricing page also claims more than 11,294 creators use SuperX.

Raising prices after traction is a common move. Early buyers get a deal. Later buyers pay for a proven product.

How the first users came

How SuperX got its first users: months of build-in-public posts, video demos on X, a launch day with $1K MRR, then trial-to-paid subscribers

About 95% of growth was organic content on X. Hallam posted about the build for months before launch. On launch day, SuperX added $1K in MRR within 24 hours.

A few details stand out. Video posts got about 10 times the reach of text posts. He followed a loop of hooks, educational demos and results posts. Paid ads cost about $5,000 in total and did little.

In his words: "That's when I realized the content was the distribution."

What to copy

  • Sell where you already have an audience. SuperX sells X growth to X users, marketed on X.
  • Build in public before launch. Months of posts turned into day-one revenue.
  • Use video demos. They out-reached text by a wide margin here.
  • Price with a trial and measure conversion. A 30% trial-to-paid rate tells you the product works.
  • Watch platform costs. An API bill can outgrow your hosting bill fast.

If you vibe-code this

A social-media SaaS holds the keys to users' accounts. Check these:

  1. Encrypt OAuth tokens at rest. An OAuth token lets your app post as the user. If your database leaks, plain tokens mean hijacked accounts.
  2. Ask for the smallest scopes. Only request the permissions you actually use.
  3. Scope every query by the logged-in user. Changing an account ID in a request must not reach someone else's drafts. See IDOR in API routes.
  4. Verify Stripe webhooks. See Stripe webhook security.
  5. Rate-limit AI and API endpoints. Credits and public API keys invite abuse. See API rate limiting and environment variables.

Encrypting a token with AES-256-GCM in Node.js:

import crypto from "crypto";

const key = Buffer.from(process.env.TOKEN_ENC_KEY!, "base64"); // 32 bytes

export function encrypt(text: string) {
  const iv = crypto.randomBytes(12);
  const cipher = crypto.createCipheriv("aes-256-gcm", key, iv);
  const data = Buffer.concat([cipher.update(text, "utf8"), cipher.final()]);
  const tag = cipher.getAuthTag();
  return [iv, tag, data].map((b) => b.toString("base64")).join(".");
}

export function decrypt(payload: string) {
  const [iv, tag, data] = payload.split(".").map((s) => Buffer.from(s, "base64"));
  const decipher = crypto.createDecipheriv("aes-256-gcm", key, iv);
  decipher.setAuthTag(tag);
  return Buffer.concat([decipher.update(data), decipher.final()]).toString("utf8");
}

Building a tool that connects to users' social accounts and want the token handling checked? Email me at [email protected] for a security audit.

Key takeaway

SuperX pairs a developer using Claude Code with months of posting on the platform it serves. The code made it possible. The audience made it pay.

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

Sources