SANICE AI Postmortem: Built With Claude in 6 Weeks, \$0 Revenue

October 7, 2026 · 1391 words

TL;DR
What it isA platform that runs your question through several AI models (GPT-4o, Gemini, Grok, Claude) and merges the answers into research reports, chats and alerts
BuilderNon-developer (options trader in New Zealand, never opened a terminal before March 2026)
AI toolClaude (the founder says they built it by talking to Claude; the exact Claude product is not disclosed)
StackFastAPI, Next.js, Supabase, Railway, Vercel, Cloudflare
Time to launch6 weeks
Revenue$0, 0 paying customers, 10 registered users (self-reported, April 2026). Current revenue not disclosed.
SourceIndie Hackers post, April 12, 2026

Vibe coded app no customers illustration: a polished multi-model AI research dashboard launched like a rocket that stalls mid-air over an empty crowd area, with a zero revenue meter

Six weeks. Five AI models, by the founder's count. A 5-stage research pipeline. Five paid plans from $29 to $499 a month. And, when the founder posted about it, zero paying customers.

SANICE AI is not dead. The site is live and the pricing page still takes signups. But the founder's own write-up is one of the most honest "I built it and nobody came" posts of 2026. That makes it a useful postmortem, which here means a look back at what went wrong, while it is still fixable.

The one point of this post: AI made building the easy part, so distribution is now the whole game.

What got built

The founder is an options trader from Christchurch, New Zealand. In their own words, they don't know Python, can't read JavaScript, and had never opened a terminal before March 2026.

Six weeks later they had shipped a real product with three parts:

  • Glass runs a question through a 5-stage pipeline: gather context, search the web, analyze, check quality, then write it up. The output is a 3,000+ word report with citations in under five minutes.
  • Pulse watches prices, news and filings and sends a daily email digest.
  • Collective is a chat window that talks to several models at once.

The site has since added Counsel, a debate feature with 660+ "expert personas."

The build loop was simple. The founder described what they wanted, Claude wrote the code, they deployed it, it broke, and they pasted the error back. They say they repeated that loop around 200 times a day.

Along the way the founder picked up real DevOps (the work of running servers and databases): Supabase row-level security policies, database migrations and proxy settings.

What the founder expected

The pricing page shows the ambition. There is a free plan with 150 lifetime credits, where a credit is the unit you spend per chat or report. Paid plans run Glass Starter $29, Standard $49, Pro $149, Team $299 and Expert $499 a month, plus custom enterprise deals.

A six-tier price ladder is what you build when you expect demand from solo users, teams and power users. The founder had put $10,000 aside and spent about $3,000 by the time of the post.

Running costs were tiny. They reported about $18 a month in AI costs and roughly $0.30 to $0.35 per report. The unit economics, meaning the profit on each sale, were never the problem.

What happened

At the time of the post, SANICE AI had 10 registered users. All ten were friends and family. None paid.

The post also listed the channels that failed. Reddit posts were blocked by spam filters. The Twitter account had zero followers. LinkedIn posts got about 12 views. Most users tried the product once and didn't come back.

The comments on the post split into two camps. Some readers said this was a pure distribution problem. One experienced developer warned that the next phase, scaling and reliability, usually needs a deeper grasp of the code than chatting with an AI gives you.

The founder's next move was an SEO bet: a publishing engine that posts two reports a day so Google has pages to index. There's no public update since April on whether that worked.

The real reason

Why the vibe coded app got no customers: six weeks spent building versus almost no time talking to buyers, compared with a split of three weeks building and three weeks talking to users

The founder named it. Six weeks went into building, and almost none went into talking to the people they hoped would pay. They said they should have spent three weeks building and three weeks talking to users.

I'd add one thing. Their best line was about judgment:

"AI has zero useful opinions on any of these." — SANICE_AI on Indie Hackers

"These" were what to build, what to cut, how to price, and who to build for. The AI built what it was asked, and nobody asked it whether strangers wanted a multi-model research tool. The founder's closing questions say the same thing: who would pay for this, and for what job?

What to do instead

If you are six weeks into your first vibe-coded app, copy these moves:

  1. Name one buyer before you name six tiers. "Options traders who want a second opinion before a trade" is a buyer. "Anyone who does research" is not.
  2. Talk to 10 strangers in week one. Go to the places where people already complain about the problem. A commenter on the post said this had shown the most promise for them.
  3. Launch with one price. You can add tiers once someone has paid you. Six tiers with no buyers just tells you nothing six times.
  4. Turn your product's output into content. One commenter suggested publishing the moments when models disagree. That is content only this product can make.
  5. Split your calendar. Half building, half distribution, starting on day one.

If you vibe-code this

An app that forwards user prompts to several paid AI APIs and bills in credits has a few classic weak spots. These are checks for the app type, not claims about SANICE AI.

  • Keep every model API key on the server. Keys in frontend code or public env vars can be copied and billed to you. See environment variable security.
  • Charge credits on the server, in one atomic step. If the browser tells the server what to deduct, users can edit that request.
  • Lock down the credits table with RLS. Row-level security decides which rows a logged-in user can read or change. Users should never update their own balance. See Supabase RLS for vibe coders.
  • Rate-limit expensive endpoints. One report costs real money, so a script hitting your free tier can drain your budget. See API rate limiting.
  • Treat web search results as untrusted. A pipeline that reads web pages can pick up hidden instructions. See prompt injection.

Here is the atomic credit charge in FastAPI with asyncpg. Charge first, then call the models:

# user.id comes from the verified session token, never from the request body
row = await db.fetchrow(
    """
    update credits
       set balance = balance - $1
     where user_id = $2 and balance >= $1
    returning balance
    """,
    cost, user.id,
)
if row is None:
    raise HTTPException(status_code=402, detail="Not enough credits")
# ...only now call the AI models

The balance >= $1 check and the update happen in one statement, so two fast requests can't both spend the last credits.

Shipped a credit-based AI app and want a second pair of eyes on it? Email me at [email protected] for a security audit.

Key takeaway

A non-coder can now ship a complex multi-model app in six weeks. That is the good news. The bad news is that the six weeks were never the hard part. Find the buyer first, then let the AI build for them.

More case studies: Vibe-coded apps making money · Security basics: Vibe coding security guide

Sources