<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: quidkit</title>
    <description>The latest articles on DEV Community by quidkit (@quidkit).</description>
    <link>https://dev.to/quidkit</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4092969%2Fbab5a6ac-58fb-4501-970e-ca3581e48064.jpg</url>
      <title>DEV Community: quidkit</title>
      <link>https://dev.to/quidkit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quidkit"/>
    <language>en</language>
    <item>
      <title>I'm a business student, not a developer. I shipped a working SaaS product with Claude Code.</title>
      <dc:creator>quidkit</dc:creator>
      <pubDate>Mon, 24 Aug 2026 20:56:44 +0000</pubDate>
      <link>https://dev.to/quidkit/im-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with-claude-code-1jgb</link>
      <guid>https://dev.to/quidkit/im-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with-claude-code-1jgb</guid>
      <description>&lt;h1&gt;
  
  
  I'm a business student, not a developer. I shipped a working SaaS product in 10 days with Claude Code.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(Draft for dev.to — edit anything that doesn't sound like you, then publish. Suggested tags: #ai #nextjs #supabase #buildinpublic)&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Ten days ago I couldn't have told you what a webhook was. Last night I&lt;br&gt;
published quidkit — a Next.js + Supabase + Stripe starter kit with&lt;br&gt;
working auth, subscription billing, and documentation — and this&lt;br&gt;
morning I'm writing this from holiday.&lt;/p&gt;

&lt;p&gt;I study business management. I'm not a CS student. I can't really&lt;br&gt;
"code" in the way that word usually means. What I can do, it turns&lt;br&gt;
out, is manage a very fast, very literal developer that lives in my&lt;br&gt;
terminal — and that changed what's buildable for someone like me.&lt;/p&gt;

&lt;p&gt;This is the honest write-up: what I built, how the AI workflow&lt;br&gt;
actually looked, every bug that nearly got me, and what it cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;quidkit is a starter kit for developers building subscription apps.&lt;br&gt;
The pitch: before anyone can pay you monthly for your app idea, you&lt;br&gt;
need the boring foundation — accounts and login, taking payments,&lt;br&gt;
knowing WHO paid, emails that send themselves, security so users&lt;br&gt;
can't see each other's data. That's 2–4 weeks of tedious work that&lt;br&gt;
isn't your idea. quidkit is that foundation, pre-built: clone it,&lt;br&gt;
rename it, build your thing on top.&lt;/p&gt;

&lt;p&gt;Stack: Next.js 16, React 19, Tailwind v4, Supabase (auth + database&lt;br&gt;
with row-level security), Stripe (checkout, customer portal, webhook&lt;br&gt;
sync), Resend (email). Live demo at demo.quidkit.dev — you can sign&lt;br&gt;
up and "pay" with Stripe's test card and watch the whole pipeline&lt;br&gt;
work.&lt;/p&gt;

&lt;p&gt;£29. Because the established kits are £200–£300 and I'm literally&lt;br&gt;
the target market: someone without that kind of money.&lt;/p&gt;

&lt;h2&gt;
  
  
  The actual workflow
&lt;/h2&gt;

&lt;p&gt;People imagine "AI builds your app" as one magic prompt. It's not.&lt;br&gt;
It's closer to being a project manager with one extremely capable,&lt;br&gt;
extremely literal employee:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I wrote specs, not code.&lt;/strong&gt; Every session started with me pasting&lt;br&gt;
a detailed brief into Claude Code — what to build, what NOT to&lt;br&gt;
build, constraints like "never downgrade versions to fix an&lt;br&gt;
issue." The quality of what came back tracked the quality of the&lt;br&gt;
brief almost perfectly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Claude Code wrote essentially all of the code.&lt;/strong&gt; Auth flows,&lt;br&gt;
Stripe webhook handlers, database migrations, the UI. I have&lt;br&gt;
read very little of it. What I did instead was test everything&lt;br&gt;
like a user: sign up, pay, cancel, break it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I did the dashboards.&lt;/strong&gt; AI can't click around Stripe, Supabase,&lt;br&gt;
Vercel, and DNS settings for you (mostly). Honestly? The account&lt;br&gt;
setup and configuration was where most of my time — and ALL of my&lt;br&gt;
suffering — went. Keep that in mind whenever someone says the code&lt;br&gt;
is the hard part.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A second AI kept me honest.&lt;/strong&gt; I ran the plan, the pricing, the&lt;br&gt;
marketing decisions, and every "should I do X" through Claude in a&lt;br&gt;
long-running chat that had context on the whole project. It talked&lt;br&gt;
me out of paid ads, out of fake crossed-out pricing, and out of&lt;br&gt;
several 1am decisions that would have been bad.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bugs that would have got me — and will get you
&lt;/h2&gt;

