Haris Ullah Khan runs vibe coding on production SaaS by splitting tools: Claude Code (Pro) for architecture decisions and sprint plans, Cursor Pro+ for implementation. On Use Cortana — a multi-tenant Canadian AI SaaS with ad tracking and multi-channel agents — that workflow shipped a modern knowledge-base / agent memory onboarding UI. Watch the demo: https://www.loom.com/share/8203c8c615884fc481b8500d992b119b.
Founders keep asking for help setting up a vibe coding environment so they can ship a SaaS faster. Fair request — and easy to get wrong.
Vibe coding is not “the model builds my product while I watch.” On a real multi-tenant codebase it is a discipline: which model plans, which IDE implements, what a sprint looks like, and how you review what lands in production.
Here is the workflow I use day to day on Use Cortana, with a short Loom you can watch end to end.
Watch the demo
The product context (Use Cortana)
Use Cortana is a Canadian multi-tenant AI SaaS. If you know GoHighLevel, the tenancy idea will feel familiar: subscribe, white-label-style branding, connect your own Stripe / checkout, and put your logo in front of your customers instead of only using the generic product skin.
Two pillars:
- Ad / revenue tracking — keep ads, sites, and social attribution coherent (a practical, productized take on that problem space)
- AI agents — configure agents for voice, SMS, email, WhatsApp, web, and more — support, help desk, or sales follow-up
I work on the agent side of that platform — studio UI, knowledge, tools, channels. Full product write-up: Use Cortana agent studio case study. Deeper product Looms: Part 1 · Part 2.
My vibe coding stack
| Tool | Plan (as used) | Job |
|---|---|---|
| Claude Code | Pro (~$20) | Architecture debates, shape the app against user needs, design sprint plans |
| Cursor | Pro+ | Implementation partner — write, refactor, and land the sprint in the repo |
Why the split
Claude is excellent at going back and forth on how the system should be shaped. Burn its context on that — not on every JSX tweak.
Cursor is where I execute those plans against a real Next.js / TypeScript / Python codebase with the files open, diffs reviewable, and the product running.
If you have burned a Claude session on token limits and still have nothing mergeable, you have felt the failure mode this split avoids: one tool trying to be both architect and assembly line.
In practice:
- Claude drafts or refines a sprint plan (scope, files, acceptance checks)
- I implement that sprint in Cursor
- I review, run the app, and only then call the feature done
The Loom shows those sprint plans on screen and the feature that came out of them.
Example ship: agent knowledge / memory layer
Agents only work if they understand your business — hours, products, guardrails, tone.
Previously the knowledge UI was a standard accordion — fine, not great for onboarding.
We revamped it into a modern, minimal flow:
- Company details
- Contact details
- Generic Q&A the agent should know
- Explicit “never do this” rules
Once configured, agents use that material in calls and conversations — the same memory discipline as RAG in production, exposed as an operator-friendly UI.
That is vibe coding done right: AI-assisted velocity on a product surface users actually configure, not a throwaway demo screen.
Who this is for
Hire this workflow help if you:
- Want a SaaS (especially multi-tenant / white-label-style) and need an AI-assisted delivery setup that does not collapse into spaghetti
- Already tried “one chat window” vibe coding and hit quality or token walls
- Need someone who has shipped this pattern on a live multi-tenant agent platform, not only toy apps
I work remotely with teams in the US, UK, Japan, MENA, and elsewhere — same async + overlap pattern as the rest of my practice.
Related work
Common questions
What is vibe coding for SaaS?
Vibe coding means using AI coding tools as a high-bandwidth pair programmer while you still own architecture, product decisions, and review. For SaaS, that usually means structured sprints, a real codebase, and a split between planning models and implementation IDEs — not pasting a JD into a chat and hoping for a production app.
How does Haris Ullah Khan use Claude and Cursor together?
Claude Code (Pro plan) is used for architectural back-and-forth and designing sprint plans. Cursor Pro+ is the implementation environment where those sprints get coded, reviewed, and merged into the production SaaS. That split reduces token burn on Claude for low-level edits and keeps Cursor focused on shipping.
What product is shown in the vibe coding Loom?
Use Cortana (usecortana.ai) — a Canadian multi-tenant AI SaaS with ad/revenue tracking and AI agents across voice, SMS, email, WhatsApp, and web. The demo covers white-label-style tenancy (similar in spirit to GoHighLevel) and a knowledge-base onboarding revamp for agent memory. Loom: https://www.loom.com/share/8203c8c615884fc481b8500d992b119b.
What feature was vibe-coded in the example?
The agent knowledge / memory layer — previously a standard accordion knowledge base, revamped into a modern minimal onboarding flow: company details, contact info, guardrail questions (what the AI should never do), and content agents use in calls and chats.
Can you set up a vibe coding environment for my SaaS?
Yes. Haris Ullah Khan (https://harisullahkhan.me) helps founders set up Claude + Cursor workflows, sprint templates, and production delivery on Next.js/Python stacks. Book at https://harisullahkhan.me/hire-full-stack-ai-developer or https://harisullahkhan.me/#contact.