{"slug": "i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with", "title": "I'm a business student, not a developer. I shipped a working SaaS product with Claude Code.", "summary": "A business management student with no coding background shipped quidkit, a Next.js + Supabase + Stripe starter kit, using Claude Code to write essentially all the code. The developer, who studied business rather than computer science, managed the AI as a 'very literal developer' by writing detailed specs and testing the deployed product like a user, catching critical bugs such as auth emails pointing to localhost in production and a missing production webhook endpoint. The kit is priced at £29, undercutting established kits priced at £200–£300.", "body_md": "*(Draft for dev.to — edit anything that doesn't sound like you, then publish. Suggested tags: #ai #nextjs #supabase #buildinpublic)*\n\nTen days ago I couldn't have told you what a webhook was. Last night I\n\npublished quidkit — a Next.js + Supabase + Stripe starter kit with\n\nworking auth, subscription billing, and documentation — and this\n\nmorning I'm writing this from holiday.\n\nI study business management. I'm not a CS student. I can't really\n\n\"code\" in the way that word usually means. What I can do, it turns\n\nout, is manage a very fast, very literal developer that lives in my\n\nterminal — and that changed what's buildable for someone like me.\n\nThis is the honest write-up: what I built, how the AI workflow\n\nactually looked, every bug that nearly got me, and what it cost.\n\nquidkit is a starter kit for developers building subscription apps.\n\nThe pitch: before anyone can pay you monthly for your app idea, you\n\nneed the boring foundation — accounts and login, taking payments,\n\nknowing WHO paid, emails that send themselves, security so users\n\ncan't see each other's data. That's 2–4 weeks of tedious work that\n\nisn't your idea. quidkit is that foundation, pre-built: clone it,\n\nrename it, build your thing on top.\n\nStack: Next.js 16, React 19, Tailwind v4, Supabase (auth + database\n\nwith row-level security), Stripe (checkout, customer portal, webhook\n\nsync), Resend (email). Live demo at demo.quidkit.dev — you can sign\n\nup and \"pay\" with Stripe's test card and watch the whole pipeline\n\nwork.\n\n£29. Because the established kits are £200–£300 and I'm literally\n\nthe target market: someone without that kind of money.\n\nPeople imagine \"AI builds your app\" as one magic prompt. It's not.\n\nIt's closer to being a project manager with one extremely capable,\n\nextremely literal employee:\n\n**I wrote specs, not code.** Every session started with me pasting\n\na detailed brief into Claude Code — what to build, what NOT to\n\nbuild, constraints like \"never downgrade versions to fix an\n\nissue.\" The quality of what came back tracked the quality of the\n\nbrief almost perfectly.\n\n**Claude Code wrote essentially all of the code.** Auth flows,\n\nStripe webhook handlers, database migrations, the UI. I have\n\nread very little of it. What I did instead was test everything\n\nlike a user: sign up, pay, cancel, break it.\n\n**I did the dashboards.** AI can't click around Stripe, Supabase,\n\nVercel, and DNS settings for you (mostly). Honestly? The account\n\nsetup and configuration was where most of my time — and ALL of my\n\nsuffering — went. Keep that in mind whenever someone says the code\n\nis the hard part.\n\n**A second AI kept me honest.** I ran the plan, the pricing, the\n\nmarketing decisions, and every \"should I do X\" through Claude in a\n\nlong-running chat that had context on the whole project. It talked\n\nme out of paid ads, out of fake crossed-out pricing, and out of\n\nseveral 1am decisions that would have been bad.\n\nEvery one of these shipped-in-silence bugs got caught only because I\n\ntested the deployed product like a stranger. If you're building with\n\nAI, this list is the value of this article:\n\n**1. Every auth email pointed to localhost in production.** The code\n\nbuilt URLs from the request's Origin header — which isn't guaranteed\n\non server actions. Locally: fine. Deployed: every confirmation link,\n\nmagic link, and password reset silently pointed at localhost. Fix:\n\none env var (NEXT_PUBLIC_SITE_URL) as the single source of truth.\n\n**2. The .env.example file wasn't in the repo.** It was gitignored by\n\nthe .env* rule and had never been committed. Anyone cloning the kit\n\nwould have had no idea what variables to set. The scariest bugs\n\ndon't error — they just aren't there.\n\n**3. The production webhook endpoint didn't exist.** Stripe webhooks\n\nworked perfectly on my machine through the CLI listener. Deployed?\n\nMy test payment went into the void — paid in Stripe, free plan in\n\nthe app — because the CLI listener isn't a production endpoint. You\n\nhave to create one in the dashboard, with its own signing secret.\n\n**4. Emails landed in spam, then stopped sending entirely.**\n\nSupabase's built-in email sender rate-limits at 2–4 emails per hour,\n\nwhich my testing burned through instantly. Fix: custom SMTP through\n\nResend, then domain verification so mail comes from your own domain.\n\n**5. Re-signups fail silently on purpose.** If a user already exists,\n\nSupabase returns a clean 200 and sends nothing (so attackers can't\n\nprobe emails). Great for security, maddening at midnight when you\n\ndon't know it.\n\nNone of these are exotic. All of them are invisible until a real\n\ndeployment meets a real stranger. AI wrote code that worked; the gap\n\nwas everything around the code.\n\nZero. I published last night and went on holiday, which I'm told is\n\nnot the recommended launch strategy. The realistic plan was never\n\n\"launch and get rich\" — it's six weeks of showing up: posts like this\n\none, Reddit, my university's dev society and using the kit to\n\ndeliver freelance work faster. I'll write a follow-up with real\n\nnumbers either way — including if the number stays zero.\n\nquidkit is at quidkit.dev if it's useful to you — £24 with code\n\nLAUNCH24 this week. But honestly, the bigger takeaway is the\n\nworkflow: if a business student can ship this in ten days, the thing\n\nyou've been putting off is probably buildable.\n\nQuestions welcome — I'll answer everything in the comments (timezone\n\npermitting; there's a pool involved).", "url": "https://wpnews.pro/news/i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with", "canonical_source": "https://dev.to/quidkit/im-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with-claude-code-1jgb", "published_at": "2026-08-24 20:56:44+00:00", "updated_at": "2026-08-24 21:45:51.962753+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-tools", "developer-tools", "ai-products"], "entities": ["Claude Code", "quidkit", "Next.js", "Supabase", "Stripe", "Resend", "Vercel"], "alternates": {"html": "https://wpnews.pro/news/i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with", "markdown": "https://wpnews.pro/news/i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with.md", "text": "https://wpnews.pro/news/i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with.txt", "jsonld": "https://wpnews.pro/news/i-m-a-business-student-not-a-developer-i-shipped-a-working-saas-product-with.jsonld"}}