&lt;p&gt;Every one of these shipped-in-silence bugs got caught only because I&lt;br&gt;
tested the deployed product like a stranger. If you're building with&lt;br&gt;
AI, this list is the value of this article:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Every auth email pointed to localhost in production.&lt;/strong&gt; The code&lt;br&gt;
built URLs from the request's Origin header — which isn't guaranteed&lt;br&gt;
on server actions. Locally: fine. Deployed: every confirmation link,&lt;br&gt;
magic link, and password reset silently pointed at localhost. Fix:&lt;br&gt;
one env var (NEXT_PUBLIC_SITE_URL) as the single source of truth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The .env.example file wasn't in the repo.&lt;/strong&gt; It was gitignored by&lt;br&gt;
the .env* rule and had never been committed. Anyone cloning the kit&lt;br&gt;
would have had no idea what variables to set. The scariest bugs&lt;br&gt;
don't error — they just aren't there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The production webhook endpoint didn't exist.&lt;/strong&gt; Stripe webhooks&lt;br&gt;
worked perfectly on my machine through the CLI listener. Deployed?&lt;br&gt;
My test payment went into the void — paid in Stripe, free plan in&lt;br&gt;
the app — because the CLI listener isn't a production endpoint. You&lt;br&gt;
have to create one in the dashboard, with its own signing secret.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Emails landed in spam, then stopped sending entirely.&lt;/strong&gt;&lt;br&gt;
Supabase's built-in email sender rate-limits at 2–4 emails per hour,&lt;br&gt;
which my testing burned through instantly. Fix: custom SMTP through&lt;br&gt;
Resend, then domain verification so mail comes from your own domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Re-signups fail silently on purpose.&lt;/strong&gt; If a user already exists,&lt;br&gt;
Supabase returns a clean 200 and sends nothing (so attackers can't&lt;br&gt;
probe emails). Great for security, maddening at midnight when you&lt;br&gt;
don't know it.&lt;/p&gt;

&lt;p&gt;None of these are exotic. All of them are invisible until a real&lt;br&gt;
deployment meets a real stranger. AI wrote code that worked; the gap&lt;br&gt;
was everything around the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it cost
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Domain: £8.26&lt;/li&gt;
&lt;li&gt;Everything else: free tiers (Supabase, Vercel, Stripe test mode,
Resend, Gumroad)&lt;/li&gt;
&lt;li&gt;Total: about £17 including odds and ends&lt;/li&gt;
&lt;li&gt;Time: ten days of evenings, maybe 35–45 hours&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sales so far
&lt;/h2&gt;

&lt;p&gt;Zero. I published last night and went on holiday, which I'm told is&lt;br&gt;
not the recommended launch strategy. The realistic plan was never&lt;br&gt;
"launch and get rich" — it's six weeks of showing up: posts like this&lt;br&gt;
one, Reddit, my university's dev society and using the kit to&lt;br&gt;
deliver freelance work faster. I'll write a follow-up with real&lt;br&gt;
numbers either way — including if the number stays zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd tell someone like me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You can ship a real product without being able to code.&lt;/strong&gt; Not a
toy — real auth, real payments, deployed. The ceiling for
non-developers moved and most people haven't noticed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The AI is the easy part. The accounts, config, DNS, and testing
are the job.&lt;/strong&gt; Budget your time accordingly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test deployed, as a stranger, with a fresh account.&lt;/strong&gt; Every bug
above was invisible on localhost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write specs like you're briefing a contractor&lt;/strong&gt; — because you
are.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Have a second AI conversation that holds the whole plan&lt;/strong&gt; and
argue with it before every decision. It's the closest thing to a
cofounder £0 buys.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;quidkit is at quidkit.dev if it's useful to you — £24 with code&lt;br&gt;
LAUNCH24 this week. But honestly, the bigger takeaway is the&lt;br&gt;
workflow: if a business student can ship this in ten days, the thing&lt;br&gt;
you've been putting off is probably buildable.&lt;/p&gt;

&lt;p&gt;Questions welcome — I'll answer everything in the comments (timezone&lt;br&gt;
permitting; there's a pool involved).&lt;/p&gt;

</description>
      <category>ai</category>
      <category>nextjs</category>
      <category>supabase</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
